🧠 serverless-mcp-server

🧠 serverless-mcp-server

site icon
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)。

使用教程

使用依赖

  1. 安装 Node.js v22+: bash # 根据你的操作系统安装 Node.js
  2. 安装 Serverless Framework v3+ 或 Open Source Serverless: bash npm install -g osls
  3. 安装 Serverless Offline: bash npm install --save-dev serverless-offline

安装教程

  1. 克隆项目并安装依赖: bash git clone <repository-url> cd serverless-mcp-server npm install
  2. 运行本地开发服务器: bash npm sls offline

调试方式

  1. 使用 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 }'
  2. 使用 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 } } }'
  3. 运行测试: bash npm run test

许可证

该项目遵循 MIT 开源许可条款。