From 0160cdefa0c43d1786646f7ee7286c00d5e42658 Mon Sep 17 00:00:00 2001 From: Jonathan Amsterdam Date: Wed, 18 Jun 2025 01:40:10 -0400 Subject: [PATCH] internal/mcp: fix prompt example The hello example was using params.Name, which is the name of the prompt. It should use args.Name. Change-Id: I0e7e992bbe312fd5a6e56e9bc46a931f0eeb423c Reviewed-on: https://go-review.googlesource.com/c/tools/+/682416 Reviewed-by: Robert Findley Reviewed-by: Sam Thanawalla LUCI-TryBot-Result: Go LUCI --- examples/hello/main.go | 4 ++-- mcp/prompt.go | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/hello/main.go b/examples/hello/main.go index 77fc191..69a9247 100644 --- a/examples/hello/main.go +++ b/examples/hello/main.go @@ -32,11 +32,11 @@ func SayHi(ctx context.Context, ss *mcp.ServerSession, params *mcp.CallToolParam // TODO(jba): it should be OK for args to be a pointer, but this fails in // jsonschema. Needs investigation. -func PromptHi(ctx context.Context, ss *mcp.ServerSession, args HiArgs, params *mcp.GetPromptParams) (*mcp.GetPromptResult, error) { +func PromptHi(ctx context.Context, ss *mcp.ServerSession, args HiArgs, _ *mcp.GetPromptParams) (*mcp.GetPromptResult, error) { return &mcp.GetPromptResult{ Description: "Code review prompt", Messages: []*mcp.PromptMessage{ - {Role: "user", Content: mcp.NewTextContent("Say hi to " + params.Name)}, + {Role: "user", Content: mcp.NewTextContent("Say hi to " + args.Name)}, }, }, nil } diff --git a/mcp/prompt.go b/mcp/prompt.go index c690325..de5555d 100644 --- a/mcp/prompt.go +++ b/mcp/prompt.go @@ -75,11 +75,11 @@ func NewServerPrompt[In any](name, description string, handler func(context.Cont if err != nil { return nil, err } - var v In - if err := unmarshalSchema(rawArgs, resolved, &v); err != nil { + var args In + if err := unmarshalSchema(rawArgs, resolved, &args); err != nil { return nil, err } - return handler(ctx, ss, v, params) + return handler(ctx, ss, args, params) } for _, opt := range opts { opt.set(prompt)