open-code-review/cmd
kite 6b24e224c3
feat(mcp): support remote MCP servers via Streamable HTTP (#360)
* feat(mcp): add remote MCP server support via Streamable HTTP transport

Support connecting to remote MCP servers using the Streamable HTTP
transport from go-sdk. Users configure remote servers with type=remote,
a URL, and optional headers (with environment variable expansion for
secrets). Authentication stays outside OCR — users provide tokens via
headers, matching CLI tool conventions.

Closes #335

* docs(mcp): document remote MCP server support and shell expansion warning

Add remote transport (Streamable HTTP) documentation to MCP Server
sections in all READMEs and CLI help text. Include type/url/headers
field descriptions, remote server examples (CLI and JSON config),
and a tip about using single quotes to prevent shell expansion.

* fix(mcp): harden remote MCP client validation and error handling

- Reject URLs with missing host (e.g. "http://") in config validation
- Make empty-after-expansion header values a fatal error instead of a warning
- Detect HTTP 401/403 responses and surface clear authentication error messages
- Drain response body before closing to preserve connection pool reuse

* test(mcp): add tests for header env var expansion failure in NewRemoteClient

Verify that NewRemoteClient returns a clear error when header values
expand to empty strings, covering both explicitly empty env vars and
completely unset env vars.
2026-07-27 20:29:29 +08:00
..
opencodereview feat(mcp): support remote MCP servers via Streamable HTTP (#360) 2026-07-27 20:29:29 +08:00