MCP服务器中间件

Middy MCP是一个中间件,用于在AWS Lambda函数和Model Context Protocol服务器之间实现无缝集成,支持通过API Gateway和ALB处理MCP请求和响应。

  • by fredericbarthelet
  • TypeScript
  • 本地部署
  • 40 星标
  • 更新于
在 GitHub 查看 fredericbarthelet/middy-mcp

使用说明

Middy MCP

用于模型上下文协议(MCP)服务器与AWS Lambda功能集成的Middy中间件。

描述

Middy MCP是一种中间件,可实现AWS Lambda功能和模型上下文协议服务器之间的无缝集成。它提供了一种使用Middy中间件框架在Lambda函数中处理MCP请求和响应的方便方法。它支持使用代理集成从API网关(REST API/v1和HTTP API/v2)发送到AWS Lambda的请求,以及从ALB发送的请求。

免责声明:以这种方式托管您的MCP服务器仅与使用至少2025-03-26协议版本的MCP客户端兼容。

安装

pnpm install middy-mcp

需求

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

用法

此中间件可以抛出HTTP异常,因此可以方便地将其与 @middy/http-error-handler.

下面是一个最小Lambda函数处理程序文件的示例。将此lambda作为代理集成部署到 POST API网关的路由,您可以很好地去。

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许可证获得许可-请参阅 许可证 文件以获取详细信息。

贡献

欢迎投稿!请随时打开问题或提交拉取请求🚀!