AI助手扩展协议服务器

提供多种功能的Rust实现MCP服务器,用于扩展AI助手能力,包括计算器、RDS、S3和PostgreSQL服务。

  • by aws-samples
  • Rust
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 aws-samples/sample-building-mcp-servers-with-rust

使用说明

MCP样品

用于扩展AI助手功能的模型上下文协议(MCP)服务器的Rust实现。

概述

该项目提供了可以与Amazon Q或其他MCP兼容的AI助手一起使用的示例MCP服务器。服务器实现各种功能:

  • 计算器服务器:执行基本算术运算
  • RDS服务器:与Amazon RDS实例交互
  • S3服务器:管理Amazon S3存储桶和对象
  • PostgreSQL服务器:连接到PostgreSQL数据库并执行查询

先决条件

  • 锈蚀和货物
  • 为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:模型上下文协议的Rust实现
  • AWS Rust SDK(AWS-SDK-s3、AWS-SDK rds、AWS-config)
  • Tokio用于异步运行时
  • Serde用于序列化/反序列化
  • tokio postgres用于PostgreSQL数据库连接