From e28c82786b46574a54a35fefa5db02fb88cf06e2 Mon Sep 17 00:00:00 2001 From: wangshun <96341168+xixi-box@users.noreply.github.com> Date: Wed, 11 Nov 2026 22:05:15 +0000 Subject: [PATCH] fix: ServerHandler defaults answer prompts/list and completion/complete Signed-off-by: wangshun <96341168+xixi-box@users.noreply.github.com> --- crates/rmcp/src/handler/server.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/crates/rmcp/src/handler/server.rs b/crates/rmcp/src/handler/server.rs index c28d66312..0844591f8 100644 --- a/crates/rmcp/src/handler/server.rs +++ b/crates/rmcp/src/handler/server.rs @@ -465,7 +465,11 @@ macro_rules! server_handler_methods { request: CompleteRequestParams, context: RequestContext, ) -> impl Future> + MaybeSendFuture + '_ { - std::future::ready(Ok(CompleteResult::default())) + std::future::ready(if self.get_info().capabilities.completions.is_some() { + Ok(CompleteResult::default()) + } else { + Err(McpError::method_not_found::()) + }) } fn set_level( &self, @@ -486,7 +490,11 @@ macro_rules! server_handler_methods { request: Option, context: RequestContext, ) -> impl Future> + MaybeSendFuture + '_ { - std::future::ready(Ok(ListPromptsResult::default())) + std::future::ready(if self.get_info().capabilities.prompts.is_some() { + Ok(ListPromptsResult::default()) + } else { + Err(McpError::method_not_found::()) + }) } fn list_resources( &self,