MPC服务器

一个用Rust编写的简单MPC服务器,用于递增、递减和回显消息。

  • by luanvdang
  • Rust
  • 本地部署
  • 更新于
在 GitHub 查看 luanvdang/rust-counter-mcp

使用说明

MCP Rust POC(概念验证)

用Rust编写一个简单的MPC服务器,用于增加、减少和回显一些消息。

构建二进制文件

运行此命令以在(指定位置)创建执行文件 target/release/

cargo build --release --quiet

将此路径添加到Claude Desktop配置文件中


"mcpServers": {
    "counter": {
      "args": [],
      "command": "/path/to/target/release/counter"
    }
}

代码拆解

#[tool_router] - 作为你的Rust代码与AI在MCP生态系统中发现、理解和执行你自定义工具能力之间的桥梁。它为任何方法连接MCP协议,以便 #[tool]

#[tool] - 它定义了一个可以被AI调用的工具。就像一个你希望在与Claude的对话中可用的功能。有了这个工具 description 对于属性,您需要提供一个简短的描述,说明该工具的作用。

#[tool_router]
impl Counter {
    fn new() -> Self {
        Self {
            counter: Arc::new(Mutex::new(0)),
            tool_router: Self::tool_router(),
        }
    }

     #[tool(description = "Increment the counter by 1")]
    async fn increment(&self) -> Result<CallToolResult, McpError> {
        let mut counter = self.counter.lock().await;
        *counter += 1;
        Ok(CallToolResult::success(vec![Content::text(
            counter.to_string(),
        )]))
    }
}

#[derive(Clone)] - 需要克隆以便在多个请求之间共享服务器状态


#[derive(Clone)]
pub struct Counter {
    counter: Arc<Mutex<i32>>,
    tool_router: ToolRouter<Self>,
}