Skip to content

Commit bb38f77

Browse files
committed
Use server.ServerResourceTemplate and server.ServerPrompt wrappers
1 parent d86a092 commit bb38f77

File tree

1 file changed

+13
-25
lines changed

1 file changed

+13
-25
lines changed

pkg/toolsets/toolsets.go

Lines changed: 13 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -33,32 +33,20 @@ func NewServerTool(tool mcp.Tool, handler server.ToolHandlerFunc) server.ServerT
3333
return server.ServerTool{Tool: tool, Handler: handler}
3434
}
3535

36-
func NewServerResourceTemplate(resourceTemplate mcp.ResourceTemplate, handler server.ResourceTemplateHandlerFunc) ServerResourceTemplate {
37-
return ServerResourceTemplate{
38-
resourceTemplate: resourceTemplate,
39-
handler: handler,
36+
func NewServerResourceTemplate(resourceTemplate mcp.ResourceTemplate, handler server.ResourceTemplateHandlerFunc) server.ServerResourceTemplate {
37+
return server.ServerResourceTemplate{
38+
Template: resourceTemplate,
39+
Handler: handler,
4040
}
4141
}
4242

43-
func NewServerPrompt(prompt mcp.Prompt, handler server.PromptHandlerFunc) ServerPrompt {
44-
return ServerPrompt{
43+
func NewServerPrompt(prompt mcp.Prompt, handler server.PromptHandlerFunc) server.ServerPrompt {
44+
return server.ServerPrompt{
4545
Prompt: prompt,
4646
Handler: handler,
4747
}
4848
}
4949

50-
// ServerResourceTemplate represents a resource template that can be registered with the MCP server.
51-
type ServerResourceTemplate struct {
52-
resourceTemplate mcp.ResourceTemplate
53-
handler server.ResourceTemplateHandlerFunc
54-
}
55-
56-
// ServerPrompt represents a prompt that can be registered with the MCP server.
57-
type ServerPrompt struct {
58-
Prompt mcp.Prompt
59-
Handler server.PromptHandlerFunc
60-
}
61-
6250
// Toolset represents a collection of MCP functionality that can be enabled or disabled as a group.
6351
type Toolset struct {
6452
Name string
@@ -69,9 +57,9 @@ type Toolset struct {
6957
readTools []server.ServerTool
7058
// resources are not tools, but the community seems to be moving towards namespaces as a broader concept
7159
// and in order to have multiple servers running concurrently, we want to avoid overlapping resources too.
72-
resourceTemplates []ServerResourceTemplate
60+
resourceTemplates []server.ServerResourceTemplate
7361
// prompts are also not tools but are namespaced similarly
74-
prompts []ServerPrompt
62+
prompts []server.ServerPrompt
7563
}
7664

7765
func (t *Toolset) GetActiveTools() []server.ServerTool {
@@ -105,24 +93,24 @@ func (t *Toolset) RegisterTools(s *server.MCPServer) {
10593
}
10694
}
10795

108-
func (t *Toolset) AddResourceTemplates(templates ...ServerResourceTemplate) *Toolset {
96+
func (t *Toolset) AddResourceTemplates(templates ...server.ServerResourceTemplate) *Toolset {
10997
t.resourceTemplates = append(t.resourceTemplates, templates...)
11098
return t
11199
}
112100

113-
func (t *Toolset) AddPrompts(prompts ...ServerPrompt) *Toolset {
101+
func (t *Toolset) AddPrompts(prompts ...server.ServerPrompt) *Toolset {
114102
t.prompts = append(t.prompts, prompts...)
115103
return t
116104
}
117105

118-
func (t *Toolset) GetActiveResourceTemplates() []ServerResourceTemplate {
106+
func (t *Toolset) GetActiveResourceTemplates() []server.ServerResourceTemplate {
119107
if !t.Enabled {
120108
return nil
121109
}
122110
return t.resourceTemplates
123111
}
124112

125-
func (t *Toolset) GetAvailableResourceTemplates() []ServerResourceTemplate {
113+
func (t *Toolset) GetAvailableResourceTemplates() []server.ServerResourceTemplate {
126114
return t.resourceTemplates
127115
}
128116

@@ -131,7 +119,7 @@ func (t *Toolset) RegisterResourcesTemplates(s *server.MCPServer) {
131119
return
132120
}
133121
for _, resource := range t.resourceTemplates {
134-
s.AddResourceTemplate(resource.resourceTemplate, resource.handler)
122+
s.AddResourceTemplate(resource.Template, resource.Handler)
135123
}
136124
}
137125

0 commit comments

Comments
 (0)