From eb1c93909b4103db8846a2c9b50e0b052d3ff82e Mon Sep 17 00:00:00 2001 From: Koichi ITO Date: Sat, 31 May 2025 01:24:23 +0900 Subject: [PATCH] Make `description` and `mime_type` optional keyword arguments in `Resource` This change is related to #29. According to the specification, both `description` and `mimeType` of Resource are optional: https://modelcontextprotocol.io/specification/2025-03-26/server/resources#resource Therefore, it makes sense to treat them as optional keyword arguments, similar to how this is done in `ResourceTemplate`: https://github.com/modelcontextprotocol/ruby-sdk/blob/0b49c3/lib/mcp/resource_template.rb#L8 As additional context, the TypeScript SDK also treats them as optional. https://github.com/modelcontextprotocol/typescript-sdk/blob/1.12.1/src/types.ts#L438-L466 --- lib/mcp/resource.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mcp/resource.rb b/lib/mcp/resource.rb index 5b985a93..b0c66e59 100644 --- a/lib/mcp/resource.rb +++ b/lib/mcp/resource.rb @@ -5,7 +5,7 @@ module MCP class Resource attr_reader :uri, :name, :description, :mime_type - def initialize(uri:, name:, description:, mime_type:) + def initialize(uri:, name:, description: nil, mime_type: nil) @uri = uri @name = name @description = description