Class: GemCP::Tools::GetContext

Inherits:
Base
  • Object
show all
Defined in:
lib/gemcp/tools/get_context.rb

Overview

Aggregate gem metadata, recent versions, and owners into a single response with provenance metadata for AI agent consumption.

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from GemCP::Tools::Base

Instance Method Details

#call(name:, recent_versions: 5) ⇒ Hash

Returns MCP response.

Parameters:

  • name (String)

    gem name

  • recent_versions (Integer) (defaults to: 5)

    how many recent versions to include

Returns:

  • (Hash)

    MCP response



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/gemcp/tools/get_context.rb', line 19

def call(name:, recent_versions: 5)
  result = with_errors do
    {
      gem: client.gem(name),
      versions: client.versions(name).first(recent_versions),
      owners: client.owners(name),
      provenance: {
        source: "RubyGems.org public API",
        retrieved_at: Time.now.utc.iso8601,
        authoritative_fields: [
          "versions", "dependencies", "downloads", "owners", "checksums", "compatibility", "URIs"
        ],
        untrusted_documentation_included: false
      }
    }
  end
  render(result)
end