Skip to content

agent-mcp-manager-v0.0.3

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 26 Jun 13:15
8bf2bc8

Closes #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_var and env_http_headers. Codex's TOML schema accepts both, but McpHttpSpec has 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.
  • env on codex stdio entries. Not emitted in 0.0.2 either (matches upstream docker/mcp-gateway's codex_handler.go).
  • claude-desktop stays 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