Token导航 LogoToken导航TokenDH.com
Serverless Rust MCP Servers logo
AI代理未说明官方级别未说明来源级核验

Serverless Rust MCP Servers

MCP Server

一个基于Rust构建的高性能模型上下文协议(MCP)服务器,部署在AWS Lambda上,提供产品搜索功能,适用于需要高效产品搜索和管理的场景。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
Rust本地部署AI代理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

BradWebb101

提供方

BradWebb101

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Rust MCP服务器

一个基于Rust构建并部署在AWS Lambda上的高性能模型上下文协议(MCP)服务器。此服务器通过各种工具提供产品搜索功能,演示了完整的无服务器MCP实现。

📋 目录

🏗️ 基础设施

架构概述

此项目使用AWS CDK(云开发工具包)和TypeScript来部署基于Rust的Lambda函数,该函数包含以下组件:

  • AWS Lambda函数:运行Rust MCP服务器的无服务器计算
  • 函数URL:用于在没有API网关的情况下直接访问的HTTP端点
  • CORS配置:web客户端的跨源资源共享
  • ARM64架构:针对AWS Graviton处理器的成本和性能进行了优化

部署堆栈

基础设施定义见 lib/rust-mcp-stack.ts 包括:

// Key infrastructure components:
- Runtime: PROVIDED_AL2023 (Amazon Linux 2023)
- Architecture: ARM_64 (AWS Graviton)
- Timeout: 30 seconds
- Memory: Default (128MB)
- Build Tool: cargo-zigbuild for cross-compilation

构建过程

CDK堆栈处理从任何平台到ARM64 Linux的交叉编译:

  1. 本地捆绑:用途 cargo-zigbuild 用于交叉编译
  2. 目标: aarch64-unknown-linux-gnu 适用于AWS Lambda ARM64
  3. 二进制:创建 bootstrap Lambda运行时的可执行文件
  4. 部署:通过CDK打包和部署

CORS配置

cors: {
  allowedOrigins: ['*'],
  allowedMethods: [HttpMethod.GET, HttpMethod.POST, HttpMethod.PUT, HttpMethod.DELETE],
  allowedHeaders: ['Content-Type', 'Authorization', 'X-Requested-With'],
  maxAge: Duration.hours(1)
}

先决条件

  • AWS CLI已配置
  • 已安装AWS CDK(npm install -g aws-cdk)
  • 防锈工具链
  • Zig编译器
  • cargo-zigbuild (cargo install cargo-zigbuild)

部署命令

# Install dependencies
npm install

# Build and deploy
cdk deploy

# Get the Function URL from outputs

🧠 逻辑

MCP协议实现

服务器实现了完全符合JSON-RPC 2.0的模型上下文协议:

核心协议方法

  1. 初始化:建立连接并返回服务器功能
  2. 工具/列表:返回用于产品搜索操作的可用工具
  3. 工具/电话:使用提供的参数执行特定工具

可用工具

服务器为产品操作提供了四个主要工具:

1.搜索产品

{
  "name": "search_products",
  "description": "Search for products by name or keyword",
  "inputSchema": {
    "type": "object",
    "properties": {
      "query": {"type": "string", "description": "Search query"},
      "limit": {"type": "integer", "description": "Max results (optional)"}
    },
    "required": ["query"]
  }
}

2.按价格范围筛选

{
  "name": "filter_by_price_range", 
  "description": "Filter products within a price range",
  "inputSchema": {
    "properties": {
      "min_price": {"type": "number", "description": "Minimum price"},
      "max_price": {"type": "number", "description": "Maximum price"}
    },
    "required": ["min_price", "max_price"]
  }
}

3.按类别搜索

{
  "name": "search_by_category",
  "description": "Search products within a specific category", 
  "inputSchema": {
    "properties": {
      "category": {"type": "string", "description": "Product category"}
    },
    "required": ["category"]
  }
}

4.获取类别

{
  "name": "get_categories",
  "description": "Retrieve all available product categories",
  "inputSchema": {"type": "object", "properties": {}}
}

数据源

服务器与 DummyJSON API 产品数据:

  • 产品端点: https://dummyjson.com/products
  • 搜索端点: https://dummyjson.com/products/search
  • 类别端点: https://dummyjson.com/products/category/{category}
  • 类别列表: https://dummyjson.com/products/categories

错误处理

具有适当MCP错误响应的全面错误处理:

  • -32601:未找到方法
  • -32602:无效参数
  • -32603:内部错误
  • HTTP错误:来自外部API调用的正确传播

会话管理

基本会话管理功能:

  • 会话信息存储
  • 用户偏好(可扩展)
  • 线程安全会话处理 Arc>

🔗 连接

MCP检查员(推荐)

测试和与MCP服务器交互的最简单方法是使用MCP检查器:

  1. 安装MCP检查器:
   npm install -g @anthropic-ai/mcp-inspector
  1. 连接到已部署的服务器:
   mcp-inspector https://YOUR_FUNCTION_URL.lambda-url.us-east-1.on.aws
  1. 交互式测试:

- 查看可用工具 - 带有参数的测试工具调用 - 检查请求/响应格式 - 验证MCP协议合规性

直接HTTP/cURL测试

您可以使用cURL命令直接测试服务器:

1.初始化连接

curl -X POST https://YOUR_FUNCTION_URL.lambda-url.us-east-1.on.aws \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize", 
    "params": {}
  }'

2.列出可用工具

curl -X POST https://YOUR_FUNCTION_URL.lambda-url.us-east-1.on.aws \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/list",
    "params": {}
  }'

3.搜索产品

curl -X POST https://YOUR_FUNCTION_URL.lambda-url.us-east-1.on.aws \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "search_products",
      "arguments": {
        "query": "smartphone",
        "limit": 5
      }
    }
  }'

4.按价格范围筛选

curl -X POST https://YOUR_FUNCTION_URL.lambda-url.us-east-1.on.aws \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0", 
    "id": 4,
    "method": "tools/call",
    "params": {
      "name": "filter_by_price_range",
      "arguments": {
        "min_price": 100,
        "max_price": 500
      }
    }
  }'

5.按类别搜索

curl -X POST https://YOUR_FUNCTION_URL.lambda-url.us-east-1.on.aws \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 5, 
    "method": "tools/call",
    "params": {
      "name": "search_by_category",
      "arguments": {
        "category": "smartphones"
      }
    }
  }'

6.获取类别

curl -X POST https://YOUR_FUNCTION_URL.lambda-url.us-east-1.on.aws \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 6,
    "method": "tools/call", 
    "params": {
      "name": "get_categories",
      "arguments": {}
    }
  }'

CORS 预飞

curl -X OPTIONS https://YOUR_FUNCTION_URL.lambda-url.us-east-1.on.aws \
  -H "Origin: https://example.com" \
  -H "Access-Control-Request-Method: POST" \
  -H "Access-Control-Request-Headers: Content-Type"

与MCP客户端集成

此服务器与任何MCP客户端实现兼容:

  • 克劳德桌面:可以配置为使用此服务器
  • 自定义MCP客户端:使用函数URL作为服务器端点
  • Web应用程序:直接HTTP集成CORS支持

响应格式

所有响应均遵循JSON-RPC 2.0规范:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    // Tool result data
  }
}

错误响应:

{
  "jsonrpc": "2.0", 
  "id": 1,
  "error": {
    "code": -32602,
    "message": "Invalid params",
    "data": "Additional error details"
  }
}

______________________________________________________________________

🚀 快速开始

  1. 部署基础设施:
   cdk deploy
  1. 获取您的函数URL 来自CDK输出
  1. 使用MCP检查员进行测试:
   mcp-inspector https://YOUR_FUNCTION_URL.lambda-url.us-east-1.on.aws
  1. 开始构建MCP应用程序 利用产品搜索功能!

🧪 测试

该项目包括全面的测试覆盖范围:

  • 单元测试: cargo test
  • 集成测试:完全符合MCP协议
  • 总共68个测试,涵盖所有功能

📄 许可证

本项目按原样提供,用于教育和发展目的。

目录标签

目录标签

Rust本地部署AI代理产品搜索服务器AWSLambdaMCP协议

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP