Sample Serverless Mcp Server

Sample Serverless Mcp Server

🚀 无服务器流式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存储请求日志(此功能尚未完成)。

开发指南

  1. 配置AWS凭证。
  2. 运行npm sls offline
  3. 按照提示完成部署配置。

贡献说明

欢迎提交拉取请求。在提交之前,请确保:

  • 代码遵循项目规范。
  • 所有测试通过。
  • 文档已更新。

🔧 技术细节

该实现利用了MCP v2025.03.26引入的新功能,包括基于HTTP分块传输编码的流传输、动态上下文优先级控制,以及与现有HTTP基础设施的无缝集成。通过这些功能,项目实现了对Streamable HTTP MCP协议的支持,同时基于亚马逊Lambda实现了弹性部署和成本性能的优化平衡。

📄 许可证

此库采用MIT - 0许可证,详见LICENSE文件。

项目状态

该项目正在积极开发中。欢迎提出问题和建议!

  • 0 关注
  • 0 收藏,22 浏览
  • system 提出于 2025-10-06 03:21

相似服务问题

相关AI产品