go-sdk/mcp
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Rob Findley 1afdb1f273 mcp: several fixes for streamable client reconnection
Do a pass through the streamable client reconnection logic, and fix
several bugs.

- Establish the initial GET even if MaxRetries is 0 (#256). This was
  broken because the GET bypasses the initial request and going straight
  to the SSE GET reconnection logic.
- Release the stream ownership when POST requests exit.
- Don't reconnect POST requests if we've received the expected response.
- Move unexported reconnection config to constants. Otherwise it is too
  hard to set ReconnectOptions (you have to use the DefaultOptions and
  mutate).

Fixes #256
2025-08-15 16:48:09 -04:00
..
testdata mcp: don't mark the server sesion as initialized prematurely 2025-08-07 14:59:36 -04:00
client.go mcp: fix cancellation for HTTP transport 2025-08-14 11:32:51 -04:00
client_list_test.go mcp: support stateless streamable sessions (#277) 2025-08-11 16:43:46 -04:00
client_test.go jsonschema: remove jsonschema code and depend on google/jsonschema-go (#262) 2025-08-07 15:30:06 -04:00
cmd.go mcp: make transports open structs 2025-08-12 15:14:21 -04:00
cmd_test.go mcp: make transports open structs 2025-08-12 15:14:21 -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 mcp: support stateless streamable sessions (#277) 2025-08-11 16:43:46 -04:00
content.go mcp: check that UnmarshalJSON methods for Content don't panic on nil 2025-08-14 14:27:25 -04:00
content_nil_test.go mcp: check that UnmarshalJSON methods for Content don't panic on nil 2025-08-14 14:27:25 -04:00
content_test.go mcp: don't omit required fields in ImageContent and AudioContent (#95) 2025-07-19 17:08:56 -04:00
event.go mcp: changed streamID's from int64 to random strings (#266) 2025-08-15 09:38:18 -04:00
event_test.go mcp: changed streamID's from int64 to random strings (#266) 2025-08-15 09:38:18 -04:00
example_middleware_test.go mcp: introduce Requests (#267) 2025-08-12 17:49:50 -04:00
example_progress_test.go mcp: introduce Requests (#267) 2025-08-12 17:49:50 -04:00
features.go mcp: advertise a capability if and only if added (#93) 2025-07-10 15:52:11 -04:00
features_test.go jsonschema: remove jsonschema code and depend on google/jsonschema-go (#262) 2025-08-07 15:30:06 -04:00
logging.go mcp: support stateless streamable sessions (#277) 2025-08-11 16:43:46 -04:00
mcp-repo-replace.txt internal/mcp: add a script to create the mcp SDK repo 2025-06-20 14:24:49 -07:00
mcp.go generate.go: remove 2025-06-23 20:16:40 -04:00
mcp_test.go mcp/tool: duplicate tools should not error (#295) 2025-08-14 13:38:31 -04:00
prompt.go mcp: new API for features (#88) 2025-07-07 14:54:52 -04:00
protocol.go mcp: rename mcp{Params,Result} to is{Params,Result} (#270) 2025-08-09 11:06:59 -04:00
protocol_test.go mcp: implement completion (#55) 2025-07-01 13:09:15 -04:00
resource.go mcp: introduce Requests (#267) 2025-08-12 17:49:50 -04: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
root.go internal/mcp: implement roots 2025-05-13 07:52:49 -07:00
server.go mcp/tool: duplicate tools should not error (#295) 2025-08-14 13:38:31 -04:00
server_example_test.go mcp: introduce Requests (#267) 2025-08-12 17:49:50 -04:00
server_test.go mcp: introduce Requests (#267) 2025-08-12 17:49:50 -04:00
session.go mcp: support stateless streamable sessions (#277) 2025-08-11 16:43:46 -04:00
shared.go mcp: introduce Requests (#267) 2025-08-12 17:49:50 -04:00
shared_test.go mcp: introduce Requests (#267) 2025-08-12 17:49:50 -04:00
sse.go mcp: make transports open structs 2025-08-12 15:14:21 -04:00
sse_example_test.go mcp: introduce Requests (#267) 2025-08-12 17:49:50 -04:00
sse_test.go mcp: make transports open structs 2025-08-12 15:14:21 -04:00
streamable.go mcp: several fixes for streamable client reconnection 2025-08-15 16:48:09 -04:00
streamable_test.go mcp: several fixes for streamable client reconnection 2025-08-15 16:48:09 -04:00
tool.go mcp: introduce Requests (#267) 2025-08-12 17:49:50 -04:00
tool_test.go mcp: introduce Requests (#267) 2025-08-12 17:49:50 -04:00
transport.go mcp: fix cancellation for HTTP transport 2025-08-14 11:32:51 -04:00
transport_test.go mcp: handle bad trailing stdio input graciously (#179) (#192) 2025-08-06 11:40:39 -04:00
util.go internal/util: move FieldJSONInfo into jsonschema/util (#251) 2025-08-06 12:07:57 -04:00