使用说明
Lambda MCP服务器(TypeScript+AWS SAM)
该项目使用TypeScript和Node.js在AWS Lambda上实现了MCP风格的JSON-RPC端点,并与AWS SAM一起部署。
Lambda支持:
initializetools/listtools/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端点。
