Roundtable MCP
Enables role-based, multi-model AI orchestration by assigning specialized expert roles to a hybrid panel of local and cloud LLMs, generating unified advisory council reports for complex tasks.
README
🏛️ Roundtable MCP (roundtable-mcp)
Role-Based Hybrid Multi-Model Orchestration MCP Server
roundtable-mcp is an open-source Model Context Protocol (MCP) server that orchestrates a panel of specialized AI models—combining local zero-cost models (via Ollama) with cloud APIs (Anthropic Claude, Google Gemini, OpenAI, DeepSeek, etc.).
Instead of voting on generic answers, Roundtable assigns distinct expert roles to each model (Architect, Implementation Engineer, Narrative Specialist, Systems Refactoring Expert, Deep Reasoning Specialist) and synthesizes their insights into unified advisory council reports.
✨ Key Features
- Role-Based Panel: Each model acts from a designated domain perspective rather than providing generic duplicate responses.
- Instant Model Onboarding: Onboard new models to ongoing tasks by querying targeted past note snippets (~400 tokens) from Obsidian memory instead of wasting 50,000+ tokens re-explaining conversation history.
- Hybrid Execution: Seamlessly mix local models (Ollama Gemma 4, Qwen Coder, Llama 3) with cloud APIs (Claude 3.7/4.6, Gemini 3.5, DeepSeek R1, GPT-4o).
- Parallel Fan-Out:
run_roundtablequeries all active panel models in parallel usingPromise.allSettled()for fast execution and high fault tolerance. - Config-Driven: Add or tweak models anytime by editing
config.jsonwithout modifying code. - Cross-Platform MCP: Native compatibility with Claude Code, Cursor, Windsurf, Antigravity, OpenCode, and VS Code.
📦 Quickstart
1. Installation
git clone https://github.com/YOUR_USERNAME/roundtable-mcp.git
cd roundtable-mcp
npm install
npm run build
2. Configuration
Copy config.example.json to config.json:
cp config.example.json config.json
API Key Options:
-
No API Keys Needed (100% Free Local Setup):
- If using local Ollama models (
provider: "ollama"), no keys or environment variables are required.
- If using local Ollama models (
-
Direct in
config.json:- You can put keys directly inside
config.jsonusing"api_key": "sk-...".
- You can put keys directly inside
-
Via Environment Variables:
- Or reference environment variables using
"api_key_env": "ANTHROPIC_API_KEY".
- Or reference environment variables using
export ANTHROPIC_API_KEY="sk-ant-..."
export DEEPSEEK_API_KEY="sk-..."
export OPENAI_API_KEY="sk-..."
export GEMINI_API_KEY="AIzaSy..."
🛠️ MCP Tool Reference
| Tool Name | Description |
|---|---|
run_roundtable |
Runs a prompt across all enabled Roundtable experts in parallel and outputs a structured Advisory Council Report. Auto-logs to Obsidian if enabled. |
run_cascade |
Runs a sequential relay pipeline across expert models where each step builds upon the output of preceding steps (e.g. Developer -> QA -> CI/CD). |
route_prompt |
Routes prompt to a specific expert model or auto-detects based on keyword triggers ("gemini", "gemma", "claude", "deepseek", "gpt"). |
list_roundtable_models |
Lists all registered expert models, their roles, and current provider status. |
list_preset_roles |
Lists built-in preset roles (QA Tester, CI/CD Engineer, Security Auditor, Database Architect, etc.). |
search_obsidian_memory |
Searches past Roundtable session notes in your Obsidian Vault for relevant context snippets. |
save_to_obsidian |
Manually or automatically logs custom notes & sessions directly into your Obsidian Vault. |
roundtable_help |
Displays an instant Quickstart Cheatsheet, command list, role catalog, and setup tips directly in chat. |
⚡ Workflow Capabilities: Simultaneous & Cascading Workflows
1. 🔄 Simultaneous Multi-Tasking (Parallel)
You can designate distinct tasks to each expert role simultaneously in a single prompt:
"Architect: Design the schema. Coder: Write the GDScript implementation. QA: List edge-case test scenarios."
run_roundtable fans out the prompt to all assigned models concurrently, synthesizing their outputs in parallel.
2. 🌊 Cascading Sequential Relays (run_cascade)
In a cascading workflow, model tasks execute in sequential order where each role receives the prompt plus the cumulative outputs of all preceding roles:
- Step 1 (Developer): Delivers initial code implementation.
- Step 2 (QA Specialist): Evaluates Step 1's code and writes unit test suites against it.
- Step 3 (CI/CD Engineer): Receives both the code and test suites to construct automated GitHub Actions pipelines.
# Example pipeline sequence
run_cascade(prompt: "Build an auth microservice", pipeline: ["architect", "qa_tester", "cicd_engineer"])
📋 Pre-Built Role Catalog (role_preset)
Instead of writing custom role descriptions, you can use built-in preset keys in config.json via "role_preset":
qa_tester: QA & Edge-Case Testing Specialistcicd_engineer: DevOps & CI/CD Pipeline Specialistsecurity_auditor: Cybersecurity & Vulnerability Auditordatabase_architect: Database Architect & Query Optimizerarchitect: Lead Systems Architect & Orchestratorperformance_tuner: Low-Level Performance & Refactoring Specialistfrontend_ux: Frontend & UI/UX Accessibility Specialistgame_engineer: Game Engine & Mechanics Specialisttech_writer: Technical Documentation & API Writer
{
"id": "claude-qa",
"name": "Claude Sonnet 4.6",
"role_preset": "qa_tester",
"provider": "anthropic",
"model": "claude-3-7-sonnet-20250219",
"enabled": true
}
🎯 Assigning Specialized Skills to Models (skill)
Yes! You can assign specific domain skill guidelines, coding standards, or checklists to each model based on its role.
Use the "skill" (or "skill_prompt") property in config.json to inject customized instructions into that specific model's system prompt:
{
"id": "gemma-godot",
"name": "Gemma 4 (Local)",
"role": "GDScript Implementation Specialist",
"skill": "Follow Godot 4 GDScript standards: strict static typing, signal decoupling, and node path verification.",
"provider": "ollama",
"endpoint": "http://localhost:11434/api/generate",
"model": "gemma4-26b-128k:latest",
"enabled": true
}
📓 Obsidian Vault Integration (Long-Term Memory)
roundtable-mcp connects directly to your local Obsidian Vault to automatically log session notes and provide persistent memory across sessions—even for local models with smaller context windows!
Configuration in config.json:
{
"obsidian": {
"enabled": true,
"vault_path": "C:/Users/yourname/Documents/ObsidianVault",
"folder": "Roundtable/Sessions",
"auto_save": true,
"max_context_notes": 3
}
}
- Auto-Log Sessions: Every
run_roundtablesession is formatted as a clean Markdown note complete with metadata, date, and tags (#roundtable #council #gemma #claude). - Instant Model Onboarding: When introducing a new model or starting a new session, use
search_obsidian_memoryto fetch compact past note snippets (~400 tokens), onboarding the new expert instantly without spending 50,000+ tokens re-explaining chat history! - Memory Retrieval: Keeps models with smaller context windows (e.g. 8k/16k local Ollama models) informed without context overflow or performance degradation.
🌐 Platform & Subscription Compatibility Guide
roundtable-mcp connects to models across different environments and subscriptions:
| Platform / Tool | Native Subscriptions | Cross-Provider API Keys | Local Ollama |
|---|---|---|---|
| Google Antigravity | Gemini, Claude, GPT-OSS (Built-in) | ❌ Not needed inside Antigravity | ✅ Via Ollama MCP |
| Claude Code CLI | Claude (Covered by plan) | 🔑 Requires API keys or free GitHub/AI Studio tokens for GPT-4o / Gemini | ✅ Free via roundtable-mcp |
| OpenAI Codex CLI | GPT-4o (Covered by plan) | 🔑 Requires API keys or free AI Studio tokens for Claude / Gemini | ✅ Free via roundtable-mcp |
| Cursor / Windsurf | Claude, GPT-4o, Gemini (Bundled) | 🔑 Optional for custom endpoints | ✅ Free via roundtable-mcp |
- Single-Provider CLI Tools (Claude Code / Codex): Your subscription covers the primary model (Claude or GPT). To query third-party models, configure keys in
config.json(or use 100% free options like GitHub ModelsGITHUB_TOKEN, Google AI StudioGEMINI_API_KEY, or local Ollama). - Multi-Model Native Agents (Antigravity): Gemini, Claude, and GPT-OSS are provided directly by the platform without separate API keys.
🔧 Integrating with AI Coding Platforms
Claude Code / Claude Desktop / Antigravity / OpenCode
Add roundtable-mcp to your MCP configuration file (mcpServers section):
{
"mcpServers": {
"roundtable": {
"command": "node",
"args": ["/path/to/roundtable-mcp/dist/index.js"],
"env": {
"ANTHROPIC_API_KEY": "sk-ant-...",
"DEEPSEEK_API_KEY": "sk-...",
"OPENAI_API_KEY": "sk-...",
"GEMINI_API_KEY": "AIzaSy..."
}
}
}
}
⚙️ Adding New Models to config.json
You can add any OpenAI-compatible provider (DeepSeek, Groq, Together AI, Mistral, LM Studio, vLLM) easily:
{
"id": "qwen-coder-local",
"name": "Qwen 2.5 Coder (Local)",
"role": "Low-Level Shader & GPU Optimization Specialist",
"provider": "ollama",
"endpoint": "http://localhost:11434/api/generate",
"model": "qwen2.5-coder:32b",
"enabled": true
}
💡 100% Free Multi-Model Stack Example
You can run a complete, multi-model Roundtable setup entirely for free by combining local Ollama models with free cloud API tiers (GitHub Models, Google AI Studio, Groq):
{
"models": [
{
"id": "gpt4o-free",
"name": "GPT-4o (GitHub Free)",
"role": "Systems Performance & Refactoring Specialist",
"provider": "openai-compatible",
"endpoint": "https://models.github.ai/inference/chat/completions",
"model": "gpt-4o",
"api_key_env": "GITHUB_TOKEN",
"enabled": true
},
{
"id": "gemini-free",
"name": "Gemini 2.5 Flash (Google Free)",
"role": "Lead Architect & Synthesizer",
"provider": "google",
"model": "gemini-2.5-flash",
"api_key_env": "GEMINI_API_KEY",
"enabled": true
},
{
"id": "gemma-local",
"name": "Gemma 4 (Local Ollama)",
"role": "Primary Implementation Engineer",
"provider": "ollama",
"endpoint": "http://localhost:11434/api/generate",
"model": "gemma4-26b-128k:latest",
"enabled": true
},
{
"id": "deepseek-free",
"name": "DeepSeek R1 (Groq Free)",
"role": "Deep Reasoning & Math Specialist",
"provider": "openai-compatible",
"endpoint": "https://api.groq.com/openai/v1/chat/completions",
"model": "deepseek-r1-distill-llama-70b",
"api_key_env": "GROQ_API_KEY",
"enabled": true
}
]
}
📄 License
MIT License. Feel free to use, modify, and distribute!
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。