Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
PoC Q5b: run a differently-named console script via a positional runtimeArgument.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"multi-poc-beta-script": {
"command": "uvx",
"args": [
"mcp-multi-poc"
]
}
}
}ターミナルでこれを実行します
claude mcp add multi-poc-beta-script -- uvx mcp-multi-pocプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"multi-poc-beta-script": {
"command": "uvx",
"args": [
"mcp-multi-poc"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"multi-poc-beta-script": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-multi-poc"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント nithishr で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.0)がレジストリに届いたのは3 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Rystic
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Start, seed, clock, inspect and diff Rystic API simulators from your agent.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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).
| # | Question | Where it's tested |
|---|---|---|
| 1 | Can two MCP registry entries point at the same PyPI package? | Publish both server.alpha.json and server.beta.json |
| 2 | Does registry ownership validation accept multiple `mcp-name` comments in one package README? | The two HTML comments above |
| 3 | Does the registry schema/validator accept extras syntax in `identifier` (mcp-multi-poc[beta])? | server.beta.json — if rejected, fall back to plain identifier and record that extras can't be expressed |
| 4 | Do clients run the subcommand form correctly from registry metadata (uvx mcp-multi-poc alpha)? | 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 (mcp-multi-poc-beta)? | server.beta-script.json. 5a (failed): identifier = script name → 404, identifier must be a real PyPI package. 5b (current file): identifier = real package, script name smuggled as a positional `runtimeArgument` → uvx --from 'mcp-multi-poc[beta]' mcp-multi-poc-beta mcp-multi-poc; the appended identifier becomes a stray arg the server must ignore. If 5b also fails, fallback is a shim package per script |
mcp-multi-poc-alpha published against the shared package.PyPI package 'mcp-multi-poc[beta]' not found (status: 404). Fallback works: mcp-multi-poc-beta published successfully with plain identifier: mcp-multi-poc + runtimeArguments: --from "mcp-multi-poc[beta]" (live in the registry, verified via the /v0/servers API).'mcp-multi-poc-beta' not found) — the registry validates the identifier as a real PyPI package before anything else.io.github.nithishr/mcp-multi-poc-beta-script is live (published 2026-07-31, after trimming description to the 100-char limit — the only validation hiccup). Locally, uvx --from 'mcp-multi-poc[beta]' mcp-multi-poc-beta mcp-multi-poc completes the MCP initialize handshake — the trailing identifier is silently ignored because main() never parses argv. Caveats: only safe when the entrypoint tolerates stray argv (click needs ignore_unknown_options + allow_extra_args or a dummy optional argument); depends on clients preserving runtimeArguments order — 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).description ≤ 100 chars; identifier must be a literal, existing PyPI package (extras rejected); runtimeArguments/packageArguments contents are NOT validated.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 installed
uvx 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 form
mcp-multi-poc is taken on PyPI, pick another name and rename consistently (pyproject name, [project.scripts], both server.json identifiers).uv build && uv publish.mcp-publisher login github (interactive) — must match the io.github. namespace.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).curl "https://registry.modelcontextprotocol.io/v0/servers?search=mcp-multi-poc"echo (alpha) and make_table (beta).Most clients don't install directly from the official registry yet, so Q4 splits in two: (a) does the spec-mandated command construction (uvx ) produce a working server, and (b) does a registry-consuming client reproduce that construction.
packages block: curl "https://registry.modelcontextprotocol.io/v0/servers?search=mcp-multi-poc" npx @modelcontextprotocol/inspector uvx mcp-multi-poc alpha
npx @modelcontextprotocol/inspector uvx --from "mcp-multi-poc[beta]" mcp-multi-poc beta
3. **Claude 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.json` entries:)
{
"mcpServers": { "poc-alpha": { "command": "uvx", "args": ["mcp-multi-poc", "alpha"] }, "poc-beta": { "command": "uvx", "args": ["--from", "mcp-multi-poc[beta]", "mcp-multi-poc", "beta"] } } }
4. **Registry-native install (the real (b) test)**: VS Code's MCP server
gallery is backed by the official registry — search for mcp-multi-poc there and install; this exercises whether a client assembles runtimeArguments + identifier + packageArguments on 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.