agent-mcp-manager-v0.0.3
Pre-releaseCloses #61. Codex's ~/.codex/config.toml accepts streamable HTTP MCP servers directly per the official OpenAI Codex MCP docs. The v0.0.2 catalog marked codex as stdio-only, which forced every codex link through an npx -y mcp-remote <url> stdio bridge. That fails silently when Node is not on the user's machine. This release surfaces the http path so the shim is no longer needed.
What changes
| Surface | Before (0.0.2) | After (0.0.3) |
|---|---|---|
codex.supportedTransports |
['stdio'] |
['stdio', 'http'] |
link({ agent: 'codex', spec: { transport: 'http', url } }) |
throws UnsupportedTransportError |
succeeds; writes [mcp_servers.<name>] with url (and http_headers when spec.headers is set) |
link({ agent: 'codex', spec: { transport: 'sse', url } }) |
throws | still throws (codex's TOML parser has no sse schema) |
transportHint('codex', ...) for sse failures |
"Codex only accepts stdio MCP servers..." | "Codex accepts stdio and streamable-HTTP MCP servers; SSE is not parsed. If the URL actually serves streamable HTTP, re-add with transport: \"http\". If SSE-only, wrap with npx -y mcp-remote <url> as stdio." |
Existing stdio entries written by 0.0.2 keep working identically. No migration needed for callers who only use stdio specs.
On-disk shape (new http path)
[mcp_servers.figma]
url = "https://mcp.figma.com/mcp"
[mcp_servers.figma.http_headers]
"X-Figma-Region" = "us-east-1"Registering a remote MCP for Codex
Pass an http spec directly. No mcp-remote shim needed:
await mgr.add({
name: 'figma',
spec: {
transport: 'http',
url: 'https://mcp.figma.com/mcp',
headers: { 'X-Figma-Region': 'us-east-1' },
},
})
await mgr.link({ serverName: 'figma', agent: 'codex' })Out of scope for this release
bearer_token_env_varandenv_http_headers. Codex's TOML schema accepts both, butMcpHttpSpechas no env-var-name field today. Hand-edit the TOML if you need env-sourced bearer tokens.startup_timeout_sec/tool_timeout_sec. Codex defaults (10s / 60s) apply.envon codex stdio entries. Not emitted in 0.0.2 either (matches upstreamdocker/mcp-gateway'scodex_handler.go).claude-desktopstays stdio-only. Anthropic's local config parser still validates stdio-shape only for local servers.
Downstream
Consumers whose install flow gates on surface.supportedTransports.includes('http') (BrowserOS's apps/server/src/lib/mcp-manager/service.ts:planFor is the reference case) now hit the http branch for codex automatically. The npx mcp-remote runtime dependency disappears for codex users.
Links
- npm: https://www.npmjs.com/package/agent-mcp-manager
- README: https://github.com/DaniAkash/agent-toolkit/tree/main/packages/agent-mcp-manager
- Codex MCP docs: https://developers.openai.com/codex/mcp
- Issue: #61
- PR: #62