go-sdk/mcp
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jonathan Amsterdam b891d95361
mcp: example middleware wrapping ToolHandler (#351)
Add to the middleware example to show how to wrap a ToolHandler.

This middleware is very close to, but not the same as, wrapping a
ToolHandler directly. The only difference is that the middleware wraps
Server.callTool, which looks up the tool by name in the server's list
and then calls the handler. That lookup (plus other intervening
middleware, of course) is all that distinguishes this way of wrapping
from a more direct wrapping.
2025-08-22 11:05:03 -04:00
..
testdata mcp: fix bugs handling pointer types (#344) 2025-08-21 14:43:22 -04:00
client.go mcp: unexport InitializeClientRequest 2025-08-22 10:40:57 -04:00
client_list_test.go mcp: align PromptHandler args with other handlers (#348) 2025-08-22 10:44:05 -04:00
client_test.go mcp: remove references to ClientRequest[T] for concrete T (#343) 2025-08-21 15:24:58 -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: fix bugs handling pointer types (#344) 2025-08-21 14:43:22 -04:00
content.go mcp: implement a concurrency model for calls 2025-08-19 11:21:02 -04:00
content_nil_test.go mcp: change tool handler design (#325) 2025-08-20 19:36:34 -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: example middleware wrapping ToolHandler (#351) 2025-08-22 11:05:03 -04:00
example_progress_test.go mcp: introduce Requests (#267) 2025-08-12 17:49:50 -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: 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: enforce input schema type "object" (#349) 2025-08-22 11:04:44 -04:00
prompt.go mcp: align PromptHandler args with other handlers (#348) 2025-08-22 10:44:05 -04:00
protocol.go feat/Issue-13: elicitation support (#188) 2025-08-22 09:29:51 -04:00
protocol_test.go mcp: change tool handler design (#325) 2025-08-20 19:36:34 -04:00
requests.go mcp: unexport InitializeClientRequest 2025-08-22 10:40:57 -04:00
resource.go all: remove ServerRequest[T] for concrete T (#342) 2025-08-21 12:10:53 -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: enforce input schema type "object" (#349) 2025-08-22 11:04:44 -04:00
server_example_test.go all: remove ServerRequest[T] for concrete T (#342) 2025-08-21 12:10:53 -04:00
server_test.go mcp: enforce input schema type "object" (#349) 2025-08-22 11:04:44 -04:00
session.go mcp: support stateless streamable sessions (#277) 2025-08-11 16:43:46 -04:00
shared.go mcp: add Request.GetExtra (#350) 2025-08-22 11:04:01 -04:00
shared_test.go all: remove ServerRequest[T] for concrete T (#342) 2025-08-21 12:10:53 -04:00
sse.go mcp: make transports open structs 2025-08-12 15:14:21 -04:00
sse_example_test.go all: remove ServerRequest[T] for concrete T (#342) 2025-08-21 12:10:53 -04:00
sse_test.go mcp: make transports open structs 2025-08-12 15:14:21 -04:00
streamable.go mcp: handle the Mcp-Protocol-Version header correctly 2025-08-20 16:48:08 -04:00
streamable_test.go mcp: enforce input schema type "object" (#349) 2025-08-22 11:04:44 -04:00
tool.go all: remove ServerRequest[T] for concrete T (#342) 2025-08-21 12:10:53 -04:00
tool_test.go all: remove ServerRequest[T] for concrete T (#342) 2025-08-21 12:10:53 -04:00
transport.go mcp: pass TokenInfo to server handler (#292) 2025-08-20 10:50:16 -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