Repository navigation
docs(mcp): document call timeouts, reconnect replay rules, and tool-loop limits - #54
Merged
Merged
Conversation
…oop limits Per-call timeout and no-replay of interrupted calls: smg-project/smg#2441. Fail-closed ambiguous pooled connections: smg-project/smg#2091. Tool-loop caps and dispatch stops: smg-project/smg#2665, smg-project/smg#2674. Structured mcp_call.error: smg-project/smg#2186. SSE removed: smg-project/smg#1814. Flag the pool, policy, proxy, inventory, and warmup keys as not applied. Add Messages API MCP coverage and rewrite the internal-servers reference. Signed-off-by: Simo Lin <25425177+slin1237@users.noreply.github.com>
|
Warning Review limit reachedNext included review available in 16 minutes. View limit detailsLimit details: You’ve used all 4 included reviews currently available. Your 65 included PR review attempts over the past 7 days set your current allowance at 4 reviews per hour. Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (3)
Comment |
…ails - Provider rows: the worker `provider` field is not kept on the worker; IGW-mode external workers reach a provider router by model name (claude-* to Anthropic), so drop "registered with provider: ...". - Responses MCP is not served with --epd-disaggregation (501). - Pool: reuse never refreshes a connection's place, so a full pool drops the oldest connection, not the least recently used one. - Replay: readOnlyHint is read for mcp_list_tools, but no annotation reaches the replay check. - Failed mcp_call example gains its id; the legacy string error only parses (gRPC still rejects mcp_call input items). - response.mcp_call.failed is sent only for regular (non-Harmony) models. - Approval: the loop stops at the first pending call, so a response has at most one mcp_approval_request. - Internal servers: an OpenAI-compatible stream's final response.completed event is filtered too. - Examples use `smg launch`; the model also sees tool descriptions; HTTP workers get the request with its mcp tools, not byte-for-byte. Signed-off-by: Simo Lin <25425177+slin1237@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Since the docs were ported, MCP tool execution gained:
mcp_call.error(#2186).Verifying these showed that the MCP pages described several features that do not take effect in v1.11.0:
app_context.rs:671-701), and startup only registers theserverslist (workflow/job_queue.rs:642-675). Sopool(including #2441'spool.call_timeout),policy, the top-levelproxy,inventory, andwarmupare read but never applied.Changes
concepts/extensibility/mcp.md(rewritten)X-SMG-MCP: enabled(see docs(api): document Messages count_tokens and forwarded Anthropic headers #51). It does not run in Chat Completions.stdioand streamable HTTP only, with the exact SSE error.max_tool_callscapped at 10, execution of the permitted prefix, no dispatch afterlength/failed/errorfinishes, and mixed MCP/client batches. A table covers how the Harmony, OpenAI-provider, and Messages paths differ.getting-started/mcp.md/sse, bare token).server_labelrules, plus limiting and filtering tools.reference/mcp-internal-servers.md: exactly which paths hide internal server items (and which don't), plus the frontmatter it was missing.Upstream issues found
These are worth smg issues; the docs describe current behavior:
pool,policy,proxy,inventory, andwarmupare never applied. The orchestrator is built from an empty config, andvalidate()never runs on the file.crates/mcp/README.mdstill advertise SSE, approval policies, and audit logging.Verification
v1.11.0(3be823a7):crates/mcp(config, orchestrator, pool, session, approval),app_context.rs,workflow/job_queue.rs, and the Responses and Messages MCP loops on each path.pnpm lint,pnpm check(0 errors), andpnpm buildpass.wrangler pages dev.This is one of a series of docs PRs that bring the site up to smg v1.11.0, one per area.
🤖 Generated with Claude Code