Skip to content

Commit c81a412

Browse files
committed
Use server.ServerResourceTemplate and server.ServerPrompt wrappers
1 parent f2b9324 commit c81a412

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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy