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

cursor-rust-tools

A MCP server to allow the LLM in Cursor to access Rust Analyzer, Crate Docs and Cargo Commands.

By terhechte20
mcp-server-hello

A hello-world server for the Model Context Protocol

By TeamDman3
mcp-dockmaster

MCP Dockmaster allows you to easily install and manage MCP servers. Available for Mac, Windows and Linux as a Desktop App, CLI and a library.

By dcSpark35