Skip to content

plugins: every base takes a stdio server; pi's adapter and dsh's client spawn it themselves - #180

Merged
richard-epsilla merged 2 commits into
mainfrom
fix/plugins-stdio-every-base
Sep 15, 2026
Merged

richard-epsilla merged 2 commits into
mainfrom
fix/plugins-stdio-every-base

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

#175 refused a package with a stdio MCP server on pi and dsh (422 unsupported_transport) on the premise that their clients take URLs only. Neither does: pi-mcp-adapter runs a command with args as a stdio transport, and dsh-mcp-client discriminates its config on transport with a stdio branch (StdioClientTransport on command, args, env, cwd). The runner now hands both the launcher it already writes for every other backend (pi: a command entry in its mcp.json; dsh: one more inserted client row), and the gateway's per-base refusal and its constant are gone. The self-hosting guide says so.

Tests: gateway test_plugins.py (the refusal test became an install-on-every-base test), runner test_uhp_plugins.py (+2: pi's command entry, dsh's stdio row).

🤖 Generated with Claude Code

…nt spawn it themselves

The gateway refused a package with a stdio MCP server on pi and dsh (422 unsupported_transport)
on the premise that their clients take URLs only. Neither does: pi-mcp-adapter runs a `command`
with `args` as a stdio transport, and dsh-mcp-client discriminates its config on `transport`
with a `stdio` branch (StdioClientTransport on command, args, env, cwd). The runner now hands
both the launcher it already writes for every other backend, and the per-base refusal is gone:
one launcher, every client runs it. Verified on the hosted deployment across the bases.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 15, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
unified-harness-protocol Ready Ready Preview Sep 15, 2026 2:29am UTC

Request Review

@richard-epsilla richard-epsilla left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both clients spawn the launcher themselves; gateway and runner tests green in CI.

@richard-epsilla
richard-epsilla merged commit aecfd7d into main Sep 15, 2026
8 checks passed
@richard-epsilla
richard-epsilla deleted the fix/plugins-stdio-every-base branch September 15, 2026 02:31
richard-epsilla added a commit to ZixiaoL/harnessrouter that referenced this pull request Oct 3, 2026
…nt spawn it themselves (HarnessRouter#180)

* plugins: every base takes a stdio server; pi's adapter and dsh's client spawn it themselves

The gateway refused a package with a stdio MCP server on pi and dsh (422 unsupported_transport)
on the premise that their clients take URLs only. Neither does: pi-mcp-adapter runs a `command`
with `args` as a stdio transport, and dsh-mcp-client discriminates its config on `transport`
with a `stdio` branch (StdioClientTransport on command, args, env, cwd). The runner now hands
both the launcher it already writes for every other backend, and the per-base refusal is gone:
one launcher, every client runs it. Verified on the hosted deployment across the bases.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* ci: start checks

---------

Co-authored-by: richard-epsilla <richard@epsilla.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

This branch was successfully deployed

1 active deployment
Preview — 10cdf839 Deployed Sep 15, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant