Panel
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., "@PanelAsk ChatGPT and DeepSeek to react to the last message and continue the discussion."
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.
Panel
Panel is a standalone remote MCP server that lets Claude call ChatGPT, DeepSeek, Kimi, and Gemini inside one persistent, shared discussion. It exposes exactly one tool:
ask_model(provider, message, conversation_id?)Architecture
Streamable HTTP MCP endpoint:
POST /mcpHealth endpoint:
GET /healthStatic bearer authentication on every MCP request
PostgreSQL source-of-truth transcript with one ordered log per
conversation_idOne OpenAI-compatible adapter configured three ways, plus a native Gemini adapter
Request-time context compaction only; stored turns are never edited or deleted
The selected provider sees its own earlier turns as assistant/model. Claude and every other provider are rendered as user with [Speaker]: prefixes.
Related MCP server: Multi-CLI MCP
Local setup
Requirements: Node.js 22+, a reachable PostgreSQL database, and API keys for the four providers.
Copy
.env.exampleto.envand fill values locally. Never commit.env.Run
npm ci.Run
npm run db:migrate(the server also initializes the idempotent schema at startup).Run
npm run dev.In another terminal, run
npm run manual.
Useful checks:
npm run build
npm run lint
npm test
npm run test:integration
npm run verify:persistenceThe integration and persistence commands require DATABASE_URL. The manual test requires the running server, all provider keys, and PANEL_BEARER_TOKEN. Set PANEL_URL when testing a deployed instance.
Environment
Required server variables:
DATABASE_URLPANEL_BEARER_TOKEN(use at least 32 random bytes)OPENAI_API_KEYDEEPSEEK_API_KEYMOONSHOT_API_KEYGOOGLE_API_KEY
Optional variables and defaults:
MAX_CONTEXT_CHARS=60000PORT=3000OPENAI_BASE_URL=https://api.openai.com/v1OPENAI_MODEL=gpt-4o-miniDEEPSEEK_BASE_URL=https://api.deepseek.comDEEPSEEK_MODEL=deepseek-v4-flashMOONSHOT_BASE_URL=https://api.moonshot.ai/v1MOONSHOT_MODEL=kimi-k2.5GEMINI_MODEL=gemini-2.5-flash
Deploy
Render
Push this repository to GitHub, create a Blueprint from render.yaml, and enter every sync: false secret in Render's dashboard. Point DATABASE_URL at external Neon or Supabase Postgres. The service URL will be https://<service>.onrender.com/mcp.
Railway
Push to GitHub, create a Railway project from the repository, and add the same variables. railway.json uses the included Dockerfile. Generate a public HTTPS domain and append /mcp.
Connect to claude.ai
Current Claude connector documentation lists fixed request-header authentication (static_headers) as a beta option for custom connectors. Add the deployed /mcp URL under Customize → Connectors → Add custom connector (Team/Enterprise owners add it under organization connector settings). In advanced/request-header settings add:
Authorization: Bearer <the exact PANEL_BEARER_TOKEN value>Then connect/enable Panel in the target Claude conversation. Do not put the token in the URL.
If the request-header field is not exposed for your account, do not make this server public without auth. That account/UI has not enabled the beta static-header path; OAuth would then be a separate, explicitly required follow-up.
Verification harness behavior
npm run manual invokes all four providers through MCP using one conversation_id. Its DeepSeek, Kimi, and Gemini prompts explicitly require reactions to earlier named providers, making shared transcript behavior visible. npm run verify:persistence writes through one PostgreSQL pool, closes it, creates a fresh pool, and reads the sentinel back. The compaction unit test confirms the request rendering is compacted while the original full turn array remains unchanged; the PostgreSQL transcript is only read during rendering.
This server cannot be installed
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 Servers
- AlicenseBqualityCmaintenanceA Model Context Protocol (MCP) server that lets you seamlessly use OpenAI's models right from Claude.125176MIT
- FlicenseAqualityAmaintenanceAn MCP server that bridges multiple AI clients (Claude, Gemini, Codex, OpenCode) so they can call each other as tools.17568
- AlicenseAqualityBmaintenanceAn MCP server that enables any AI agent to call Claude using your existing Max/Pro subscription via OAuth, avoiding additional API billing.11MIT
- Flicense-qualityDmaintenanceMulti-cloud MCP server that exposes cloud AI models as tools for AI CLI agents, supporting streaming, conversation history, parallel multi-model queries, and dynamic model discovery.2
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP server for AI dialogue using various LLM models via AceDataCloud
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
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/mreyad/mcp-chatroom'
If you have feedback or need assistance with the MCP directory API, please join our Discord server