Skip to content

feat(mcp): bring stdio transport to parity with http streamable and sse#181

Merged
Shearerbeard merged 1 commit into
mainfrom
mshearer/163-stdio-mcp-parity
Jun 3, 2026
Merged

feat(mcp): bring stdio transport to parity with http streamable and sse#181
Shearerbeard merged 1 commit into
mainfrom
mshearer/163-stdio-mcp-parity

Conversation

@Shearerbeard

@Shearerbeard Shearerbeard commented May 29, 2026

Copy link
Copy Markdown
Collaborator

Fixes #163 - stdio isn't a huge priority for big production backend systems but having it available makes evaluating and playing with AURA a lot more accessible

@Shearerbeard Shearerbeard requested a review from a team May 29, 2026 12:10
promptless Bot added a commit that referenced this pull request May 29, 2026
Document the STDIO MCP transport option alongside http_streamable and
sse transports. STDIO spawns a local child process per request and is
designed for client-side sidecars rather than server deployments.

Clarify that HTTP transports support authentication and scratchpad
configuration, while STDIO uses cmd, args, and env fields.

Relates to: PR #181
@promptless

promptless Bot commented May 29, 2026

Copy link
Copy Markdown

Promptless prepared a documentation update related to this change.

Triggered by PR #181

Updated the quickstart guide to document the new STDIO transport alongside HTTP streamable and SSE, including guidance that STDIO spawns a local child process per request and is designed for client-side sidecars rather than server deployments.

Review: Document all MCP transport options in quickstart guide

@Shearerbeard Shearerbeard force-pushed the mshearer/163-stdio-mcp-parity branch 6 times, most recently from 945b6cf to 71fdceb Compare June 2, 2026 15:01
// Collect from STDIO tools
for tools in mcp_manager.stdio_tools.values() {
for tool in tools {
names.push(tool.name.to_string());

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I see there is a check for duplicate tool names below. Should we add some sort of warning that we have ambiguous tool names to invoke or should things be namespaced by a schema name? This situation may not be common, but certainly a foot-gun we can run into.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This is a great point and something I've considered tackling. The code your seeing is a pre-existing pattern with the other server types but I think the idea of namespacing could be interesting but isn't something that should be done without a bit of strategy. Many system prompts have verbatim tool usage guidelines "run 'x' before 'y'" so there is some backwards compat concerns. We also have mcp filter by explicit tool names that this would effect. The upshot is that it would prevent collisions and give us something easier to glob match on when writing mcp filters - 'mezmo_' or 'k8_get_' for example. The problem is that we might need to consider how the namespaces are defined in our config to keep the tool names from getting to long. My proposal is we leave this pattern as is for now and file an issue around re-exploring the namespace idea. I'm going to audit to see if there is a good place to make this more clear in the README

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Filed #186 and added a README warning about the conflict behavior

Add STDIO as a first-class MCP transport alongside HTTP streamable and
SSE. Spawns a local child process per request using rmcp's native
TokioChildProcess transport.

Ref: #163
@Shearerbeard Shearerbeard force-pushed the mshearer/163-stdio-mcp-parity branch from 71fdceb to ef65697 Compare June 2, 2026 21:29
@Shearerbeard Shearerbeard merged commit 7dffbee into main Jun 3, 2026
9 checks passed
@Shearerbeard Shearerbeard deleted the mshearer/163-stdio-mcp-parity branch June 3, 2026 14:53
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 3, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bring STDIO MCP transport to parity with HTTP streamable and SSE

3 participants