README
🚀 无服务器流式HTTP MCP服务器示例
本项目基于亚马逊Lambda和Streamable HTTP协议,实现了一个Github MCP Server。它展示了如何将官方TypeScript MCP Server转换为支持Streamable HTTP协议,并通过亚马逊Lambda进行部署,为相关开发提供了实用的参考。
🚀 快速开始
先决条件
- Node.js 20+版本
- 配置好的AWS CLI
- OSS - Serverless CLI工具
部署Github MCP Server到亚马逊Lambda
此项目需要设置GITHUB_PERSONAL_ACCESS_TOKEN,该令牌已存储在亚马逊Lambda环境变量中。⚠️ 请勿将serverless.yml文件提交到公开的GitHub仓库。
# 克隆仓库
git clone https://gitlab.aws.dev/wsuam/sample-serverless-mcp-server.git
cd sample-serverless-mcp-server/src/github/
# 安装依赖项
npm install
npm install -g osls
# 将示例配置文件复制并重命名
cp serverless.example.yml serverless.yml
# 编辑serverless.yml文件,设置GITHUB_PERSONAL_ACCESS_TOKEN为<您的GitHub个人访问令牌>
# 测试本地运行
npm sls offline
# 部署到亚马逊Lambda
npm sls deploy
✨ 主要特性
- 支持Streamable HTTP MCP协议,利用MCP v2025.03.26引入的新功能,如基于HTTP分块传输编码的流传输、动态上下文优先级控制,以及与现有HTTP基础设施的无缝集成。
- 基于亚马逊Lambda的弹性部署,可根据实际需求灵活调整资源。
- 实现了成本性能的优化平衡。
📦 安装指南
环境准备
确保满足以下先决条件:
- Node.js 20+版本
- 配置好的AWS CLI
- OSS - Serverless CLI工具
部署步骤
按照“快速开始”部分的部署步骤操作,即可将Github MCP Server部署到亚马逊Lambda。
💻 使用示例
基础用法
在本地测试运行:
npm sls offline
高级用法
将项目部署到亚马逊Lambda:
npm sls deploy
📚 详细文档
Github MCP Server在亚马逊Lambda上的架构

架构概述
该项目采用以下架构:
- API Gateway:负责处理HTTP请求。
- Lambda函数:执行MCP Server逻辑。
- Streamable HTTP:实现流式响应。
- DynamoDB和S3存储请求日志(此功能尚未完成)。
开发指南
- 配置AWS凭证。
- 运行
npm sls offline。 - 按照提示完成部署配置。
贡献说明
欢迎提交拉取请求。在提交之前,请确保:
- 代码遵循项目规范。
- 所有测试通过。
- 文档已更新。
🔧 技术细节
该实现利用了MCP v2025.03.26引入的新功能,包括基于HTTP分块传输编码的流传输、动态上下文优先级控制,以及与现有HTTP基础设施的无缝集成。通过这些功能,项目实现了对Streamable HTTP MCP协议的支持,同时基于亚马逊Lambda实现了弹性部署和成本性能的优化平衡。
📄 许可证
此库采用MIT - 0许可证,详见LICENSE文件。
项目状态
该项目正在积极开发中。欢迎提出问题和建议!
Scan to join WeChat group