MCP SERVER
Council AI hosts a Model Context Protocol server at mcp.council-ai.app. Add a 10-line JSON config to your MCP-aware client and the council shows up as native tools — including council_query_with_rag, which fans your prompt across every model AND retrieves from your personal document library in one call.
Council AI's MCP server (Ultra tier, $99.99/mo) exposes nine tools to any MCP-aware client: council_query (fan a prompt across N frontier models, return moderator-synthesized consensus + agreement score, key disagreement, and an optional devil's-advocate synthesis mode), council_review (multi-model code review of a diff — verdict-first: SHIP/NO-SHIP, findings confirmed by 2+ models, attributed single-model dissents), council_query_with_rag (same as council_query plus retrieval from your personal Council RAG library — unique to Council), library_search, library_list, library_upload, library_delete, council_models, and council_usage. The endpoint is https://mcp.council-ai.app/mcp, authenticated via per-user Personal Access Tokens you generate in Settings. Works with Claude Desktop, Cursor, Windsurf, Claude Code, ChatGPT Connectors, and any other MCP-aware client. Setup takes about 60 seconds.
One command in your terminal (--scope user makes it available in every project):
claude mcp add --transport http --scope user council-ai \
https://mcp.council-ai.app/mcp \
--header "Authorization: Bearer csa_YOUR_PAT_HERE"
Generate your PAT in Settings → MCP tokens.
Claude Desktop launches local MCP servers only, so the config bridges to our remote endpoint through mcp-remote. Open claude_desktop_config.json and add:
{
"mcpServers": {
"council-ai": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.council-ai.app/mcp",
"--header",
"Authorization:${COUNCIL_AUTH}"
],
"env": {
"COUNCIL_AUTH": "Bearer csa_YOUR_PAT_HERE"
}
}
}
}
The Authorization:${COUNCIL_AUTH} form (no space, env-interpolated) is deliberate — it also works on Windows, where spaces inside args break. Restart Claude Desktop; the council tools appear in the tools menu.
Add to ~/.cursor/mcp.json (or Cursor Settings → MCP):
{
"mcpServers": {
"council-ai": {
"url": "https://mcp.council-ai.app/mcp",
"headers": { "Authorization": "Bearer csa_YOUR_PAT_HERE" }
}
}
}
Cursor calls the council tools from its agent loop the moment they're listed.
Windsurf reads ~/.codeium/windsurf/mcp_config.json and names the key serverUrl (not url):
{
"mcpServers": {
"council-ai": {
"serverUrl": "https://mcp.council-ai.app/mcp",
"headers": { "Authorization": "Bearer csa_YOUR_PAT_HERE" }
}
}
}
Single-model coding assistants are great until they're confidently wrong. The MCP server gives your agent loop a "phone a friend" tool — when Claude inside Cursor is uncertain about a refactor, it calls council_query and gets verification from GPT-5.5, Gemini 3 Pro, and DeepSeek V4 in one round-trip — and before you merge, council_review has models from multiple labs review the same diff and returns a SHIP/NO-SHIP verdict with confirmed findings and dissents. With council_query_with_rag, those models also see your codebase notes and architecture docs from your RAG library.
Anything that speaks the Model Context Protocol over Streamable HTTP — Claude Desktop, Cursor, Windsurf, Claude Code, ChatGPT Desktop with Connectors, Zed, and any custom MCP client. The endpoint is https://mcp.council-ai.app/mcp.
No. The MCP server is an Ultra-tier feature ($99.99/mo) because the cost of fanning every council_query across multiple frontier models is bounded by Ultra's higher monthly budget. Pro users still get the full web app with the council; Ultra is the tier that lets you invoke it from elsewhere.
A per-user secret you generate in Settings → MCP tokens. The MCP server authenticates each tool call against the PAT, looks up your user, and bills against your monthly Council budget. PATs can be revoked at any time and are scoped to your account only.
Other multi-LLM MCPs (like the various open-source fan-out servers) can route a prompt across providers, but they don't bundle retrieval. Council's RAG library is per-user, multi-tenant, and every model in the fan-out sees the retrieved context — so you can ask 'how does our auth flow handle session refresh?' and get a synthesized answer grounded in your own code/docs.
Not on user accounts. Council is fully managed; we hold the provider relationships. The MCP server's value is the synthesis + RAG layer, which works better when we manage rate limits and routing across providers.