文件系统MCP服务器

一个基于Rust MCP SDK实现的简单文件系统MCP服务器,提供标准化的文件系统操作接口。

  • by cflaig
  • Rust
  • 本地部署
  • 更新于
在 GitHub 查看 cflaig/simple_mcp_server

使用说明

简单MCP服务器

使用Rust MCP SDK的简单文件系统MCP(Model Conext Protocol)服务器实现。此服务器通过标准化接口提供文件系统操作。

特性

  • 在本地主机8080上运行的HTTP服务器
  • 用于实时通信的服务器发送事件(SSE)
  • 文件系统操作:
    • 具有可自定义选项的目录列表
    • 文件内容读取
  • 使用tokio进行异步请求处理
  • 具有跟踪功能的全面日志记录

需求

  • Rust(推荐最新稳定版本)
  • 货物(带有铁锈)

安装Rust

在macOS、Linux或类Unix系统上:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

或者,您可以使用包管理器,例如 brew, pacman,或类似:

  • macOS:
    brew install rustup
    
  • 基于Arch的Linux发行版:
    sudo pacman -S rustup
    

在Windows上:

  1. 从下载Rust安装程序 https://www.rust-lang.org/tools/install
  2. 运行安装程序并按照屏幕上的说明进行操作

验证安装:

安装后,重新启动终端并运行:

rustc --version
cargo --version

这两个命令都应该显示版本信息,确认Rust和Cargo安装正确。

构建和运行服务器

克隆存储库:

git clone https://github.com/cflaig/simple_mcp_server
cd simple_mcp_server

构建项目:

cargo build

对于具有优化的发布版本:

cargo build --release

运行服务器:

cargo run

对于发布版本:

cargo run --release

服务器将于启动 127.0.0.1:8080 默认情况下。

使用示例

服务器提供两个主要工具:

1.列出目录内容

此工具执行 ls 具有可自定义选项的命令。

请求参数示例:

{
  "path": "/path/to/directory",
  "args": "-la"
}

2.读取文件内容

此工具读取并返回指定文件的内容。

请求参数示例:

{
  "path": "/path/to/file.txt"
}

发展

环境变量

  • RUST_LOG:控制日志记录级别(例如。, info, debug, trace)

例子:

RUST_LOG=debug cargo run

项目结构

  • src/main.rs:服务器初始化和配置
  • src/handler.rs:请求处理实施
  • src/tools.rs:文件系统工具实施