使用说明

项目简介

MCP2Lambda 是一个 Model Context Protocol (MCP) 服务器,它充当 MCP 客户端和 AWS Lambda 函数之间的桥梁。借助 MCP2Lambda,大型语言模型 (LLM) 可以将 AWS Lambda 函数作为工具进行调用,从而扩展 LLM 的能力,使其能够访问 AWS 云服务、私有网络以及公共互联网资源。这为构建功能强大的 LLM 应用提供了安全且灵活的上下文服务框架。

主要功能点

  • AWS Lambda 函数即工具: 将 AWS Lambda 函数转化为 LLM 可以直接调用的工具,无需对 Lambda 函数进行任何代码修改。
  • 动态工具注册: 支持两种工具注册策略:预先发现模式和通用模式。预先发现模式可以将每个符合命名规则的 Lambda 函数注册为独立的工具;通用模式则提供 'list_lambda_functions' 和 'invoke_lambda_function' 两个通用工具来操作 Lambda 函数。
  • 安全访问私有资源: 允许 LLM 通过 Lambda 函数安全地访问 VPC 内的私有资源,无需将这些资源暴露于公网。
  • 灵活的工具描述: Lambda 函数的描述信息可以被 LLM 用于理解工具的功能和使用方法,从而更好地利用工具。
  • 广泛的集成能力: 可以与 Amazon Bedrock 的 Converse API 以及 Claude Desktop 等 MCP 客户端配合使用。

安装步骤

  1. 克隆仓库
    git clone https://github.com/danilop/MCP2Lambda.git
    cd MCP2Lambda
  2. 安装 Python 依赖 建议使用 uv 或 pip 进行依赖安装:
    uv pip install -r requirements.txt
    或者
    pip install -r requirements.txt
  3. 配置 AWS 凭证 确保已配置 AWS 凭证,例如通过 AWS CLI 配置:
    aws configure

服务器配置

MCP 服务器需要配置在 MCP 客户端中。以下是 Claude Desktop 或其他 MCP 客户端的 'mcpServers' 配置示例,用于连接 MCP2Lambda 服务器:

{
  "mcpServers": {
    "mcp2lambda": {
      "command": "uv",
      "args": [
        "--directory",
        "<MCP2Lambda仓库的完整路径>",
        "run",
        "main.py"
      ]
    }
  }
}
  • 'server name': 'mcp2lambda' - 为服务器指定一个名称,在客户端配置中引用此名称。
  • 'command': 'uv' - 启动服务器的命令,如果您的环境中 uv 未安装,可以替换为 'python'。
  • 'args': '["--directory", "<MCP2Lambda仓库的完整路径>", "run", "main.py"]' - 传递给 'command' 的参数列表。
    • '--directory': 指定 MCP2Lambda 仓库所在的目录。请将 '<MCP2Lambda仓库的完整路径>' 替换为您本地 MCP2Lambda 仓库的实际绝对路径,例如 '/Users/yourusername/MCP2Lambda'。
    • 'run main.py': 使用 uv (或 python) 运行 'main.py' 文件,启动 MCP 服务器。

基本使用方法

  1. 部署示例 Lambda 函数 (可选) 如果您希望快速体验示例功能,可以部署仓库中 'sample_functions' 目录下的示例 Lambda 函数:

    cd sample_functions
    sam build
    sam deploy

    这将使用 AWS SAM CLI 部署示例函数,函数名称会带有 'mcp2lambda-' 前缀。

  2. 启动 MCP 服务器 在 MCP2Lambda 仓库根目录下,运行以下命令启动 MCP 服务器:

    uv run main.py

    或者,如果使用 pip 安装依赖,可以使用:

    python main.py
  3. 在 MCP 客户端中配置并连接服务器 根据您的 MCP 客户端 (例如 Claude Desktop, 或 Amazon Bedrock 客户端),配置 'mcpServers' 并指定服务器的启动命令和参数,确保客户端能够连接到正在运行的 MCP2Lambda 服务器。

  4. 在 LLM 应用中使用工具 连接成功后,您可以在 LLM 应用中指示模型使用 AWS Lambda 工具来完成特定任务。例如,您可以询问模型 "通过邮箱 [email protected] 获取客户 ID",如果配置了 'CustomerIdFromEmail' Lambda 函数,模型将能够调用该工具并返回结果。

信息

分类

AI与计算