Roundtable MCP

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.

Category
访问服务器

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_roundtable queries all active panel models in parallel using Promise.allSettled() for fast execution and high fault tolerance.
  • Config-Driven: Add or tweak models anytime by editing config.json without 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:

  1. No API Keys Needed (100% Free Local Setup):

    • If using local Ollama models (provider: "ollama"), no keys or environment variables are required.
  2. Direct in config.json:

    • You can put keys directly inside config.json using "api_key": "sk-...".
  3. Via Environment Variables:

    • Or reference environment variables using "api_key_env": "ANTHROPIC_API_KEY".
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:

  1. Step 1 (Developer): Delivers initial code implementation.
  2. Step 2 (QA Specialist): Evaluates Step 1's code and writes unit test suites against it.
  3. 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 Specialist
  • cicd_engineer: DevOps & CI/CD Pipeline Specialist
  • security_auditor: Cybersecurity & Vulnerability Auditor
  • database_architect: Database Architect & Query Optimizer
  • architect: Lead Systems Architect & Orchestrator
  • performance_tuner: Low-Level Performance & Refactoring Specialist
  • frontend_ux: Frontend & UI/UX Accessibility Specialist
  • game_engineer: Game Engine & Mechanics Specialist
  • tech_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_roundtable session 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_memory to 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 Models GITHUB_TOKEN, Google AI Studio GEMINI_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

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选