Skip to content

Commit 0bed1f8

Browse files
committed
fix double-checking for AddTools/AddPromt
1 parent 552c66f commit 0bed1f8

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

server/server.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,9 @@ func (s *MCPServer) AddResourceTemplate(
450450
s.capabilitiesMu.RUnlock()
451451

452452
s.capabilitiesMu.Lock()
453-
s.capabilities.resources = &resourceCapabilities{}
453+
if s.capabilities.resources == nil {
454+
s.capabilities.resources = &resourceCapabilities{}
455+
}
454456
s.capabilitiesMu.Unlock()
455457
} else {
456458
s.capabilitiesMu.RUnlock()
@@ -472,7 +474,9 @@ func (s *MCPServer) AddPrompt(prompt mcp.Prompt, handler PromptHandlerFunc) {
472474
s.capabilitiesMu.RUnlock()
473475

474476
s.capabilitiesMu.Lock()
475-
s.capabilities.prompts = &promptCapabilities{}
477+
if s.capabilities.prompts == nil {
478+
s.capabilities.prompts = &promptCapabilities{}
479+
}
476480
s.capabilitiesMu.Unlock()
477481
} else {
478482
s.capabilitiesMu.RUnlock()
@@ -496,7 +500,9 @@ func (s *MCPServer) AddTools(tools ...ServerTool) {
496500
s.capabilitiesMu.RUnlock()
497501

498502
s.capabilitiesMu.Lock()
499-
s.capabilities.tools = &toolCapabilities{}
503+
if s.capabilities.tools == nil {
504+
s.capabilities.tools = &toolCapabilities{}
505+
}
500506
s.capabilitiesMu.Unlock()
501507
} else {
502508
s.capabilitiesMu.RUnlock()

0 commit comments

Comments
 (0)