使用说明
项目简介
MCP2Lambda 项目旨在构建一个 MCP 服务器,使得大型语言模型 (LLM) 能够通过 Model Context Protocol (MCP) 标准协议,安全便捷地调用 AWS Lambda 函数。借助 MCP2Lambda,LLM 可以访问 AWS 云服务、私有网络资源以及互联网数据,从而显著增强其功能和应用场景。该项目无需修改 Lambda 函数代码即可实现集成,并支持多种配置策略以适应不同的使用需求。
主要功能点
- Lambda 函数即工具: 将 AWS Lambda 函数注册为 LLM 可调用的工具,扩展模型的功能边界。
- 动态工具发现: 支持自动发现和注册 AWS 账户中符合特定前缀或列表的 Lambda 函数,简化工具配置。
- 通用工具模式: 提供 'list_lambda_functions' 和 'invoke_lambda_function' 通用工具,即使不预先注册特定 Lambda 函数也能使用。
- 安全访问后端: 允许 LLM 安全地调用 Lambda 函数访问 VPC 内私有资源,无需公网暴露,提升安全性。
- 灵活部署: 可以与 Claude Desktop 和 Amazon Bedrock 等 MCP 客户端配合使用。
- 可配置策略: 支持预发现模式和通用模式,可通过环境变量或命令行参数灵活配置。
安装步骤
-
克隆仓库
git clone https://github.com/danilop/mcp2lambda.git cd mcp2lambda -
配置 AWS 凭证 确保已配置 AWS 凭证,例如通过 AWS CLI ('aws configure')。MCP2Lambda 服务器需要 AWS 凭证才能调用 Lambda 函数。
-
安装 Python 依赖 虽然文档中没有明确提及,但根据 'main.py' 文件,可能需要安装 'boto3' 和 'mcp' 库。建议使用 'uv' 或 'pip' 安装:
# 使用 uv (如果已安装 uv) uv run # 或者使用 pip pip install boto3 mcp-protocol -
部署示例 Lambda 函数 (可选) 如果需要体验示例 Lambda 函数,请按照仓库 'README.md' 中 "Deploying Sample Lambda Functions" 部分的说明进行操作。
服务器配置
对于 MCP 客户端(例如 Claude Desktop),需要配置 MCP 服务器的连接信息。以下是 MCP2Lambda 服务器的配置示例 (JSON 格式):
{ "mcpServers": { "mcp2lambda": { "command": "uv", // 启动服务器的命令,这里使用 uv (或 python,取决于你的环境) "args": [ "--directory", // 参数,指定工作目录 "<MCP2Lambda 仓库的完整路径>", // 参数值,请替换为 MCP2Lambda 仓库在您本地文件系统中的完整路径 "run", // 参数,运行 Python 脚本 "main.py" // 参数,指定要运行的主服务器脚本 ] } } }
请注意: '<MCP2Lambda 仓库的完整路径>' 需要替换为您实际克隆的 'mcp2lambda' 仓库在您电脑上的绝对路径。
基本使用方法
-
启动 MCP2Lambda 服务器 在终端中,进入 'mcp2lambda' 仓库目录,并运行以下命令启动服务器:
uv run main.py或者,如果您的环境中 'python' 命令可用,也可以使用:
python main.py -
配置 MCP 客户端 根据您使用的 MCP 客户端(如 Claude Desktop 或 Amazon Bedrock Client)的文档,配置连接到 MCP2Lambda 服务器。您需要提供上述 服务器配置 JSON 信息给 MCP 客户端。
-
在 LLM 中使用工具 在与 LLM 对话时,您可以使用自然语言指示模型使用 AWS Lambda 工具。为了更好地引导模型使用工具,您可以在系统提示或用户指令中加入类似以下内容:
Use the AWS Lambda tools to improve your answers. (使用 AWS Lambda 工具来改进你的回答。)或者更具体地指示模型使用特定工具,例如询问与示例 Lambda 函数相关的问题,如 "Get customer ID for email [email protected]" 或 "Calculate the number of prime numbers between 1 and 1000"。
通过以上步骤,您就可以成功搭建并使用 MCP2Lambda 服务器,让 LLM 具备调用 AWS Lambda 函数的能力,从而实现更强大的功能。
信息
分类
生产力应用