go-sdk/mcp
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jonathan Amsterdam 3da831b0c9
mcp: move to 2025-06-18 schema (#8)
* mcp: move to 2025-06-18 schema

Add types and fields for the latest MCP schema.

The main challenge here was dealing with the presence of _meta fields
on many types, like Tool, Prompt and Resource.

- Distinguish between the _meta field of a request's params, which
  includes a progress token, from the _meta field on other types,
  which is simply a map.

- Redefine GetMeta to return a pointer to the map. We wanted to avoid
  that, but I don't see a clean way to do so. An alternative would be
  to have GetMeta return a map, and SetMeta to set it.

- Provide GetProgressToken for requests only (not notifications or other
  types).

- Still to do: deal with the meta and annotation fields of ContentBlock,
  which are currently duplicated for Resource and ResourceContents.

* Meta and progress token redesign
2025-06-25 09:48:33 -04:00
..
testdata internal/mcp: avoid JSON nulls on the wire 2025-06-18 12:32:33 -07:00
client.go internal/mcp: use JSONRPC aliases consistently 2025-06-19 06:55:37 -07:00
client_list_test.go internal/mcp: simplify prompt API 2025-06-20 07:28:04 -07: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: move to 2025-06-18 schema (#8) 2025-06-25 09:48:33 -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 internal/mcp: use JSONRPC aliases consistently 2025-06-19 06:55:37 -07:00
content.go mcp: move to 2025-06-18 schema (#8) 2025-06-25 09:48:33 -04:00
content_test.go mcp: move to 2025-06-18 schema (#8) 2025-06-25 09:48:33 -04:00
create-repo.sh internal/mcp: add a script to create the mcp SDK repo 2025-06-20 14:24:49 -07:00
example_progress_test.go mcp: move to 2025-06-18 schema (#8) 2025-06-25 09:48:33 -04:00
features.go internal/mcp: keep an ordered list of feature keys 2025-05-20 13:37:12 -07:00
features_test.go mcp: move to 2025-06-18 schema (#8) 2025-06-25 09:48:33 -04:00
logging.go internal/mcp: implement logging 2025-05-22 15:02:13 -07: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: move to 2025-06-18 schema (#8) 2025-06-25 09:48:33 -04:00
prompt.go internal/mcp: simplify prompt API 2025-06-20 07:28:04 -07:00
protocol.go mcp: move to 2025-06-18 schema (#8) 2025-06-25 09:48:33 -04:00
protocol_test.go mcp: move to 2025-06-18 schema (#8) 2025-06-25 09:48:33 -04:00
resource.go internal/mcp: implement resource templates 2025-06-09 10:59:01 -07: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 internal/mcp: implement resource templates 2025-06-09 10:59:01 -07:00
root.go internal/mcp: implement roots 2025-05-13 07:52:49 -07:00
server.go mcp: move to 2025-06-18 schema (#8) 2025-06-25 09:48:33 -04:00
server_example_test.go mcp: move to 2025-06-18 schema (#8) 2025-06-25 09:48:33 -04:00
server_test.go internal/mcp: change paginateList to a generic helper 2025-06-05 07:47:33 -07:00
shared.go mcp: move to 2025-06-18 schema (#8) 2025-06-25 09:48:33 -04:00
shared_test.go mcp: move to 2025-06-18 schema (#8) 2025-06-25 09:48:33 -04:00
sse.go internal/mcp: provide a customizable http.Client to client transports 2025-06-19 07:22:49 -07:00
sse_example_test.go mcp: move to 2025-06-18 schema (#8) 2025-06-25 09:48:33 -04:00
sse_test.go mcp: move to 2025-06-18 schema (#8) 2025-06-25 09:48:33 -04:00
streamable.go internal/mcp: make parseEventID robust, and add a test 2025-06-23 10:15:21 -07:00
streamable_test.go mcp: move to 2025-06-18 schema (#8) 2025-06-25 09:48:33 -04:00
tool.go mcp: move to 2025-06-18 schema (#8) 2025-06-25 09:48:33 -04:00
tool_test.go internal/mcp: rename NewXXX->NewServerXXX 2025-06-17 17:54:58 -07:00
transport.go internal/mcp: rename StdIO->Stdio 2025-06-20 13:34:58 -07:00
transport_test.go internal/mcp: use JSONRPC aliases consistently 2025-06-19 06:55:37 -07: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