From c40062af3efea943797933ae6dab802bc1eb7f2b Mon Sep 17 00:00:00 2001 From: David Gageot Date: Tue, 22 Jul 2025 20:17:25 +0200 Subject: [PATCH 1/3] Replace all Prompts Signed-off-by: David Gageot --- server/server.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/server/server.go b/server/server.go index a98a2132b..cba30da9f 100644 --- a/server/server.go +++ b/server/server.go @@ -422,6 +422,15 @@ func (s *MCPServer) AddPrompt(prompt mcp.Prompt, handler PromptHandlerFunc) { s.AddPrompts(ServerPrompt{Prompt: prompt, Handler: handler}) } +// SetPrompts replaces all existing prompts with the provided list +func (s *MCPServer) SetPrompts(prompts ...ServerPrompt) { + s.promptsMu.Lock() + s.prompts = make(map[string]mcp.Prompt, len(prompts)) + s.promptHandlers = make(map[string]PromptHandlerFunc, len(prompts)) + s.promptsMu.Unlock() + s.AddPrompts(prompts...) +} + // DeletePrompts removes prompts from the server func (s *MCPServer) DeletePrompts(names ...string) { s.promptsMu.Lock() From ebba84eefbaff17767738a7119e9d537f2843126 Mon Sep 17 00:00:00 2001 From: David Gageot Date: Tue, 22 Jul 2025 20:24:37 +0200 Subject: [PATCH 2/3] Replace all Resources Signed-off-by: David Gageot --- server/server.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/server/server.go b/server/server.go index cba30da9f..ab6dcdd1e 100644 --- a/server/server.go +++ b/server/server.go @@ -348,6 +348,14 @@ func (s *MCPServer) AddResources(resources ...ServerResource) { } } +// SetResources replaces all existing resources with the provided list +func (s *MCPServer) SetResources(resources ...ServerResource) { + s.resourcesMu.Lock() + s.resources = make(map[string]resourceEntry, len(resources)) + s.resourcesMu.Unlock() + s.AddResources(resources...) +} + // AddResource registers a new resource and its handler func (s *MCPServer) AddResource( resource mcp.Resource, From 6780f8e88b6fdb8852cf38ee124129e1be17d21e Mon Sep 17 00:00:00 2001 From: David Gageot Date: Mon, 28 Jul 2025 07:37:15 +0200 Subject: [PATCH 3/3] Replace all Resource Templates Signed-off-by: David Gageot --- server/server.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/server/server.go b/server/server.go index ab6dcdd1e..17c79bd41 100644 --- a/server/server.go +++ b/server/server.go @@ -399,6 +399,14 @@ func (s *MCPServer) AddResourceTemplates(resourceTemplates ...ServerResourceTemp } } +// SetResourceTemplates replaces all existing resource templates with the provided list +func (s *MCPServer) SetResourceTemplates(templates ...ServerResourceTemplate) { + s.resourcesMu.Lock() + s.resourceTemplates = make(map[string]resourceTemplateEntry, len(templates)) + s.resourcesMu.Unlock() + s.AddResourceTemplates(templates...) +} + // AddResourceTemplate registers a new resource template and its handler func (s *MCPServer) AddResourceTemplate( template mcp.ResourceTemplate,