Added stateless tool call - #93
Open
cafalchio wants to merge 6 commits into
Open
Conversation
lucarlig
force-pushed
the
tool_call_stateless
branch
from
August 17, 2026 10:45
15fe5b3 to
e32964f
Compare
cafalchio
force-pushed
the
tool_call_stateless
branch
from
August 17, 2026 21:01
e32964f to
4f13ed8
Compare
lucarlig
requested changes
Aug 18, 2026
lucarlig
left a comment
Contributor
There was a problem hiding this comment.
Requesting changes for cancellation-safe backend discovery, CPEX pre-hook ordering, and required hot-path wiki updates. Existing Dawid threads and separate epic work are excluded. IBM/mcp-context-forge#6243 requires request-scoped cancellation and wire coverage.
cafalchio
force-pushed
the
tool_call_stateless
branch
from
August 18, 2026 12:25
4f13ed8 to
0a0dcfa
Compare
cafalchio
force-pushed
the
tool_call_stateless
branch
from
August 18, 2026 15:02
2ffa218 to
400f081
Compare
lucarlig
reviewed
Aug 19, 2026
dawid-nowak
previously approved these changes
Aug 19, 2026
lucarlig
requested changes
Aug 19, 2026
lucarlig
left a comment
Contributor
There was a problem hiding this comment.
The stateless success path works, but this is not ready to merge yet.
Required changes:
- Use RMCP's modern client lifecycle in the test instead of manually constructing JSON-RPC, metadata, routing headers, and SSE parsing. The inline replacement below passes on this exact PR head.
- Keep cancellation coverage enabled. On this head,
downstream_cancellation_is_relayed_to_backendnever reaches the backend cancellation token, even after 10 seconds. - Fix cancellation in RMCP (or update to an RMCP revision containing the fix), rather than adding another gateway-side protocol implementation. The gateway already calls
RequestHandle::cancel(); in RMCP 3.1.2 the modern HTTP worker can remain blocked waiting for the first SSE response event, so the queued cancel cannot close that request. - Add modern stateless wire coverage required by IBM/mcp-context-forge#6243: backend alias routing, single-backend non-namespaced names, multi-backend namespaced names, progress-token forwarding, cancellation, and concurrent calls. The current new test covers only one successful single-backend call.
- Remove the two unrelated completion-test ignores. Both tests pass unchanged.
The other epic items (metadata/header rules, MRTR/result types, auth, retry/timeout/telemetry) are tracked separately and do not need to be implemented in this PR.
lucarlig
reviewed
Aug 19, 2026
lucarlig
force-pushed
the
tool_call_stateless
branch
from
August 19, 2026 09:22
400f081 to
1f3a8d8
Compare
Signed-off-by: cafalchio <mcafalchio@gmail.com>
Signed-off-by: cafalchio <mcafalchio@gmail.com>
Signed-off-by: cafalchio <mcafalchio@gmail.com>
Signed-off-by: cafalchio <mcafalchio@gmail.com>
Signed-off-by: cafalchio <mcafalchio@gmail.com>
Signed-off-by: cafalchio <mcafalchio@gmail.com>
cafalchio
force-pushed
the
tool_call_stateless
branch
from
August 19, 2026 10:31
1f3a8d8 to
d859c3f
Compare
dawid-nowak
approved these changes
Aug 19, 2026
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.
Implemented 2026-07-28 tools/call
Metadata validation and x-mcp-header will be implemented in IBM/mcp-context-forge#6256
Added a duplicated of validate (validate_stateless) that can be removed once all methods are stateless.
Added a connect_backend_for_request.
closes #IBM/mcp-context-forge#6243