go-sdk/mcp
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Rob Findley 1a54234c27 mcp: fix reconnect semantics for hanging GET
A few problems with reconnection cropped up in the review of PR #307.
We should allow for the hanging GET to fail with StatusMethodNotAllowed.
This simply means that the server does not support sending notifications
or requests over the GET, which is allowed in the spec.

Also, we should fix the initial delay of the hanging GET request: it
should start with 0 delay. Fix the math for this and subsequent
attempts. Incidentally, this makes the tests take 3s on my machine, down
from 9s.

Also address some comments from #307.
2025-08-20 09:59:52 -04:00
..
testdata mcp: don't mark the server sesion as initialized prematurely 2025-08-07 14:59:36 -04:00
client.go .github: add a staticcheck action (#326) 2025-08-19 14:58:01 -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: implement a concurrency model for calls 2025-08-19 11:21:02 -04:00
content.go mcp: implement a concurrency model for calls 2025-08-19 11:21:02 -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: implement a concurrency model for calls 2025-08-19 11:21:02 -04:00
prompt.go mcp: new API for features (#88) 2025-07-07 14:54:52 -04:00
protocol.go mcp: rename logging symbols (#321) 2025-08-19 07:49:56 -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: factor out reusable functions from TestStreamableServerTransport 2025-08-20 09:59:52 -04:00
server_example_test.go mcp: introduce Requests (#267) 2025-08-12 17:49:50 -04:00
server_test.go mcp: add syntax and scheme validation to AddResourceTemplate (#253) 2025-08-19 17:43:26 -04:00
session.go mcp: support stateless streamable sessions (#277) 2025-08-11 16:43:46 -04:00
shared.go mcp: implement a concurrency model for calls 2025-08-19 11:21:02 -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: fix reconnect semantics for hanging GET 2025-08-20 09:59:52 -04:00
streamable_test.go mcp: improvements for 'stateless' streamable servers; 'distributed' mode 2025-08-20 09:59:52 -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: improvements for 'stateless' streamable servers; 'distributed' mode 2025-08-20 09:59:52 -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