MCP功能Lambda服务

一个基于TypeScript和AWS SAM的Lambda服务,提供MCP风格的JSON-RPC端点,支持初始化、工具列表和工具调用功能。

  • by KelwinHenrique
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 KelwinHenrique/lambda-mcp-server

使用说明

Lambda MCP服务器(TypeScript+AWS SAM)

该项目使用TypeScript和Node.js在AWS Lambda上实现了MCP风格的JSON-RPC端点,并与AWS SAM一起部署。

Lambda支持:

  • initialize
  • tools/list
  • tools/call

目标是通过HTTP API端点将MCP函数公开为Lambda执行的工具。

当前集成工具(公共API):

  • weather_forecast (Open-Meteo API)

项目结构

  • template.yaml:AWS SAM模板。
  • src/handler.ts:带MCP方法路由和工具执行的Lambda处理程序。
  • src/use-cases/initialize.ts: initialize 操作逻辑。
  • src/use-cases/tools-list.ts: tools/list 操作逻辑。
  • src/use-cases/tools-call.ts: tools/call 操作逻辑。
  • events/*.json:本地调用的测试事件。
  • docs/lambda-mcp-article.md:关于将Lambda用于MCP函数的英文文章。

先决条件

  • Node.js 20+
  • AWS-SAM-CLI
  • 已配置AWS凭据(aws configure)

安装

npm install

本地验证

npm run tsc
npm run validate

本地调用

sam local invoke McpFunction --event events/initialize.json
sam local invoke McpFunction --event events/tools-list.json
sam local invoke McpFunction --event events/tools-call-weather.json

或作为本地API运行:

sam local start-api

然后发送请求:

curl -X POST http://127.0.0.1:3000/mcp \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

部署

sam build
sam deploy --guided --profile nome-do-seu-profile

部署后,使用 McpApiUrl 输出为MCP HTTP端点。