
Mcp Multi Poc Beta Script
io.github.nithishr由 GitHub 帳號 nithishr 發布v0.1.0更新於 Oct 24, 2026
PoC Q5b: run a differently-named console script via a positional runtimeArgument.
概覽
一個概念驗證用的 PyPI 套件,透過子指令從同一安裝啟動多個示範 MCP 伺服器(alpha 與 beta),並非正式環境工具。
- 可以做什麼
- 在 stdio 上執行示範用 alpha 伺服器,提供 echo 工具,用來測試連線與啟動指令的組合。在 stdio 上執行示範用 beta 伺服器,提供 make_table 工具,需要安裝選用的 extras。透過對套件的命令列指令碼傳入子指令,選擇要啟動哪一個伺服器。驗證註冊表中介資料路徑,例如執行時參數與 extras,觀察用戶端能否正確組合啟動指令。
- 適用情境
- 只適合用來實驗 MCP 註冊表項目、PyPI 識別碼、extras 與執行時參數在用戶端和註冊表中的處理方式。它是測試後就應淘汰的概念驗證,不適合依賴它處理實際工作。
- 執行需求
- 本機 Python 環境,並安裝 uv 或 uvx,用來安裝與執行 PyPI 套件 mcp-multi-poc。beta 伺服器需要安裝選用的 beta extras。未宣告任何帳號、API 金鑰或環境變數。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Mcp Multi Poc Beta Script,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
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
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)
uvx behavior (after publishing to PyPI):
Publish 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:
- Claude Code — same commands as stdio servers, then call
echo/make_table: (For Claude Desktop, the equivalentclaude_desktop_config.jsonentries:) - 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.
來源:README.md,提交 c9f1363
工具
0版本歷史
1- v0.1.0最新Sep 16, 2026
評分
已滿足適用檢查項的 40%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。