关于 sample-serverless-mcp-server
sample-serverless-mcp-server 是基于 Amazon Lambda 与 Streamable HTTP 协议实现的 GitHub MCP 服务示例。面向希望将 MCP 服务部署到无服务器环境的开发者。
主要功能
- 01支持 Streamable HTTP 协议的 MCP 服务
- 02基于 Amazon Lambda 的弹性部署
- 03通过 API Gateway 接收 HTTP 请求
适用场景
- 01将 GitHub MCP 服务部署到 Amazon Lambda
- 02学习如何将官方 TypeScript MCP 服务改为 Streamable HTTP
MCP 相关
该项目是一个 MCP 服务,将官方 TypeScript MCP 服务改造为 Streamable HTTP 方式,并通过 API Gateway 与 Lambda 对 MCP 客户端提供服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
sample-serverless-mcp-server
基于 Amazon Lambda 和 Streamable HTTP 协议的 Github MCP 服务实现。
项目描述
本项目演示如何改造官方 TypeScript MCP 服务,使其支持 Streamable HTTP 协议,并通过 Amazon Lambda 部署。该实现利用了 MCP v2025.03.26 引入的新功能,包括:
-
基于 HTTP Chunked Transfer Encoding 的流式传输
-
动态上下文优先级控制
-
与现有 HTTP 基础设施无缝集成
主要功能
-
支持 Streamable HTTP MCP 协议
-
基于 Amazon Lambda 的弹性部署
-
优化成本与性能的平衡
Amazon Lambda 上的 MCP 服务架构

快速开始
前提条件
- Node.js 20+
- 已配置 AWS CLI
- OSS-Serverless CLI
Serverless Streamable HTTP MCP 服务
- Github MCP 服务
如何在 Amazon Lambda 上部署 Github MCP 服务:
本项目需要设置 GITHUB_PERSONAL_ACCESS_TOKEN,该令牌已存储在 Amazon Lambda 环境变量中。
切勿将 serverless.yml 提交到 GitHub 公共代码仓库。
# Clone repository
git clone https://gitlab.aws.dev/wsuam/sample-serverless-mcp-server.git
cd sample-serverless-mcp-server/src/github/
# Install dependencies
npm install
npm install -g osls
#Set your github personal access token in serverless.yml
cp serverless.example.yml serverless.yml
#edit serverless.yml , GITHUB_PERSONAL_ACCESS_TOKEN: <Your GitHub Personal Access Token>
# Test local
npm sls offline
# Deploy to AWS Lambda
npm sls deploy
架构概览
本项目采用以下架构:
-
API Gateway:处理 HTTP 请求
-
Lambda:执行 MCP 服务逻辑
-
Streamable HTTP:实现流式响应
-
DynamoDB 和 S3 存储请求日志(此部分尚未就绪)。
开发指南
- 配置 AWS 凭证
- 运行
npm sls offline - 按照提示完成部署配置
贡献
欢迎提交拉取请求。提交前,请确保:
- 代码符合项目规范
- 所有测试均通过
- 文档已更新
许可证
本库采用 MIT-0 License 授权。请参阅 LICENSE 文件。
项目状态
项目正在积极开发中。欢迎反馈问题和建议。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。