Module: Ask::MCP

Defined in:
lib/ask/mcp.rb,
lib/ask/mcp/tool.rb,
lib/ask/mcp/client.rb,
lib/ask/mcp/prompt.rb,
lib/ask/mcp/server.rb,
lib/ask/mcp/version.rb,
lib/ask/mcp/resource.rb,
lib/ask/mcp/validator.rb,
lib/ask/mcp/auth/oauth.rb,
lib/ask/mcp/auth/token.rb,
lib/ask/mcp/transport/sse.rb,
lib/ask/mcp/native/messages.rb,
lib/ask/mcp/transport/stdio.rb,
lib/ask/mcp/adapters/ask_tool.rb,
lib/ask/mcp/transport/streamable_http.rb

Defined Under Namespace

Modules: Adapters, Auth, Native, Transport Classes: AuthError, Client, ConnectionError, Error, Prompt, ProtocolError, Resource, Server, Tool, ValidationError, Validator

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.connect(transport, options = {}) ⇒ Object



40
41
42
# File 'lib/ask/mcp.rb', line 40

def connect(transport, options = {})
  Client.new(transport, options)
end

.from_http(url, options = {}) ⇒ Object



54
55
56
57
# File 'lib/ask/mcp.rb', line 54

def from_http(url, options = {})
  transport = Transport::StreamableHTTP.new(url, options)
  Client.new(transport)
end

.from_sse(url, options = {}) ⇒ Object



49
50
51
52
# File 'lib/ask/mcp.rb', line 49

def from_sse(url, options = {})
  transport = Transport::SSE.new(url, options)
  Client.new(transport)
end

.from_stdio(command, args = [], options = {}) ⇒ Object



44
45
46
47
# File 'lib/ask/mcp.rb', line 44

def from_stdio(command, args = [], options = {})
  transport = Transport::Stdio.new(command, args, options)
  Client.new(transport)
end

.validate!(schema, arguments) ⇒ Object

Validate tool arguments against a JSON Schema input schema



60
61
62
# File 'lib/ask/mcp.rb', line 60

def validate!(schema, arguments)
  Validator.new(schema).validate!(arguments)
end