Preflight Checklist
Problem Statement
When registering an HTTP MCP server via `claude mcp add --transport http`, there is no way to configure a per-server tool call timeout. The current hard limit appears to be ~60 seconds, which makes it impossible to use MCP tools that perform legitimately long operations — heavy data queries, AI agent workflows, batch processing, large report generation, etc.
Concrete example: A Snowflake-hosted Cortex AI agent (Nessie) exposed as an HTTP MCP server times out consistently when asked to search call transcripts or run analytical queries that take 60–180 seconds on the server side. The tool returns `"The operation timed out"` with no partial result and no way to recover other than retrying with a simpler query.
This is not a server performance problem. The Snowflake backend completes the work — the client-side ceiling prevents the result from arriving.
Related Issues
Proposed Solution
Add a `--timeout` flag to `claude mcp add` (and the equivalent `mcpServers` JSON field in `.mcp.json`) that sets the per-server tool call timeout in milliseconds:
```bash
Register an HTTP MCP server with a 5-minute timeout
claude mcp add
--transport http
--timeout 300000
-s user
snowflake
https://my-instance.snowflakecomputing.com/api/v2/.../mcp-servers/MY_SERVER
--header "Authorization: Bearer $PAT"
```
Equivalent `.mcp.json` form (already partially specced, broken since #50289):
```json
{
"mcpServers": {
"snowflake": {
"type": "http",
"url": "https://...",
"headers": { "Authorization": "Bearer ..." },
"timeout": 300000
}
}
}
```
Why This Matters Beyond My Use Case
The class of operations that legitimately exceeds 60s is broad and growing:
- AI agent backends — Cortex AI (Snowflake), OpenAI Assistants, LangGraph — all run multi-step reasoning that can take 1–5 minutes
- Bulk data queries — analytics warehouses (Snowflake, BigQuery, Redshift) on large datasets
- PDF / document processing — download + parse + extract pipelines
- Publisher API fetches — rate-limited upstream APIs with variable latency
- Batch operations — anything that processes N items before returning
A configurable timeout is the pragmatic fix that unblocks these today, independent of whether SEP-1686 (Tasks) is eventually implemented. Both can coexist: the timeout protects against truly hung calls while Tasks enables structured async patterns.
Priority
High — blocks real enterprise use cases where Claude Code is the interface to heavy backend systems (data warehouses, AI agents, document pipelines).
Feature Category
MCP server integration
Additional Context
Preflight Checklist
Problem Statement
When registering an HTTP MCP server via `claude mcp add --transport http`, there is no way to configure a per-server tool call timeout. The current hard limit appears to be ~60 seconds, which makes it impossible to use MCP tools that perform legitimately long operations — heavy data queries, AI agent workflows, batch processing, large report generation, etc.
Concrete example: A Snowflake-hosted Cortex AI agent (Nessie) exposed as an HTTP MCP server times out consistently when asked to search call transcripts or run analytical queries that take 60–180 seconds on the server side. The tool returns `"The operation timed out"` with no partial result and no way to recover other than retrying with a simpler query.
This is not a server performance problem. The Snowflake backend completes the work — the client-side ceiling prevents the result from arriving.
Related Issues
timeoutfield no longer honored for HTTP MCP tool calls since 2.1.113 (native binary transition) #50289 — `.mcp.json` per-server `timeout` field was honored before v2.1.113 but is now silently ignored for HTTP transport (regression). This confirms the mechanism existed and worked; it just needs to be exposed via the CLI and fixed.Proposed Solution
Add a `--timeout` flag to `claude mcp add` (and the equivalent `mcpServers` JSON field in `.mcp.json`) that sets the per-server tool call timeout in milliseconds:
```bash
Register an HTTP MCP server with a 5-minute timeout
claude mcp add
--transport http
--timeout 300000
-s user
snowflake
https://my-instance.snowflakecomputing.com/api/v2/.../mcp-servers/MY_SERVER
--header "Authorization: Bearer $PAT"
```
Equivalent `.mcp.json` form (already partially specced, broken since #50289):
```json
{
"mcpServers": {
"snowflake": {
"type": "http",
"url": "https://...",
"headers": { "Authorization": "Bearer ..." },
"timeout": 300000
}
}
}
```
Why This Matters Beyond My Use Case
The class of operations that legitimately exceeds 60s is broad and growing:
A configurable timeout is the pragmatic fix that unblocks these today, independent of whether SEP-1686 (Tasks) is eventually implemented. Both can coexist: the timeout protects against truly hung calls while Tasks enables structured async patterns.
Priority
High — blocks real enterprise use cases where Claude Code is the interface to heavy backend systems (data warehouses, AI agents, document pipelines).
Feature Category
MCP server integration
Additional Context
timeoutfield no longer honored for HTTP MCP tool calls since 2.1.113 (native binary transition) #50289, so the implementation precedent exists