返回 MCP 目录
public公开dns本地运行

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

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端