@@ -33,32 +33,20 @@ func NewServerTool(tool mcp.Tool, handler server.ToolHandlerFunc) server.ServerT
33
33
return server.ServerTool {Tool : tool , Handler : handler }
34
34
}
35
35
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 ,
40
40
}
41
41
}
42
42
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 {
45
45
Prompt : prompt ,
46
46
Handler : handler ,
47
47
}
48
48
}
49
49
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
-
62
50
// Toolset represents a collection of MCP functionality that can be enabled or disabled as a group.
63
51
type Toolset struct {
64
52
Name string
@@ -69,9 +57,9 @@ type Toolset struct {
69
57
readTools []server.ServerTool
70
58
// resources are not tools, but the community seems to be moving towards namespaces as a broader concept
71
59
// and in order to have multiple servers running concurrently, we want to avoid overlapping resources too.
72
- resourceTemplates []ServerResourceTemplate
60
+ resourceTemplates []server. ServerResourceTemplate
73
61
// prompts are also not tools but are namespaced similarly
74
- prompts []ServerPrompt
62
+ prompts []server. ServerPrompt
75
63
}
76
64
77
65
func (t * Toolset ) GetActiveTools () []server.ServerTool {
@@ -105,24 +93,24 @@ func (t *Toolset) RegisterTools(s *server.MCPServer) {
105
93
}
106
94
}
107
95
108
- func (t * Toolset ) AddResourceTemplates (templates ... ServerResourceTemplate ) * Toolset {
96
+ func (t * Toolset ) AddResourceTemplates (templates ... server. ServerResourceTemplate ) * Toolset {
109
97
t .resourceTemplates = append (t .resourceTemplates , templates ... )
110
98
return t
111
99
}
112
100
113
- func (t * Toolset ) AddPrompts (prompts ... ServerPrompt ) * Toolset {
101
+ func (t * Toolset ) AddPrompts (prompts ... server. ServerPrompt ) * Toolset {
114
102
t .prompts = append (t .prompts , prompts ... )
115
103
return t
116
104
}
117
105
118
- func (t * Toolset ) GetActiveResourceTemplates () []ServerResourceTemplate {
106
+ func (t * Toolset ) GetActiveResourceTemplates () []server. ServerResourceTemplate {
119
107
if ! t .Enabled {
120
108
return nil
121
109
}
122
110
return t .resourceTemplates
123
111
}
124
112
125
- func (t * Toolset ) GetAvailableResourceTemplates () []ServerResourceTemplate {
113
+ func (t * Toolset ) GetAvailableResourceTemplates () []server. ServerResourceTemplate {
126
114
return t .resourceTemplates
127
115
}
128
116
@@ -131,7 +119,7 @@ func (t *Toolset) RegisterResourcesTemplates(s *server.MCPServer) {
131
119
return
132
120
}
133
121
for _ , resource := range t .resourceTemplates {
134
- s .AddResourceTemplate (resource .resourceTemplate , resource .handler )
122
+ s .AddResourceTemplate (resource .Template , resource .Handler )
135
123
}
136
124
}
137
125
0 commit comments