Crate pulseengine_mcp_client

Crate pulseengine_mcp_client 

Source
Expand description

MCP Client Implementation

This crate provides a client for connecting to MCP (Model Context Protocol) servers. It enables programmatic interaction with MCP servers for testing, proxying, and building multi-hop MCP architectures.

§Quick Start

use pulseengine_mcp_client::{McpClient, StdioClientTransport};
use tokio::process::Command;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Spawn an MCP server as a child process
    let mut child = Command::new("my-mcp-server")
        .stdin(std::process::Stdio::piped())
        .stdout(std::process::Stdio::piped())
        .spawn()?;

    // Create transport from child process streams
    let stdin = child.stdin.take().unwrap();
    let stdout = child.stdout.take().unwrap();
    let transport = StdioClientTransport::new(stdin, stdout);

    // Create and initialize client
    let mut client = McpClient::new(transport);
    let server_info = client.initialize("my-client", "1.0.0").await?;
    println!("Connected to: {}", server_info.server_info.name);

    // Use the server
    let tools = client.list_tools().await?;
    for tool in tools.tools {
        println!("Tool: {}", tool.name);
    }

    Ok(())
}

Structs§

CallToolRequestParam
Tool call parameters
CallToolResult
Tool call result
CompleteRequestParam
Completion request parameters
CompleteResult
Complete result
GetPromptRequestParam
Get prompt parameters
GetPromptResult
Get prompt result
Implementation
Server implementation information
InitializeResult
Initialize result
ListPromptsResult
List prompts result
ListResourceTemplatesResult
List resource templates result
ListResourcesResult
List resources result
ListToolsResult
List tools result
McpClient
MCP Client for connecting to MCP servers
Prompt
Prompt definition
ReadResourceRequestParam
Read resource parameters
ReadResourceResult
Read resource result
Resource
Resource definition
ResourceTemplate
Resource template definition
ServerCapabilities
Server capabilities configuration
StdioClientTransport
Standard I/O transport for MCP client
Tool
Tool definition

Enums§

ClientError
Errors that can occur during MCP client operations

Traits§

ClientTransport
Trait for client-side MCP transport

Type Aliases§

ClientResult
Result type alias for client operations