Default capability determination

This commit is contained in:
Kevin Fischer 2025-05-14 00:19:48 +09:00
commit 0f33dc05e1
No known key found for this signature in database
GPG key ID: 8E4CB46A9AC8D1C1

View file

@ -155,7 +155,15 @@ module ModelContextProtocol
end
def determine_capabilities
{ prompts: {}, resources: {}, tools: {} }
defines_prompts = @prompts.any? || @handlers[Methods::PROMPTS_LIST] != method(:list_prompts)
defines_tools = @tools.any? || @handlers[Methods::TOOLS_LIST] != method(:list_tools)
defines_resources = @resources.any? || @handlers[Methods::RESOURCES_LIST] != method(:list_resources)
defines_resource_templates = @resource_templates.any? || @handlers[Methods::RESOURCES_TEMPLATES_LIST] != method(:list_resource_templates)
{
prompts: defines_prompts ? {} : nil,
resources: defines_resources || defines_resource_templates ? {} : nil,
tools: defines_tools ? {} : nil,
}.compact
end
def server_info