Skip to main content
Glama

🏛️ 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.

  • 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.


Related MCP server: Councly MCP Server

📦 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

Set any required environment variables for cloud models:

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.

route_prompt

Routes prompt to a specific expert model or auto-detects based on keyword triggers ("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.


📋 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).

  • Memory Retrieval: Use search_obsidian_memory to fetch compact past note snippets so models with smaller context windows stay informed without context overflow!


🔧 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!

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Build, validate, and deploy multi-agent AI solutions from any AI environment.

  • Enterprise AI Control Plane: governance, guardrails, spend tracking, compliance & smart routing.

  • Deliberation + live 5-model council divergence over the Omnarai multi-AI attributed corpus.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hardc0l2e/roundtable-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server