Middy MCP

Middy MCP

site icon
2025.04.10 18
TypeScript中间件AWS Lambda 集成开发效率
Middy MCP 是一个中间件,用于在 AWS Lambda 函数和 Model Context Protocol (MCP) 服务器之间实现无缝集成。它提供了一种便捷的方式来处理 MCP 请求和响应,适用于使用 Middy 中间件框架的 Lambda 函数。支持通过 API Gateway(REST API / v1 和 HTTP API / v2)以及 ALB 发送的请求。
View on GitHub

Overview

基本能力

产品定位

Middy MCP 是一个中间件,用于在 AWS Lambda 函数和 Model Context Protocol (MCP) 服务器之间实现无缝集成。

核心功能

  • 支持通过 API Gateway(REST API / v1 和 HTTP API / v2)以及 ALB 发送的请求。
  • 提供便捷的 MCP 请求和响应处理方式。
  • 支持自定义工具(如加法工具示例)。

适用场景

  • 需要在 AWS Lambda 函数中集成 MCP 服务器的场景。
  • 使用 Middy 中间件框架的开发项目。

工具列表

  • 加法工具:接收两个数字参数,返回它们的和。

常见问题解答

  • 仅兼容使用至少协议版本 2025-03-26 的 MCP 客户端。

使用教程

使用依赖

  • Node.js >= 18.0.0
  • Middy >= 6.0.0

安装教程

pnpm install middy-mcp

调试方式

以下是一个最小化的 Lambda 函数处理文件示例:

import middy from "@middy/core";
import httpErrorHandler from "@middy/http-error-handler";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";

import mcpMiddleware from "middy-mcp";

// Create an MCP server
const server = new McpServer({
  name: "Lambda hosted MCP Server",
  version: "1.0.0",
});

// Add an addition tool
server.tool("add", { a: z.number(), b: z.number() }, async ({ a, b }) => ({
  content: [{ type: "text", text: String(a + b) }],
}));

export const handler = middy()
  .use(mcpMiddleware({ server }))
  .use(httpErrorHandler());

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。