Back to MCP directory
publicPublicdnsLocal runtime

serverless-mcp-server

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

article

README

🚀 无服务 MCP 服务器

这是一个极为简单的模型上下文协议 (MCP) 服务器,部署于 AWS Lambda 之上,并通过 Amazon API Gateway 接口对外暴露,借助 Serverless Framework 完成部署。该框架依托 Frédéric Barthelet 的卓越成果,他开发了一个 middy 中间件,用于将模型上下文协议 (MCP) 服务器与 AWS Lambda 函数集成,具体实现可查看 此仓库

🚀 快速开始

此无服务 MCP 服务器的部署和使用较为便捷,以下是详细步骤。

安装依赖

npm install

启动本地服务器

sls local start

启动后,访问 http://localhost:3000 即可查看文档。

部署到 AWS

sls deploy

部署完成后,控制台会输出 MCP 服务的 URL。

✨ 主要特性

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

📦 安装指南

先决条件

  • Node.js v22+
  • 开源无服务 或 Serverless Framework v3+
  • Serverless Offline

项目结构

serverless-mcp-server/
├── src/                    # 源代码目录
│   └── index.js                # MCP 服务器处理程序
├── .gitignore              # Git 忽略文件
├── package.json            # 项目依赖
├── package-lock.json       # 项目锁定文件
├── README.md               # 此文档文件
└── serverless.yml          # Serverless Framework 配置

💻 使用示例

基础用法

src/index.js 中定义了一个简单的“加法”工具:

server.tool("add", { a: z.number(), b: z.number() }, async ({ a, b }) => ({
  content: [{ type: "text", text: String(a + b) }],
}));

请求示例

{
  "tool": "add",
  "args": {
    "a": 1,
    "b": 2
  }
}

响应示例

{
  "content": [
    { "type": "text", "text": "3" }
  ]
}

📚 详细文档

📖在此处阅读完整的文章

📄 许可证

本项目采用 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