mcp-multi-poc
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., "@mcp-multi-pocstart the beta analytics server"
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.
mcp-multi-poc
PoC for serving multiple MCP servers from a single PyPI package, using subcommands for server selection and optional extras for on-demand dependencies. Stands in for the Couchbase MCP monorepo question (alpha = operational, beta = analytics, tabulate = the analytics SDK — chosen because it is outside fastmcp's transitive dependency tree; httpx and pyyaml are not, and silently defeat the extras guard).
What this PoC must answer
# | Question | Where it's tested |
1 | Can two MCP registry entries point at the same PyPI package? | Publish both |
2 | Does registry ownership validation accept multiple | The two HTML comments above |
3 | Does the registry schema/validator accept extras syntax in |
|
4 | Do clients run the subcommand form correctly from registry metadata ( | Install both servers from a client (Claude Desktop / MCP Inspector) |
5 | Is there any schema-legal way to run a console script named differently than the package ( |
|
Related MCP server: MCP Server Deepdive
Findings so far (2026-07-31)
Q1 — multiple entries per PyPI package: YES.
mcp-multi-poc-alphapublished against the shared package.Q2 — multiple
mcp-namecomments in one README: YES (alpha validated with three comments present).Q3 — extras in
identifier: NO, but expressible viaruntimeArguments. Extras in the identifier fail the literal PyPI lookup —PyPI package 'mcp-multi-poc[beta]' not found (status: 404). Fallback works:mcp-multi-poc-betapublished successfully with plainidentifier: mcp-multi-poc+runtimeArguments: --from "mcp-multi-poc[beta]"(live in the registry, verified via the/v0/serversAPI).Q5a — differently-named console script as identifier: NO (confirmed on publish). Same 404 mechanism (
'mcp-multi-poc-beta' not found) — the registry validates the identifier as a real PyPI package before anything else.Q5b — script name as positional
runtimeArgument: YES, published.io.github.nithishr/mcp-multi-poc-beta-scriptis live (published 2026-07-31, after trimmingdescriptionto the 100-char limit — the only validation hiccup). Locally,uvx --from 'mcp-multi-poc[beta]' mcp-multi-poc-beta mcp-multi-poccompletes the MCP initialize handshake — the trailing identifier is silently ignored becausemain()never parses argv. Caveats: only safe when the entrypoint tolerates stray argv (click needsignore_unknown_options+allow_extra_argsor a dummy optional argument); depends on clients preservingruntimeArgumentsorder — the least-exercised metadata path; registry UIs show the identifier as the runnable. For production script-per-server, prefer a shim package per script (identifier == script name, no runtimeArguments at all).Registry validation limits discovered:
description≤ 100 chars;identifiermust be a literal, existing PyPI package (extras rejected);runtimeArguments/packageArgumentscontents are NOT validated.
Local smoke test (before publishing anything)
cd mcp-registry-poc
uv venv && uv pip install -e .
mcp-multi-poc alpha # starts alpha on stdio (Ctrl+C to exit)
mcp-multi-poc beta # must FAIL with the friendly extras message
uv pip install -e ".[beta]"
mcp-multi-poc beta # now starts
mcp-multi-poc # bare command runs alpha (backward-compat check)
mcp-multi-poc-beta # Option 1 script works locally once extra installeduvx behavior (after publishing to PyPI):
uvx mcp-multi-poc alpha # base only
uvx "mcp-multi-poc[beta]" beta # extras via uvx — key UX under test
uvx --from "mcp-multi-poc[beta]" mcp-multi-poc-beta # Option 1 fallback formPublish steps (manual, in order)
If
mcp-multi-pocis taken on PyPI, pick another name and rename consistently (pyprojectname,[project.scripts], both server.json identifiers).Build and publish to real PyPI (registry validation fetches from pypi.org; TestPyPI will not work):
uv build && uv publish.Install mcp-publisher and log in:
mcp-publisher login github(interactive) — must match theio.github.<username>namespace.Publish the entries:
mcp-publisher publish server.alpha.json,... server.beta.json, and... server.beta-script.json— the last one is expected to fail validation; record the exact error (if the CLI expects the file at./server.json, copy each into place first).Verify via the registry API:
curl "https://registry.modelcontextprotocol.io/v0/servers?search=mcp-multi-poc"Configure both servers in a client from the registry metadata and call
echo(alpha) andmake_table(beta).Record results per question above, then deprecate/delete the PoC entries.
Q4 — testing the published entries from a client
Most clients don't install directly from the official registry yet, so Q4
splits in two: (a) does the spec-mandated command construction
(uvx <runtimeArguments> <identifier> <packageArguments>) produce a working
server, and (b) does a registry-consuming client reproduce that construction.
Fetch what was actually published and check the
packagesblock:curl "https://registry.modelcontextprotocol.io/v0/servers?search=mcp-multi-poc"MCP Inspector — interactive tool calls against the hand-assembled command:
npx @modelcontextprotocol/inspector uvx mcp-multi-poc alpha npx @modelcontextprotocol/inspector uvx --from "mcp-multi-poc[beta]" mcp-multi-poc betaClaude Code — same commands as stdio servers, then call
echo/make_table:claude mcp add poc-alpha -- uvx mcp-multi-poc alpha claude mcp add poc-beta -- uvx --from "mcp-multi-poc[beta]" mcp-multi-poc beta(For Claude Desktop, the equivalent
claude_desktop_config.jsonentries:){ "mcpServers": { "poc-alpha": { "command": "uvx", "args": ["mcp-multi-poc", "alpha"] }, "poc-beta": { "command": "uvx", "args": ["--from", "mcp-multi-poc[beta]", "mcp-multi-poc", "beta"] } } }Registry-native install (the real (b) test): VS Code's MCP server gallery is backed by the official registry — search for
mcp-multi-pocthere and install; this exercises whether a client assemblesruntimeArguments + identifier + packageArgumentson its own. Entries may lag or be curated before appearing.
Steps 2–3 only prove (a); only step 4 (or another registry-consuming client) proves (b), which is what the beta/beta-script entries actually depend on.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
- echoA
Related MCP Servers
- AlicenseBqualityFmaintenanceA Python-based server that helps users easily install and configure other MCP servers across different platforms.Last updated23MIT
- FlicenseBqualityDmaintenanceA Python-based MCP server implementation that can be easily installed via pip or directly from GitHub, providing a simple way to deploy and run MCP server functionality.Last updated1
- Alicense-qualityCmaintenanceProduction-grade MCP server for universal reverse engineering automation.Last updated69GPL 3.0

FlowMCP Serverofficial
Alicense-qualityDmaintenanceProvides LocalServer and RemoteServer implementations for running MCP servers locally via stdio or remotely via HTTP/SSE, with simple and advanced deployment options.Last updated1MIT
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for doc2mcp documentation, generated by doc2mcp.
Primarily to be used as a template repository for developing MCP servers with FastMCP in Python, P…
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/nithishr/mcp-registry-poc'
If you have feedback or need assistance with the MCP directory API, please join our Discord server