README
🚀 Lambda MCP 服务器
Lambda MCP 服务器基于 AWS Lambda 实现,专门用于支持 MCP 协议。本项目提供了完整的技术文档,助您快速上手和部署。
🚀 快速开始
快速部署
克隆仓库
git clone <repository-url>
进入服务器目录
cd server-http-python-lambda
使用 SAM 部署
sam build
sam deploy --guided
⚠️ 重要提示
在部署过程中,系统会提示您输入
McpAuthToken。这是调用端点所需的授权令牌。此实现使用 AWS API Gateway 作者器,并将McpAuthToken作为环境变量传递。可以根据需要替换为其他生产实现。
客户端设置
进入客户端目录
cd client-http-typescript-docker
运行辅助脚本
run-client.sh
✨ 主要特性
- 装饰器模式:在
server/app.py中添加新工具时,使用装饰器模式,可自动处理类型验证、请求解析、响应格式化、错误处理和 MCP 文档生成。 - 身份验证升级:版本 1.1.0 将 API Key 验证替换为通过 Authorization 标头传递的 Bearer Token 验证,并添加了 API Gateway 自定义作者器进行令牌验证。
- 多环境支持:支持 AWS Lambda 环境,使用 DynamoDB 管理会话状态,还提供了带有 Amazon Bedrock 集成的 TypeScript HTTP 客户端。
💻 使用示例
添加新工具
在 server/app.py 中添加新的工具,使用装饰器模式:
@mcp_server.tool()
def my_new_tool(param1: str, param2: int) -> str:
"""您的工具描述。
参数:
param1:参数 1 的描述
param2:参数 2 的描述
返回值:
描述返回值的说明
"""
# 您的工具实现
return f"Processed {param1} with value {param2}"
装饰器功能说明
⚠️ 重要提示
装饰器会自动处理以下内容:
- 类型验证
- 请求解析
- 响应格式化
- 错误处理
- MCP 文档生成
🔧 技术细节
- 在编写时,TypeScript MCP SDK 是少数(如果不是唯一)支持基于 HTTP 的 MCP 通信的实现。
- 生产环境中,请考虑使用 AWS IAM 最佳实践进行身份验证和授权。
📄 许可证
本库 licensed under MIT-0 License,请参阅 LICENSE 文件。
📚 详细文档
版本更新
版本 1.1.0
- 将 API Key 验证替换为通过 Authorization 标头传递的 Bearer Token 验证
- 添加了 API Gateway 自定义作者器进行令牌验证
- 更新客户端配置以使用 Bearer Tokens
- 制作符合 MCP 标准的身份验证系统
- 增加变更日志部分
版本 1.0.0
- 初始版本发布
- 基于 AWS Lambda 的基本 MCP 服务器实现
- 使用 DynamoDB 管理会话状态
- 示例工具实现
- 带有 Amazon Bedrock 集成的 TypeScript HTTP 客户端
安全性
有关安全问题的通知,请参阅 CONTRIBUTING。
有关 AWS 和 Amazon Bedrock 的安全性,请参考 AWS 安全文档 和 Amazon Bedrock 安全最佳实践。
Scan to join WeChat group