class LittleGhost::MCP::SigV4Signer
SigV4Signer adds AWS Signature Version 4 authentication to MCP requests. Requires the application-provided aws-sigv4 gem and uses its normal AWS credentials-provider chain unless one is supplied explicitly.
Public Class Methods
# File lib/little_ghost/mcp/client.rb, line 373 def initialize(service:, region:, credentials_provider: nil) require "aws-sigv4" @signer = Aws::Sigv4::Signer.new( service: service, region: region, credentials_provider: credentials_provider ) rescue LoadError raise ConfigurationError, "MCP SigV4 signing requires the optional aws-sigv4 gem" end
Configures signing for service and region.
Public Instance Methods
Source
# File lib/little_ghost/mcp/client.rb, line 385 def call(request) signature = @signer.sign_request( http_method: request.method, url: request.uri, headers: request.to_hash.transform_values { |values| Array(values).join(",") }, body: request.body ) signature.headers.each { |name, value| request[name] = value } end
Signs request in place immediately before transport.