返回 MCP 目录
public公开dns本地运行

run-model-context-protocol-servers-with-aws-lambda

该项目通过AWS Lambda函数运行Model Context Protocol (MCP)标准输入输出服务器,实现分布式系统中的MCP服务器调用。

article

README

🚀 使用 AWS Lambda 运行 MCP 服务器模型

本项目借助 AWS Lambda 实现 MCP 服务器模型的运行,提供了不同语言的客户端示例代码,方便开发者调用 MCP 服务器函数。

🚀 快速开始

本项目提供了不同语言的客户端示例代码,用于调用“time”MCP 服务器函数。以下是具体的代码示例。

💻 使用示例

基础用法

Python 服务器示例

此项目包含一个 Python MCP 客户端,它调用上述的“time”MCP 服务器函数。该客户端通过调用名为“mcp-server-time”的 Lambda 函数,并将符合 MCP 协议的有效负载返回给调用者。

from mcp import ClientSession
from mcp_lambda import LambdaFunctionParameters, lambda_function_client

server_params = LambdaFunctionParameters(
    function_name="mcp-server-time",
    region_name="us-east-2",
)

read, write = await lambda_function_client(server_params)
session = ClientSession(read, write)
await session.initialize()

TypeScript 服务器示例

此项目包含一个 TypeScript MCP 客户端,它调用上述的“time”MCP 服务器函数。该客户端通过调用名为“mcp-server-time”的 Lambda 函数,并将符合 MCP 协议的有效负载返回给调用者。

import {
  LambdaFunctionParameters,
  LambdaFunctionClientTransport,
} from "@aws/run-mcp-servers-with-aws-lambda";
import { Client } from "@modelcontextprotocol/sdk/client/index.js";

const serverParams: LambdaFunctionParameters = {
  functionName: "mcp-server-time",
  regionName: "us-east-2",
};

const client = new Client(
  {
    name: "my-client",
    version: "0.0.1",
  },
  {
    capabilities: {
      sampling: {},
    },
  }
);

const transport = new LambdaFunctionClientTransport(serverParams);
await client.connect(transport);

部署和运行示例

参见 开发指南 以获取部署和运行本仓库中示例的说明。

🔒 安全

有关更多信息,请参阅 CONTRIBUTING

📄 许可证

此项目根据 Apache - 2.0 许可证发布。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端