Xin
92b6983c1c
mcp: add ResourceLink type ( #76 )
...
This PR introduces the ResourceLink type to represent links to
resources. The new type includes the following fields: `uri`, `name`,
`title`, `description`, `mimeType`, `size`, and `_meta`.
This implementation conforms to the `ResourceLink` schema introduced in
the [MCP schema
2025-06-18](1cfdf1e7a8/schema/2025-06-18/schema.json (L1826) ).
Note: `ResourceLink` extends from the `Resource` type in the MCP schema.
As such, it inherits support for optional fields like `title`, `_meta`,
etc. Thus, `URI`, `Name`, `Title`, `Description`, and `Size` are added
to the `wireContent`
For reference, the [TypeScript SDK test
suite](fb4d07f0ee/src/types.test.ts (L43) )
provides examples demonstrating valid ResourceLink objects with all
optional fields populated.
https://modelcontextprotocol.io/specification/2025-06-18/server/tools#resource-links
- [ResourceLink JSON
Schema](1cfdf1e7a8/schema/2025-06-18/schema.json (L1826) )
Signed-off-by: Xin Fu <xfu83@bloomberg.net>
Fixes #14 .
2025-07-01 12:41:22 -04:00
..
testdata
mcp,design: revert 'content' back to an interface type ( #29 )
2025-06-25 13:09:05 -04:00
client.go
mcp/client: fix typo in changeAndNotify&ReadResource ( #68 )
2025-06-30 07:51:01 -04:00
client_list_test.go
feat(ci): Add check to ensure go fmt has been ran ( #43 )
2025-06-25 15:31:44 -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,design: revert 'content' back to an interface type ( #29 )
2025-06-25 13:09:05 -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: add ResourceLink type ( #76 )
2025-07-01 12:41:22 -04:00
content_test.go
mcp: add ResourceLink type ( #76 )
2025-07-01 12:41:22 -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,design: revert 'content' back to an interface type ( #29 )
2025-06-25 13:09:05 -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
mcp: Implement KeepAlive for client and server
2025-06-27 08:24:05 -04:00
prompt.go
internal/mcp: simplify prompt API
2025-06-20 07:28:04 -07:00
protocol.go
mcp: small changes to CallTool structs ( #60 )
2025-06-30 13:47:24 -04:00
protocol_test.go
mcp: fix CallToolResultFor[T] unmarshaling ( #46 )
2025-06-25 16:45:58 -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: Implement KeepAlive for client and server
2025-06-27 08:24:05 -04:00
server_example_test.go
mcp,design: revert 'content' back to an interface type ( #29 )
2025-06-25 13:09:05 -04:00
server_test.go
internal/mcp: change paginateList to a generic helper
2025-06-05 07:47:33 -07:00
shared.go
mcp: Implement KeepAlive for client and server
2025-06-27 08:24:05 -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,design: revert 'content' back to an interface type ( #29 )
2025-06-25 13:09:05 -04:00
sse_test.go
mcp,design: revert 'content' back to an interface type ( #29 )
2025-06-25 13:09:05 -04:00
streamable.go
Fix typos ( #66 )
2025-06-30 08:11:04 -04:00
streamable_test.go
mcp,design: revert 'content' back to an interface type ( #29 )
2025-06-25 13:09:05 -04:00
tool.go
mcp: small changes to CallTool structs ( #60 )
2025-06-30 13:47:24 -04:00
tool_test.go
internal/mcp: rename NewXXX->NewServerXXX
2025-06-17 17:54:58 -07:00
transport.go
all: minor cleanup and README improvements ( #30 )
2025-06-25 13:12:39 -04: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