
🧠 serverless-mcp-server

2025.04.16
4
JavaScriptMCP 服务器AWS LambdaAPI Gateway开发效率
serverless-mcp-server 是一个基于 AWS Lambda 和 Amazon API Gateway 的简单 Model Context Protocol (MCP) 服务器,使用 Serverless Framework 部署。它提供了一个轻量级的 MCP 服务器实现,支持通过 HTTP POST 端点进行 JSON-RPC 交互,并包含一个简单的示例工具(add)。
View on GitHub
Overview
基本能力
产品定位
serverless-mcp-server 是一个轻量级的 MCP 服务器,旨在简化 MCP 协议的部署和使用,特别适合需要快速搭建 MCP 服务的开发者。
核心功能
- 🪄 使用 @modelcontextprotocol/sdk 实现最小化的 MCP 服务器设置
- 🚀 作为单个 AWS Lambda 函数部署
- 🌐 通过 API Gateway 暴露 HTTP POST 端点 /mcp
- 🔄 支持通过 serverless-offline 进行本地开发
- 🧪 包含一个简单的示例工具(add),支持 JSON-RPC 交互
适用场景
- 快速搭建 MCP 服务
- 本地开发和测试 MCP 协议
- 通过 AWS Lambda 和 API Gateway 部署轻量级 MCP 服务器
工具列表
- add: 一个简单的加法工具,接收两个数字参数并返回它们的和。
常见问题解答
- 如何切换 API Gateway 版本?
修改
serverless.yml
文件中的events
部分,将http
改为httpApi
。 - 本地开发时如何访问端点?
运行
npm sls offline
后,端点将位于http://localhost:3000/dev/mcp
(API Gateway V1)或http://localhost:3000/mcp
(API Gateway V2)。
使用教程
使用依赖
- 安装 Node.js v22+:
bash # 根据你的操作系统安装 Node.js
- 安装 Serverless Framework v3+ 或 Open Source Serverless:
bash npm install -g osls
- 安装 Serverless Offline:
bash npm install --save-dev serverless-offline
安装教程
- 克隆项目并安装依赖:
bash git clone <repository-url> cd serverless-mcp-server npm install
- 运行本地开发服务器:
bash npm sls offline
调试方式
- 使用 curl 测试工具列表:
bash curl --location 'http://localhost:3000/dev/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json' \ --header 'jsonrpc: 2.0' \ --data '{ "jsonrpc": "2.0", "method": "tools/list", "id": 1 }'
- 使用 curl 测试 add 工具:
bash curl --location 'http://localhost:3000/dev/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json' \ --header 'jsonrpc: 2.0' \ --data '{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "add", "arguments": { "a": 5, "b": 3 } } }'
- 运行测试:
bash npm run test