Three pages carried names the 2026-07-28 specification does not use: "Multi-Round-Trip Results" for the pattern the specification titles Multi Round-Trip Requests (MRTR) and serves at basic/patterns/mrtr - the results are the `InputRequiredResult` wire type, not the feature - plus "Completions" for the utility the specification titles Completion, and "Notification Subscriptions" for the pattern it titles Subscriptions. Retitle the three pages to the specification's names, move them to /server/mrtr/ and /client/mrtr/, /server/completion/, and /server/subscriptions/ following the specification's slugs, update every internal reference, and keep the URLs published with v1.3.0 working via jekyll-redirect-from. The Discovery page keeps its title but moves from /server/discovery/ to /server/discover/, matching the specification's slug and the `server/discover` RPC, with its published URL redirected the same way.
2.3 KiB
2.3 KiB
| layout | title | nav_order | permalink | redirect_from | ||
|---|---|---|---|---|---|---|
| default | Overview | 1 | /client/ |
|
Building an MCP Client
The MCP::Client class provides an interface for interacting with MCP servers.
This class supports:
- Lifecycle negotiation and connection via
MCP::Client#connect, adopting the modern lifecycle when the server serves it; see Lifecycle - Server discovery via the
server/discovermethod (MCP::Client#discover); see Explicit Discovery - Liveness check via the
pingmethod (MCP::Client#ping) - Tool listing via the
tools/listmethod (MCP::Client#tools) - Tool invocation via the
tools/callmethod (MCP::Client#call_tool) - Resource listing via the
resources/listmethod (MCP::Client#resources) - Resource template listing via the
resources/templates/listmethod (MCP::Client#resource_templates) - Resource reading via the
resources/readmethod (MCP::Client#read_resource) - Prompt listing via the
prompts/listmethod (MCP::Client#prompts) - Prompt retrieval via the
prompts/getmethod (MCP::Client#get_prompt) - Completion requests via the
completion/completemethod (MCP::Client#complete); see Completion - Automatic driving of multi round-trip
input_requiredresults onceon_elicitation,on_sampling, oron_rootshandlers are registered; see Multi Round-Trip Requests - Cancellation of in-flight requests via the
cancellation:keyword; see Cancellation - Cursor-based page iteration on the
list_*methods and whole-collection fetching with themax_pagesguard; see Pagination - Automatic JSON-RPC 2.0 message formatting
- UUID request ID generation
Clients are initialized with a transport layer instance that handles the low-level communication mechanics. Authorization is handled by the transport layer; see Authorization.
Tool Objects
The client provides a wrapper class for tools returned by the server:
MCP::Client::Tool- Represents a single tool with its metadata
This class provides easy access to tool properties like name, description, input schema, and output schema.