go-sdk/mcp
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Rob Findley f4a9396942 mcp: fix a bug causing premature termination of streams
As reported in #227, there was a race where streams could be terminated
before the final reply was written. Fix this by checking the number of
outstanding requests in the same critical section that acquires outgoing
messages to write.

Fixes #227
2025-08-05 12:14:02 -04:00
..
testdata mcp/server: advertise completions only if installed (#213) 2025-08-04 10:12:01 -04:00
client.go mcp: fix comments (#241) 2025-08-05 10:46:39 -04:00
client_list_test.go mcp: new API for features (#88) 2025-07-07 14:54:52 -04:00
client_test.go internal/mcp: avoid JSON nulls on the wire 2025-06-18 12:32:33 -07:00
cmd.go internal/mcp: rename Stream->Connection 2025-06-17 17:55:11 -07:00
cmd_test.go mcp: NewClient and NewServer take Implementation (#113) 2025-07-10 16:57:38 -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: fix conformance tests (#132) 2025-07-14 12:47:58 -04:00
content.go mcp: dedup wire type for image and audio (#149) 2025-07-21 11:40:32 -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: incorporate EventStore into StreamableServerTransport (#156) 2025-07-23 13:42:50 -04:00
event_test.go mcp: incorporate EventStore into StreamableServerTransport (#156) 2025-07-23 13:42:50 -04:00
example_middleware_test.go mcp: Add example of using Middleware for logging purposes (#58) 2025-07-17 10:44:15 -04:00
example_progress_test.go mcp: NewClient and NewServer take Implementation (#113) 2025-07-10 16:57:38 -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 mcp: new API for features (#88) 2025-07-07 14:54:52 -04:00
logging.go Fix typos (#66) 2025-06-30 08:11:04 -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 update Subscribe/Unsubscribe handlers in ServerOpts (#231) 2025-08-04 14:46:49 -04:00
prompt.go mcp: new API for features (#88) 2025-07-07 14:54:52 -04:00
protocol.go Implement json.Unmarshaler to CreateMessageResult (#191) 2025-07-30 13:25:06 -04:00
protocol_test.go mcp: implement completion (#55) 2025-07-01 13:09:15 -04:00
resource.go mcp/Resource: Refactor URI Template Matching with uritemplate Library (#100) 2025-07-08 15:52:54 -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 update Subscribe/Unsubscribe handlers in ServerOpts (#231) 2025-08-04 14:46:49 -04:00
server_example_test.go mcp: NewClient and NewServer take Implementation (#113) 2025-07-10 16:57:38 -04:00
server_test.go update Subscribe/Unsubscribe handlers in ServerOpts (#231) 2025-08-04 14:46:49 -04:00
shared.go mcp: fix comments (#221) 2025-08-01 16:20:55 -04:00
shared_test.go mcp: new API for features (#88) 2025-07-07 14:54:52 -04:00
sse.go mcp: reject requests with bad IDs (#202) 2025-07-30 12:26:40 -04:00
sse_example_test.go mcp: NewClient and NewServer take Implementation (#113) 2025-07-10 16:57:38 -04:00
sse_test.go mcp: handle bad or missing params (#210) 2025-07-31 10:57:59 -04:00
streamable.go mcp: fix a bug causing premature termination of streams 2025-08-05 12:14:02 -04:00
streamable_test.go mcp/server: advertise completions only if installed (#213) 2025-08-04 10:12:01 -04:00
tool.go jsonschema: options for inference (#185) 2025-08-04 10:50:57 -04:00
tool_test.go mcp: new API for features (#88) 2025-07-07 14:54:52 -04:00
transport.go internal/jsonrpc2,mcp: fix typos (#183) 2025-07-28 12:18:03 -04:00
transport_test.go jsonrpc: package with JSON-RPC symbols (#117) 2025-07-10 14:33:23 -04:00
util.go internal/mcp: unify json tag parsing 2025-06-04 11:03:21 -07:00
util_test.go internal/mcp: meta and progress token 2025-05-27 12:53:53 -07:00