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
This commit is contained in:
parent
735ad517ed
commit
3da831b0c9
2 changed files with 372 additions and 249 deletions
|
|
@ -24,7 +24,7 @@ type HiArgs struct {
|
|||
|
||||
func SayHi(ctx context.Context, ss *mcp.ServerSession, params *mcp.CallToolParamsFor[HiArgs]) (*mcp.CallToolResultFor[struct{}], error) {
|
||||
return &mcp.CallToolResultFor[struct{}]{
|
||||
Content: []*mcp.Content{
|
||||
Content: []*mcp.ContentBlock{
|
||||
mcp.NewTextContent("Hi " + params.Name),
|
||||
},
|
||||
}, nil
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ type SayHiParams struct {
|
|||
|
||||
func SayHi(ctx context.Context, cc *mcp.ServerSession, params *mcp.CallToolParamsFor[SayHiParams]) (*mcp.CallToolResultFor[any], error) {
|
||||
return &mcp.CallToolResultFor[any]{
|
||||
Content: []*mcp.Content{
|
||||
Content: []*mcp.ContentBlock{
|
||||
mcp.NewTextContent("Hi " + params.Name),
|
||||
},
|
||||
}, nil
|
||||
|
|
|
|||
Loading…
Reference in a new issue