Robert Findley
875d1d30c2
mcp: don't break the streamable client connection for transient errors ( #723 )
...
When POST requests in the streamableClientConn return a transient error,
return this error to the caller rather than permanently breaking the
connection.
This is achieved by using the special sentinel ErrRejected error to the
jsonrpc2 layer. In doing so, the change revealed a pre-existing bug:
ErrRejected had the same code as ErrConnectionClosing, and
jsonrpc2.WireError implements errors.Is, so the two sentinel values
could be conflated. This is fixed by using a new internal code.
There's more to do for #683 : we should also retry transient errors in
handleSSE.
For #683
2025-12-12 13:49:41 -05:00
..
testdata
Implement SEP-973 ( #570 )
2025-11-12 16:52:44 -05:00
capabilities_go125_test.go
mcp: add Capabilities fields to ServerOptions and ClientOptions ( #713 )
2025-12-11 20:17:46 -05:00
client.go
mcp: add Capabilities fields to ServerOptions and ClientOptions ( #713 )
2025-12-11 20:17:46 -05:00
client_example_test.go
mcp: fix goroutine leaks in unit tests ( #496 )
2025-10-16 11:13:30 -04:00
client_list_test.go
mcp: allow any value for schemas ( #517 )
2025-09-26 11:55:54 -04:00
client_test.go
mcp: add Capabilities fields to ServerOptions and ClientOptions ( #713 )
2025-12-11 20:17:46 -05:00
cmd.go
mcp: speed up TestCommandTransportDuration
2025-09-12 12:00:29 -04:00
cmd_export_test.go
mcp: speed up TestCommandTransportDuration
2025-09-12 12:00:29 -04:00
cmd_test.go
mcp: fix goroutine leaks in unit tests ( #496 )
2025-10-16 11:13:30 -04:00
conformance_go124_test.go
internal/mcp: update protocol versions
2025-06-18 08:11:16 -07:00
conformance_go125_test.go
internal/mcp: update protocol versions
2025-06-18 08:11:16 -07:00
conformance_test.go
Implement SEP-973 ( #570 )
2025-11-12 16:52:44 -05:00
content.go
Implement SEP-973 ( #570 )
2025-11-12 16:52:44 -05:00
content_nil_test.go
mcp: add CallToolResult.getError ( #481 )
2025-09-18 08:08:23 -04:00
content_test.go
Implement SEP-973 ( #570 )
2025-11-12 16:52:44 -05:00
elicitation_test.go
mcp: add Capabilities fields to ServerOptions and ClientOptions ( #713 )
2025-12-11 20:17:46 -05:00
error_test.go
mcp: add Capabilities fields to ServerOptions and ClientOptions ( #713 )
2025-12-11 20:17:46 -05:00
event.go
mcp: support SSE polling and server disconnects (SEP-1699) ( #663 )
2025-12-01 16:21:37 -05:00
event_test.go
mcp: remove the StreamID type ( #490 )
2025-09-18 12:01:07 -04:00
features.go
mcp: minor cleanup of some TODOs ( #332 )
2025-08-20 12:55:19 -04:00
features_test.go
mcp: change tool handler design ( #325 )
2025-08-20 19:36:34 -04:00
logging.go
mcp/server: enable server logging ( #501 )
2025-10-02 14:44:32 -04:00
mcp.go
mcp: fix inaccurate package doc ( #534 )
2025-09-26 14:16:10 -04:00
mcp_example_test.go
docs: add feature and troubleshooting documentation ( #463 )
2025-09-16 11:13:40 -04:00
mcp_test.go
mcp: debounce server change notifications ( #717 )
2025-12-11 15:11:32 -05:00
prompt.go
mcp: align PromptHandler args with other handlers ( #348 )
2025-08-22 10:44:05 -04:00
protocol.go
mcp: add Capabilities fields to ServerOptions and ClientOptions ( #713 )
2025-12-11 20:17:46 -05:00
protocol_test.go
mcp: add CallToolResult.getError ( #481 )
2025-09-18 08:08:23 -04:00
requests.go
mcp: support url mode elicitation ( #646 )
2025-11-23 12:58:28 -05:00
resource.go
all: expose JSON-RPC error codes, and support URLElicitationRequired errors ( #655 )
2025-12-01 11:29:17 -05:00
resource_go124.go
internal/mcp: add the FileResourceHandler method
2025-05-19 11:15:23 -07:00
resource_pre_go124.go
internal/mcp: add the FileResourceHandler method
2025-05-19 11:15:23 -07:00
resource_test.go
mcp/Resource: Refactor URI Template Matching with uritemplate Library ( #100 )
2025-07-08 15:52:54 -04:00
server.go
mcp: add Capabilities fields to ServerOptions and ClientOptions ( #713 )
2025-12-11 20:17:46 -05:00
server_example_test.go
doc: document logging ( #497 )
2025-09-19 11:58:58 -04:00
server_test.go
mcp: add Capabilities fields to ServerOptions and ClientOptions ( #713 )
2025-12-11 20:17:46 -05:00
session.go
mcp: support stateless streamable sessions ( #277 )
2025-08-11 16:43:46 -04:00
shared.go
mcp: use args struct for CloseSSEStream ( #718 )
2025-12-11 15:13:38 -05:00
shared_test.go
all: remove ServerRequest[T] for concrete T ( #342 )
2025-08-21 12:10:53 -04:00
sse.go
SSE: Add support for SSE handler options ( #508 )
2025-09-19 13:01:57 -04:00
sse_example_test.go
SSE: Add support for SSE handler options ( #508 )
2025-09-19 13:01:57 -04:00
sse_test.go
SSE: Add support for SSE handler options ( #508 )
2025-09-19 13:01:57 -04:00
streamable.go
mcp: don't break the streamable client connection for transient errors ( #723 )
2025-12-12 13:49:41 -05:00
streamable_bench_test.go
mcp: don't persist failed streamable sessions ( #605 )
2025-10-27 16:29:16 -04:00
streamable_client.go
mcp: clarify documentation for the streamable transports
2025-12-10 10:46:10 -05:00
streamable_client_test.go
mcp: don't break the streamable client connection for transient errors ( #723 )
2025-12-12 13:49:41 -05:00
streamable_example_test.go
mcp: fix goroutine leaks in unit tests ( #496 )
2025-10-16 11:13:30 -04:00
streamable_server.go
mcp: simplify stream state management in streamable transport
2025-12-10 13:28:25 -05:00
streamable_test.go
mcp: use args struct for CloseSSEStream ( #718 )
2025-12-11 15:13:38 -05:00
tool.go
mcp: validate tool names ( #640 )
2025-11-19 17:01:50 -05:00
tool_example_test.go
mcp: allow any value for schemas ( #517 )
2025-09-26 11:55:54 -04:00
tool_test.go
all: expose JSON-RPC error codes, and support URLElicitationRequired errors ( #655 )
2025-12-01 11:29:17 -05:00
transport.go
mcp: better handling for streamable context cancellation ( #677 )
2025-12-03 12:26:50 -05:00
transport_example_test.go
mcp: fix broken client root capabilities ( #698 )
2025-12-11 10:16:56 -05:00
transport_test.go
fix: handle Windows CRLF in MCP client( #664 ) ( #665 )
2025-12-01 12:16:39 -05:00
util.go
mcp: allow any value for schemas ( #517 )
2025-09-26 11:55:54 -04:00