[refactor] Replace the public MCP server contract#5290
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
2b7ade2 to
8f9ab83
Compare
8f9ab83 to
47a9539
Compare
|
🤖 The AI agent says: Coordination cleanup: the first version of this branch accidentally absorbed two unrelated cold-Pi continuity hunks from the shared |
Replace the public MCP configuration with the nested HTTP-only contract, remove the deployment gate and public stdio fields, preserve trusted internal MCP delivery, and keep the shipped documentation and interface inventories in sync.
47a9539 to
0b371ee
Compare
|
🤖 The AI agent says: Updated this PR to address the documentation-sync review alongside the retarget conflict:
Verification: docs production build passed; 5 focused runner test files passed (118 tests); push hooks passed frontend lint and secret scanning. The branch is now based directly on current |
Context
The MCP editor exposed stdio commands, environment values, and manual tool names even though the hosted runner only delivers external HTTP MCP servers to Claude. MCP execution also depended on a service flag that was not available to the UI, so users could save a server and still see no MCP tools.
Changes
This is a breaking pre-production reset. There is no compatibility decoder, migration, feature flag, or dual write.
Before:
{"name":"memory","transport":"http","url":"https://example.com/mcp","env":{},"secrets":{},"tools":[]}After:
{ "name": "memory", "connection": { "type": "http", "url": "https://example.com/mcp", "headers": {}, "credentials": {"type": "none"} }, "policy": {"tools": {"mode": "all"}, "permission": "ask"} }The SDK now separates saved author intent from resolved secret-bearing headers. The runner accepts only the nested HTTP wire object and keeps its private trusted
agenta-toolsstdio shim separate.The UI removes transport, command, arguments, environment, and manual exposed-tool controls. It shows external MCP authoring only when the selected harness publishes
mcp.user_serversin the existing runtime harness catalog. Claude publishes it; Pi omits it until slice 2.2 works. Local Docker and Agenta Cloud use the same catalog, so this adds no frontend or cloud-specific environment variable.Tests / notes
@agenta/entities, and@agenta/entity-uiTypeScript checks passed.pnpm lint-fix, and Helm lint passed.typecheckscript; the two touched packages passedtsc --noEmit.What to QA
agenta-toolschannel and never appear in this editor.