使用说明
项目简介
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 客户端配合使用。
安装步骤
- 克隆仓库
git clone https://github.com/danilop/MCP2Lambda.git cd MCP2Lambda - 安装 Python 依赖
建议使用 uv 或 pip 进行依赖安装:
或者uv pip install -r requirements.txtpip install -r requirements.txt - 配置 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 服务器。
基本使用方法
-
部署示例 Lambda 函数 (可选) 如果您希望快速体验示例功能,可以部署仓库中 'sample_functions' 目录下的示例 Lambda 函数:
cd sample_functions sam build sam deploy这将使用 AWS SAM CLI 部署示例函数,函数名称会带有 'mcp2lambda-' 前缀。
-
启动 MCP 服务器 在 MCP2Lambda 仓库根目录下,运行以下命令启动 MCP 服务器:
uv run main.py或者,如果使用 pip 安装依赖,可以使用:
python main.py -
在 MCP 客户端中配置并连接服务器 根据您的 MCP 客户端 (例如 Claude Desktop, 或 Amazon Bedrock 客户端),配置 'mcpServers' 并指定服务器的启动命令和参数,确保客户端能够连接到正在运行的 MCP2Lambda 服务器。
-
在 LLM 应用中使用工具 连接成功后,您可以在 LLM 应用中指示模型使用 AWS Lambda 工具来完成特定任务。例如,您可以询问模型 "通过邮箱 [email protected] 获取客户 ID",如果配置了 'CustomerIdFromEmail' Lambda 函数,模型将能够调用该工具并返回结果。
信息
分类
AI与计算