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
- Client sends
McpInitializeRequestto establish connection - Server responds with
McpInitializeResultand capabilities - Client discovers available tools via
McpToolListRequest - 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§
- Client
Capabilities - Client capabilities declaration.
- Implementation
- Implementation information for client or server.
- Json
RpcError - A JSON-RPC 2.0 error object.
- Json
RpcNotification - A JSON-RPC 2.0 notification message.
- Json
RpcRequest - A JSON-RPC 2.0 request message.
- Json
RpcResponse - A JSON-RPC 2.0 response message.
- McpInitialize
Request - MCP initialization request sent by the client.
- McpInitialize
Result - MCP initialization result returned by the server.
- McpTool
Call Request - Tool call request to invoke a tool.
- McpTool
Call Result - Tool call result containing execution output.
- McpTool
Info - Tool metadata and schema information.
- McpTool
List Request - Tool list request (empty parameters).
- McpTool
List Result - Tool list result containing available tools.
- Prompts
Capability - Prompts capability configuration.
- Resources
Capability - Resources capability configuration.
- Server
Capabilities - Server capabilities declaration.
- Tools
Capability - Tools capability configuration.