关于 Sample Building Mcp Servers With Rust
该 Rust 项目提供用于扩展 AI 助手能力的 MCP 服务示例,面向 Amazon Q 和其他兼容 MCP 的客户端。示例涵盖计算、Amazon RDS、Amazon S3 与 PostgreSQL。
主要功能
- 01计算器算术操作
- 02列出和管理 Amazon RDS 实例
- 03管理 Amazon S3 存储桶和对象
- 04查询 PostgreSQL 并查看表与架构
适用场景
- 01让 AI 助手执行基本算术
- 02查看指定区域的 RDS 实例
- 03列出 S3 存储桶并管理对象
- 04对 PostgreSQL 执行只读查询
MCP 相关
项目实现 Rust 版 MCP 服务,客户端可配置并独立运行计算器、RDS、S3 和 PostgreSQL 服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP 示例
使用 Rust 实现的 Model Context Protocol(MCP)服务,用于扩展 AI 助手的能力。
概述
此项目提供了示例 MCP 服务,可与 Amazon Q 或其他兼容 MCP 的 AI 助手搭配使用。这些服务实现了多种功能:
- 计算器服务:执行基本算术运算
- RDS 服务:与 Amazon RDS 实例交互
- S3 服务:管理 Amazon S3 存储桶和对象
- PostgreSQL 服务:连接 PostgreSQL 数据库并执行查询
前置条件
- Rust 和 Cargo
- 已配置用于 RDS 和 S3 操作的 AWS 凭证
- 兼容 MCP 的 AI 助手(如 Amazon Q)
安装
克隆仓库并构建项目:
git clone <repository-url>
cd mcp-sample
cargo build
使用方法
为每个服务构建可执行文件:
# Build the calculator server
cargo build --release --bin calculator_server
# Build the RDS server
cargo build --release --bin rds_server
# Build the S3 server
cargo build --release --bin s3_server
# Build the PostgreSQL server
cargo build --release --bin postgresql_server
构建完成后,可独立运行每个服务:
# Run the calculator server
./target/release/calculator_server
# Run the RDS server
./target/release/rds_server
# Run the S3 server
./target/release/s3_server
# Run the PostgreSQL server (requires a connection string)
./target/release/postgresql_server "postgresql://username:password@hostname:port/database"
与 Amazon Q CLI 集成
要将这些 MCP 服务与 Amazon Q CLI 或其他兼容 MCP 的客户端集成,请在 .amazon-q.json 文件中添加如下配置:
{
"mcpServers": {
"calculator": {
"command": "/path/to/mcp-sample-servers-rust/target/release/calculator_server",
"args": []
},
"s3": {
"command": "/path/to/mcp-sample-servers-rust/target/release/s3_server",
"args": []
},
"rds": {
"command": "/path/to/mcp-sample-servers-rust/target/release/rds_server",
"args": []
},
"postgres": {
"command": "/path/to/mcp-sample-servers-rust/target/release/postgresql_server",
"args": ["postgresql://username:password@hostname:port/database"]
}
}
}
将 /path/to/mcp-sample-servers-rust/ 替换为已构建二进制文件的实际路径。配置完成后,Amazon Q 即可使用这些服务来扩展其能力。
服务说明
计算器服务
提供加法、减法等基本算术运算。
RDS 服务
列出并管理指定区域中的 Amazon RDS 实例。
S3 服务
管理 S3 存储桶和对象,包括按区域列出存储桶。
PostgreSQL 服务
连接 PostgreSQL 数据库并执行只读查询、列出表并提供架构信息。
依赖项
- rmcp:Model Context Protocol 的 Rust 实现
- Rust AWS SDK(aws-sdk-s3、aws-sdk-rds、aws-config)
- 用于异步运行时的 Tokio
- 用于序列化/反序列化的 Serde
- 用于连接 PostgreSQL 数据库的 tokio-postgres
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。