R

mcp-client-rs

...
Created 12/2/2024bytim-schultz

Language:

Rust

Stars:

5

Forks:

0

MCP Protocol Client - Very Much a WIP

Rust client implementation for the Model Context Protocol - a structured communication protocol between language models and external tools.

Features

  • Client implementation to be used in rust projects that want to use the MCP protocol
  • Async/await support with tokio
  • Capability negotiation
  • Tool execution
  • Resource management
  • Prompt handling

Usage

use mcp_client_rs::{Protocol, ClientError};

#[tokio::main]
async fn main() -> Result {
    let client = Protocol::new(
        "0",  // Protocol version
        "npx", // Command
        vec!["-y", "@modelcontextprotocol/server-github"], // Args
        std::collections::HashMap::new(), // Environment variables
    ).await?;

    // Call tools
    let response = client
        .call_tool(
            "search_repositories",
            serde_json::json!({
                "query": "rust language:rust"
            }),
        )
        .await?;

    println!("{:?}", response);
    Ok(())
}

Installation

Add to your Cargo.toml:

[dependencies]
mcp-client-rs = { git = "https://github.com/tim-schultz/mcp-client-rs.git" }

License

MIT

Last updated: 2/24/2025

Publisher info

tim-schultz's avatar
96
followers
118
following
63
repos

More MCP servers built with Rust

distri

A framework for building and composing AI agents built in Rust. Build simply using YAML or rust-script. Leverage mcp-servers right away.

By distrihub3
mcp-guardian

Manage / Proxy / Secure your MCP Servers

By eqtylab48
macuse

Connect AI with any macOS app. Deep integration with native apps like Calendar, Mail, Notes, plus UI control for all applications. Works with Claude, Cursor, Raycast, and any MCP-compatible AI.

By macuse-app