Back to MCP directory
publicPublicdnsLocal runtime

sam-serverless-mcp-server

一个基于AWS Lambda和API Gateway的简易Model Context Protocol (MCP) 服务器,使用Serverless Application Model (SAM)部署,支持本地开发和测试。

article

README

🚀 🧠 无服务器MCP服务器

这是一个极为简单的模型上下文协议(MCP)服务器,它部署在AWS Lambda上,并通过Amazon API Gateway实现公开访问,采用Serverless应用程序模型(SAM)进行部署。

此示例基于Frédéric Barthelet的卓越成果,他在Github仓库中开发了一个用于在AWS Lambda函数里集成模型上下文协议(MCP)服务器的middy中间件。

🚀 快速开始

本无服务器MCP服务器使用简单,按照以下步骤即可快速上手。

  1. 安装依赖
npm install
  1. 运行本地服务
node server.js
  1. 查看日志:访问控制台查看日志。

✨ 主要特性

  • 🪄 使用@modelcontextprotocol/sdk实现了最小化的MCP服务器设置。
  • 🚀 以单个AWS Lambda函数的形式进行部署。
  • 🌐 在API Gateway的/mcp路径公开了HTTP POST端点。
  • 🔄 支持通过SAM进行本地开发。
  • 🧪 包含一个简单的示例工具(加法),可与JSON - RPC进行交互。

📦 安装指南

先决条件

在开始安装前,你需要确保以下环境和工具已准备好:

部署到AWS

运行以下命令完成部署:

sam build
sam deploy --guided

📚 详细文档

长故事

📖 在此处阅读此系列文章

项目结构

sam-serverless-mcp-server/
├── __tests__/              # Jest测试文件夹
├── src/                    # 源代码
│   └── index.js                # MCP服务器处理程序
├── .gitignore              # Git忽略文件
├── buildspec.yml           # AWS CodeBuild和CodePipeline(CI/CD)构建文件
├── jest.config.mjs         # Jest配置文件
├── package.json            # 项目依赖项
├── package-lock.json       # 项目锁定文件
├── README.md               # 此文档文件
├── samconfig.toml          # Serverless应用程序模型配置
└── template.yml            # Serverless应用程序模型模板

📄 许可证

本项目采用MIT协议,你可以随意fork、调整并部署自己的版本!

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client