Skip to main content

Module models

Module models 

Source
Expand description

MCP Protocol Models

This module contains data structures for the Model Context Protocol (MCP), which enables communication between AI agents and external tools/services.

MCP follows a client-server architecture where:

  • The client (agent) sends requests to discover and invoke tools
  • The server provides tools, resources, and prompts
  • Communication is based on JSON-RPC 2.0

§Protocol Flow

  1. Client sends McpInitializeRequest to establish connection
  2. Server responds with McpInitializeResult and capabilities
  3. Client discovers available tools via McpToolListRequest
  4. Client invokes tools using McpToolCallRequest

§Example

use bamboo_agent::agent::mcp::protocol::models::*;

// Create initialization request
let init_request = McpInitializeRequest::default();

// Call a tool
let tool_call = McpToolCallRequest {
    name: "read_file".to_string(),
    arguments: Some(serde_json::json!({"path": "/test.txt"})),
};

Structs§

ClientCapabilities
Client capabilities declaration.
Implementation
Implementation information for client or server.
JsonRpcError
A JSON-RPC 2.0 error object.
JsonRpcNotification
A JSON-RPC 2.0 notification message.
JsonRpcRequest
A JSON-RPC 2.0 request message.
JsonRpcResponse
A JSON-RPC 2.0 response message.
McpInitializeRequest
MCP initialization request sent by the client.
McpInitializeResult
MCP initialization result returned by the server.
McpToolCallRequest
Tool call request to invoke a tool.
McpToolCallResult
Tool call result containing execution output.
McpToolInfo
Tool metadata and schema information.
McpToolListRequest
Tool list request (empty parameters).
McpToolListResult
Tool list result containing available tools.
PromptsCapability
Prompts capability configuration.
ResourcesCapability
Resources capability configuration.
ServerCapabilities
Server capabilities declaration.
ToolsCapability
Tools capability configuration.