diff --git a/lib/mcp/server.rb b/lib/mcp/server.rb index 2753589..7cb0367 100644 --- a/lib/mcp/server.rb +++ b/lib/mcp/server.rb @@ -66,6 +66,7 @@ def initialize( Methods::PROMPTS_GET => method(:get_prompt), Methods::INITIALIZE => method(:init), Methods::PING => ->(_) { {} }, + Methods::NOTIFICATIONS_INITIALIZED => ->(_) {}, # No op handlers for currently unsupported methods Methods::RESOURCES_SUBSCRIBE => ->(_) {}, diff --git a/test/mcp/server_test.rb b/test/mcp/server_test.rb index 3e5853f..ee0792b 100644 --- a/test/mcp/server_test.rb +++ b/test/mcp/server_test.rb @@ -141,6 +141,26 @@ class ServerTest < ActiveSupport::TestCase assert_instrumentation_data({ method: "unsupported_method" }) end + test "#handle notifications/initialized returns nil response" do + request = { + jsonrpc: "2.0", + method: "notifications/initialized", + } + + assert_nil @server.handle(request) + assert_instrumentation_data({ method: "notifications/initialized" }) + end + + test "#handle_json notifications/initialized returns nil response" do + request = JSON.generate({ + jsonrpc: "2.0", + method: "notifications/initialized", + }) + + assert_nil @server.handle_json(request) + assert_instrumentation_data({ method: "notifications/initialized" }) + end + test "#handle tools/list returns available tools" do request = { jsonrpc: "2.0",