Roundtable MCP
Roundtable MCP is a role-based multi-model orchestration server that runs AI expert councils, cascades tasks across roles, routes prompts, and persists/searchable memory in Obsidian.
Parallel expert councils: Run a prompt across multiple specialized AI models simultaneously and get a synthesized report (
run_roundtable).Selective model participation: Optionally filter which models join a roundtable by model ID.
Single-model routing: Send a prompt to one specific expert model or role (
route_prompt).Model & role discovery: List registered expert models (
list_roundtable_models) and available preset roles like qa_tester, cicd_engineer, security_auditor (list_preset_roles).Obsidian memory search: Search past session notes in the configured Obsidian vault for relevant context (
search_obsidian_memory).Save notes to Obsidian: Write session summaries or custom markdown notes directly into the vault (
save_to_obsidian).Automatic session persistence: Roundtable sessions can auto-log and save to Obsidian when configured.
Allows the use of GitHub's free model hosting (GitHub Models) to access GPT-4o as an expert model in the Roundtable panel.
Allows the use of Google Gemini models (Gemini 2.5 Flash, Gemini 3.5) as expert models in the Roundtable panel for role-based advisory reports.
Provides integration with an Obsidian Vault for automatically logging session notes, searching past roundtable notes, and providing persistent long-term memory across sessions.
Allows the use of locally hosted Ollama models (Gemma 4, Qwen Coder, Llama 3) as expert models in the Roundtable panel for role-based advisory reports.
Allows the use of OpenAI models (GPT-4o) as expert models in the Roundtable panel for role-based advisory reports.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Roundtable MCPRun a roundtable on refactoring our authentication module with architect, security, and QA roles"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Roundtable MCP
Role-Based Multi-Model Orchestration Server โ Turn multiple AI models into a coordinated expert council.
๐๏ธ What is Roundtable?
Roundtable MCP is a Model Context Protocol (MCP) server designed for role-based multi-model council orchestration.
Instead of asking several models the same question and voting on their answers, Roundtable assigns each model a specialized role, equips them with custom skill guidelines, runs them across a 3-tier priority execution pipeline (Antigravity CLI, Local Ollama, Cloud APIs), and synthesizes their findings into unified reports automatically persisted to your Obsidian Vault.
โโโ Architect (Gemini 3.7 Flash) โโโโโ
โโโ Developer (Gemma 4 Local GPU) โโโโค
Prompt โโโโโโโโโโโผโโ QA Tester (Claude Sonnet 4.6) โโโโผโโ> Synthesis Report
โโโ DevOps (GPT-OSS 120B) โโโโโโโโโโโโ
PARALLEL ROUNDTABLERelated MCP server: Councly MCP Server
๐ก Key Capabilities
๐ฅ Parallel Expert Panels (
roundtable_start): Execute multiple specialized LLMs (Gemini, Claude, Gemma, GPT-OSS) simultaneously for multi-dimensional problem solving.โก Host Delegation & Exclusion: Automatically skips spawning redundant background CLI/API subprocesses for the active host model, delegating lead synthesis directly to the live session.
๐ Sequential Cascade Relays (
roundtable_cascade): Pipeline tasks across multi-stage handoffs (Architect$\rightarrow$Developer$\rightarrow$QA$\rightarrow$DevOps).๐ก๏ธ 3-Tier Execution Pipeline: Prioritizes zero-config Antigravity CLI (leveraging your subscription Google OAuth), falls back to Local Ollama GPU, and routes to direct Cloud APIs when needed.
๐ฏ Dynamic Roles & Skills Engine (
roundtable_roles,roundtable_assign_role): Assign models distinct roles (ROLES.md) with dynamic.skillandSKILL.mdrules.๐ Persistent Obsidian Memory & Graph Hubs (
roundtable_save,roundtable_search): Automatically log sessions, search past memories, and ingest documents/folders with 30-minute auto-save throttling and automatic Graph View clustering.๐ Honest Execution (Zero Faked Personas): No single-model roleplay simulations. If a model is offline or out of quota, Roundtable honestly reports the connectivity diagnostic.
๐ ๏ธ Official Tools Catalog
Official Tool Name | Mode / Category | Description |
| ๐ฅ Parallel Council | Starts a multi-model council advisory discussion across registered expert models. |
| ๐ Sequential Relay | Runs multi-stage sequential relay ( |
| ๐ฏ Single Router | Routes a specialized prompt to a single target model or role. |
| ๐ Project Roles | Displays active project model roles, aliases, and |
| โ๏ธ Assign Role | Dynamically assigns a custom role to a model & persists in |
| ๐ง Assign Skill | Associates a |
| ๐๏ธ List Experts | Lists all registered expert models, their roles, and provider status. |
| ๐ Preset Catalog | Lists all built-in expert roles ( |
| ๐ Vault Search | Searches past session notes in Obsidian memory. |
| โ๏ธ Save Vault Note | Saves custom notes or ingests files/folders into your Obsidian Vault. |
| ๐ Read Vault Note | Reads full markdown content of an Obsidian note. |
| โ Help & Cheatsheet | Displays the complete quickstart cheatsheet directly in chat. |
๐ Quick Start
1. Clone & Build
git clone https://github.com/hardc0l2e/roundtable-mcp.git
cd roundtable-mcp
npm install
npm run build2. Configure Models (config.json)
{
"models": [
{
"id": "gemini-flash",
"name": "Gemini 3.7 Flash (Antigravity)",
"role_preset": "architect",
"aliases": ["gemini", "flash", "lead", "architect"],
"provider": "antigravity-cli",
"model": "gemini-3.7-flash-medium",
"enabled": true
},
{
"id": "claude-sonnet",
"name": "Claude Sonnet 4.6 (Antigravity)",
"role_preset": "qa_tester",
"aliases": ["claude", "sonnet", "qa"],
"provider": "antigravity-cli",
"model": "claude-sonnet-4-6",
"enabled": true
},
{
"id": "gpt-oss",
"name": "GPT-OSS 120B (Antigravity)",
"role_preset": "cicd_engineer",
"aliases": ["gpt", "gpt-oss", "devops"],
"provider": "antigravity-cli",
"model": "gpt-oss-120b-medium",
"enabled": true
},
{
"id": "gemma-local",
"name": "Gemma4 26B 128k (Local GPU)",
"role": "Primary Implementation Engineer",
"aliases": ["gemma", "gemma4", "local", "coder"],
"provider": "ollama",
"endpoint": "http://localhost:11434/api/generate",
"model": "gemma4-26b-128k:latest",
"enabled": true
}
],
"obsidian": {
"enabled": true,
"vault_path": "C:/Users/username/Documents/Obsidian Vault",
"folder": "roundtable-mcp/Sessions",
"auto_save": true
}
}For detailed provider settings and environment variables, see docs/configuration.md.
๐๏ธ Architecture & Execution Pipeline
Roundtable MCP resolves every model query through a resilient 3-tier priority execution pipeline:
flowchart TD
Client["MCP Client Host (OpenCode / Antigravity / Codex)"] -->|"JSON-RPC (STDIO)"| Server["Roundtable Server (dist/index.js)"]
subgraph CoreManagers["Core Managers"]
Server --> Roles["RolesManager (ROLES.md Override)"]
Server --> Skills["SkillResolver (.skill / SKILL.md)"]
Server --> Obsidian["ObsidianManager (Vault Search & Ingestion)"]
end
Roles --> Pipeline["Provider Routing Engine"]
Skills --> Pipeline
Obsidian --> Pipeline
subgraph ExecutionPipeline["Execution Pipeline"]
Pipeline --> Tier1["Tier 1: agy.exe (Google OAuth)"]
Tier1 -.-> Gemini["Gemini / Claude / GPT-OSS"]
Pipeline --> Tier2["Tier 2: Local GPU (llama.cpp / Ollama)"]
Tier2 -.-> Gemma["Qwen / Gemma 4 / GPT-OSS"]
Pipeline --> Tier3["Tier 3: Cloud APIs (OpenCode Zen / OpenRouter / Direct)"]
Tier3 -.-> OpenRouter["Direct REST API Providers"]
end
Tier1 --> ErrorCheck["Fault Isolation & Root Cause Extraction"]
Tier2 --> ErrorCheck
Tier3 --> ErrorCheck
ErrorCheck --> Output["Council Synthesis & Obsidian Vault Auto-Save"]๐ Client Integration Setup
OpenCode (~/.config/opencode/opencode.jsonc)
{
"mcp": {
"roundtable": {
"type": "local",
"command": [
"node",
"C:\\projects\\roundtable-mcp\\dist\\index.js",
"--config",
"C:\\projects\\roundtable-mcp\\config.json"
]
}
}
}Google Antigravity (~/.gemini/config/mcp_config.json)
{
"mcpServers": {
"roundtable-mcp": {
"command": "node",
"args": ["c:/projects/roundtable-mcp/dist/index.js"],
"env": {
"ROUNDTABLE_CONFIG_PATH": "c:/projects/roundtable-mcp/config.json"
}
}
}
}๐ก Practical Examples
Run a Parallel Council Discussion:
roundtable_start(prompt: "Design high-concurrency authentication microservice for 1M DAU")Run a Multi-Stage Feature Cascade:
roundtable_cascade(prompt: "Build JWT Authentication Endpoint", pipeline: ["architect", "coder", "qa_tester", "cicd_engineer"])Ingest Documentation to Obsidian Graph Hub:
roundtable_save(source_path: "docs/architecture.md", target_folder: "roundtable-mcp", target_base: "ROUNDTABLE MCP", tags: ["architecture", "roundtable"])Search Past Decision Memory:
roundtable_search(query: "circuit breakers")
๐ License
This project is licensed under the MIT License.
Available Tools
6 toolslist_preset_rolesA
Lists all pre-built preset roles available to assign in Roundtable (e.g., qa_tester, cicd_engineer, security_auditor).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It states the tool lists *all* pre-built roles, which indicates a complete, unfiltered read operation, and adds examples to clarify what types of roles are included. However, it does not mention the return format or any potential for empty results, which would be even more transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the action and resource with helpful examples. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description covers the essential purpose and gives concrete examples. It could mention whether the list is exhaustive or just a subset, but 'all' addresses that. It lacks explicit return format details, but that is not critical for such a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, so the baseline is 4. The description provides contextual value by giving examples of valid role names, which helps the agent understand what to expect. No parameter details are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Lists' and clearly identifies the resource as 'all pre-built preset roles available to assign in Roundtable'. It includes concrete examples, which distinguishes it from sibling tools like list_roundtable_models.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is used when you need to see available preset roles, but it does not explicitly state when to use it over alternatives or provide exclusions. The sibling tool list_roundtable_models exists for models, not roles, but the description does not make this differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_roundtable_modelsA
Lists all registered expert models and their roles on the Roundtable.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It correctly identifies the tool as read-only ('lists'), which implies no destructive side effects. However, it does not state whether results are cached, require authentication, or reflect real-time changes. A 3 is appropriate as it meets the minimum for a safe read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 10 words, concise and front-loaded with the verb 'lists.' Every word earns its place, and there is no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, no annotations, and no output schema, the description is reasonably complete for a simple listing operation. It explains what is listed (models and roles). A missing piece is whether the list is of all available models or only those currently activated, but 4 is fair given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0 parameters with 100% coverage, so the baseline is 3. The description adds value beyond the schema by specifying that the output includes not just model names but also 'their roles,' giving context about what each model does. This justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'lists' and specifies the resource ('all registered expert models and their roles on the Roundtable'), providing a clear and specific purpose. It distinguishes itself from siblings like 'run_roundtable' and 'route_prompt' by focusing on listing models, not executing or routing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'list_preset_roles' (which likely lists roles rather than model-role mappings). There is no mention of prerequisites, such as whether the Roundtable must be initialized first, or when listing models is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
route_promptA
Routes prompt to a single specific expert model or auto-detects target based on prompt triggers.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| target_model_id | No | ID of the target model (e.g., 'gemma-local', 'claude-sonnet', 'deepseek-r1'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It only states the core action and auto-detection, but omits details like what happens when both parameters are provided, error handling, authentication requirements, or how auto-detection triggers work.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence of 16 words that conveys the essential function without any redundancy. Every word is necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description covers the basic purpose but leaves gaps around auto-detection behavior, error scenarios, and parameter interaction. It is minimally adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (prompt missing description). The description adds context that 'prompt' is the input to be routed, which is helpful but does not specify format or constraints. For 'target_model_id', the schema already provides a clear description with examples, so the description adds no extra value. Baseline 3 is appropriate given borderline coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('routes prompt') and resource ('specific expert model'), distinguishing it from siblings like 'run_roundtable' which likely sends to multiple models. The mention of 'auto-detects' further clarifies the tool's dual mode.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly suggests when to use this tool (single model routing vs. auto-detection) but does not explicitly contrast with alternatives like 'run_roundtable' or state when not to use it. No exclusions or prerequisites are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_roundtableA
Executes a prompt across the Roundtable of expert models in parallel and synthesizes a role-based council report. Automatically logs session notes to Obsidian vault if configured.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | The task or question to submit to the Roundtable panel. | |
| include_models | No | Optional filter: array of model IDs to include (e.g. ['gemma-local', 'claude-sonnet']). Omit to run all enabled models. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full transparency burden. It discloses the parallel execution and automatic logging side-effect, but does not cover failure modes, required permissions, rate limits, or whether the tool modifies any state. The logging behavior is useful but partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The main action is front-loaded and the optional side-effect is stated clearly. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should explain return values more clearly. While it states the output is a 'role-based council report', it does not specify format, structure, or how the agent can use it. The description is adequate but leaves ambiguity about the result, which is important for a tool that produces synthesized output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers both parameters (prompt and include_models) with descriptions, achieving 100% schema description coverage. The tool description itself adds no additional meaning for either parameter beyond what the schema already provides. Baseline 3 is appropriate as no extra semantic value is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool executes a prompt across multiple expert models in parallel and synthesizes a role-based report, with an optional side-effect of logging to Obsidian. This is a specific verb+resource combination that distinguishes it from siblings like route_prompt (single model) or list_roundtable_models (listing only).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for parallel multi-model queries and mentions automatic logging, but it does not explicitly state when to use this tool versus route_prompt or other alternatives. There are no exclusion criteria or prerequisites, though the context of sibling tools provides indirect guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_to_obsidianB
Saves a session summary or custom markdown note directly into the configured Obsidian Vault.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title of the note. | |
| content | Yes | Markdown content to save. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose all behavioral traits. It does not mention that this tool is a write operation (could overwrite existing files), schema constraints (e.g., content size limits, character limits), or whether it requires specific configuration or authentication. This leaves the agent with critical unknowns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that front-loads the key action and resource. It is concise with no wasted words, though it could benefit from minor behavioral disclosure without losing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (2 params, no nested objects, no enums, no output schema) and lack of annotations, the description should be more complete. It does not explain return behavior, overwrite semantics, or note location, leaving significant gaps for an agent to determine success or errors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for both parameters: 'title' is 'Title of the note' and 'content' is 'Markdown content to save.' The description itself does not add new meaning beyond the schema, so a baseline score of 3 is appropriate given perfect schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool saves a session summary or custom markdown note into a configured Obsidian Vault. The verb 'saves' and the resource 'Obsidian Vault' are specific, and the description distinguishes it from siblings like search_obsidian_memory which searches rather than saves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for saving notes, but it does not explicitly state when to use it versus alternatives like search_obsidian_memory. No exclusions or when-not-to-use guidance is provided, which would help the agent avoid misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_obsidian_memoryB
Searches past Roundtable session notes in the configured Obsidian Vault for relevant memory snippets.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Keywords or topic to search for in past Obsidian vault notes. | |
| max_results | No | Maximum number of past note snippets to return (default: 3). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It does not mention result format (snippets vs full notes), limitations (e.g., scope of vault, recency, required setup), or error conditions. The agent lacks critical context about what a 'memory snippet' contains or how results are ordered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the core action. Every word is functional with no redundancy. Achieves maximum conciseness while remaining clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite few parameters and no output schema, the description omits essential context: what a 'memory snippet' looks like, whether results are ranked by relevance, and prerequisites (e.g., must have configured Obsidian vault). This forces the agent to guess the tool's behavior and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The description adds no extra semantic value beyond the schema's own descriptions (e.g., 'Keywords or topic' and 'Maximum number of past note snippets'). Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches Roundtable session notes in Obsidian Vault for memory snippets. The verb 'searches' and resource are explicit, distinguishing it from sibling tools like save_to_obsidian (write) or run_roundtable (conversational).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The sibling list includes other tools but no contrast or exclusion criteria (e.g., 'use this when you need specific facts, otherwise use route_prompt'). The agent must infer use case from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v1.0.0- First observed
list_preset_roles - First observed
list_roundtable_models - First observed
route_prompt - First observed
run_roundtable - First observed
save_to_obsidian - First observed
search_obsidian_memory
TDQS
Tools are mostly distinct: run_roundtable vs route_prompt target different execution modes (parallel council vs single expert), while list_roundtable_models and list_preset_roles list different types of entities. However, save_to_obsidian and run_roundtable's auto-logging could slightly overlap in concept, though descriptions clarify separate intents.
All tools follow a consistent verb_noun pattern in snake_case (run_roundtable, route_prompt, list_roundtable_models, etc.), with verbs like 'run', 'route', 'list', 'search', 'save' clearly indicating the action. No mixing of conventions.
6 tools is a reasonable size for a niche server focused on AI council orchestration and Obsidian integration. The count feels slightly lean (no tool for managing models directly), but it's well within the optimal range and each tool serves a distinct function.
Core workflows (listing models/roles, running roundtables, routing prompts, and saving/searching notes) are covered. However, missing operations like registering/updating custom models or deleting roundtable history leave notable gaps for a fully autonomous workflow.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Multi-LLM council: 25+ frontier models in parallel, consensus scoring, verdict-first code review.
Multi-expert decision intelligence with transparent synthesis and auditable workflows.
Multi-agent governance: task orchestration, compliance, decision validation, and ML predictions.
Multi-LLM AI Research & Analysis โ smart routing, consensus analysis, due diligence reports
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceOrchestrates multiple AI models (Gemini, OpenAI, Claude, local models) within a single conversation context, enabling collaborative workflows like multi-model code reviews, consensus building, and CLI-to-CLI bridging for specialized tasks.-
- AlicenseAqualityDmaintenanceEnables AI assistants to create council hearings where multiple LLMs (Claude, GPT, Gemini, Grok) debate topics and synthesize verdicts with trust scores and diverse perspectives.213Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables multi-strategy AI orchestration including council decision review, debate, brainstorming, evaluation, and spec review, with support for multiple LLM providers and advisor personas.9MIT
- FlicenseNot gradedqualityCmaintenanceEnables users to leverage a mixture-of-agents architecture where multiple AI models discuss a question in parallel and a president model synthesizes the best answer.17-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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