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、修改和部署自己的版本!
微信扫一扫