MCP2Lambda官方
通过 MCP 协议,人工智能模型能够与 AWS Lambda 函数交互,从而在安全的环境中访问私有资源、实时数据和自定义计算。
Tools
list_lambda_functions
Tool that lists all AWS Lambda functions that you can call as tools. Use this list to understand what these functions are and what they do. This functions can help you in many different ways.
invoke_lambda_function
Tool that invokes an AWS Lambda function with a JSON payload. Before using this tool, list the functions available to you.
README
MCP2Lambda
<a href="https://glama.ai/mcp/servers/4hokv207sz"> <img width="380" height="200" src="https://glama.ai/mcp/servers/4hokv207sz/badge" alt="MCP2Lambda MCP server" /> </a>
无需更改代码,即可使用 Anthropic 的 模型上下文协议 (MCP),将任何 AWS Lambda 函数作为大型语言模型 (LLM) 工具运行。
graph LR
A[模型] <--> B[MCP 客户端]
B <--> C["MCP2Lambda<br>(MCP 服务器)"]
C <--> D[Lambda 函数]
D <--> E[其他 AWS 服务]
D <--> F[互联网]
D <--> G[VPC]
style A fill:#f9f,stroke:#333,stroke-width:2px
style B fill:#bbf,stroke:#333,stroke-width:2px
style C fill:#bfb,stroke:#333,stroke-width:4px
style D fill:#fbb,stroke:#333,stroke-width:2px
style E fill:#fbf,stroke:#333,stroke-width:2px
style F fill:#dff,stroke:#333,stroke-width:2px
style G fill:#ffd,stroke:#333,stroke-width:2px
此 MCP 服务器充当 MCP 客户端和 AWS Lambda 函数之间的桥梁,允许生成式 AI 模型访问和运行 Lambda 函数作为工具。 例如,这对于访问私有资源(例如内部应用程序和数据库)非常有用,而无需提供公共网络访问。 这种方法允许模型使用其他 AWS 服务、私有网络和公共互联网。
从安全角度来看,这种方法通过允许模型调用 Lambda 函数但不直接访问其他 AWS 服务来实现职责分离。 客户端只需要 AWS 凭证来调用 Lambda 函数。 然后,Lambda 函数可以(使用函数角色)与其他 AWS 服务交互并访问公共或私有网络。
MCP 服务器提供对两个工具的访问:
-
第一个工具可以自动发现您帐户中所有与前缀匹配或在允许名称列表中的 Lambda 函数。 此工具与模型共享函数的名称及其描述。
-
第二个工具允许通过传递所需参数的名称来调用这些 Lambda 函数。
无需更改代码。 您应该更改这些配置以改善结果:
策略选择
该网关支持两种不同的 Lambda 函数处理策略:
-
预发现模式(默认:启用):在启动时将每个 Lambda 函数注册为单独的工具。 这提供了一个更直观的界面,其中每个函数都显示为其自己的命名工具。
-
通用模式:使用两个通用工具(
list_lambda_functions
和invoke_lambda_function
)与 Lambda 函数交互。
您可以通过以下方式控制此行为:
- 环境变量:
PRE_DISCOVERY=true|false
- CLI 标志:
--no-pre-discovery
(禁用预发现模式)
示例:
# 禁用预发现模式
export PRE_DISCOVERY=false
python main.py
# 或者使用 CLI 标志禁用预发现
python main.py --no-pre-discovery
-
为了向 MCP 客户端提供使用 Lambda 函数的知识,Lambda 函数的描述应指示该函数的作用以及它使用的参数。 有关快速演示和更多详细信息,请参见示例函数。
-
为了帮助模型使用通过 AWS Lambda 提供的工具,您可以将类似以下内容添加到您的系统提示中:
使用 AWS Lambda 工具来改进您的答案。
概述
MCP2Lambda 使 LLM 能够将 AWS Lambda 函数作为工具进行交互,从而将其功能扩展到文本生成之外。 这允许模型:
- 访问实时和私有数据,包括 VPC 中的数据源
- 使用 Lambda 函数作为沙盒环境执行自定义代码
- 使用 Lambda 函数互联网访问(和带宽)与外部服务和 API 交互
- 执行专门的计算或数据处理
该服务器使用 MCP 协议,该协议标准化了 AI 模型访问外部工具的方式。
默认情况下,只有名称以 mcp2lambda-
开头的函数才可供模型使用。
先决条件
- Python 3.12 或更高版本
- 配置了凭证的 AWS 账户
- AWS Lambda 函数(存储库中提供了示例函数)
- 使用 Converse API 的 Amazon Bedrock 应用程序
- 兼容 MCP 的客户端,例如 Claude Desktop
安装
通过 Smithery 安装
要通过 Smithery 为 Claude Desktop 自动安装 MCP2Lambda:
npx -y @smithery/cli install @danilop/MCP2Lambda --client claude
手动安装
-
克隆存储库:
git clone https://github.com/yourusername/mcp2lambda.git cd mcp2lambda
-
配置 AWS 凭证。 例如,使用 AWS CLI:
aws configure
示例 Lambda 函数
此存储库包含三个示例 Lambda 函数,这些函数演示了不同的用例。 这些函数具有基本权限,并且只能写入 CloudWatch 日志。
CustomerIdFromEmail
根据电子邮件地址检索客户 ID。 此函数采用电子邮件参数并返回关联的客户 ID,演示了如何构建简单的查找工具。 该函数被硬编码为回复 user@example.com
电子邮件地址。 例如,您可以要求模型获取电子邮件 user@example.com
的客户 ID。
CustomerInfoFromId
根据客户 ID 检索详细的客户信息。 此函数返回客户详细信息,例如姓名、电子邮件和状态,展示了 Lambda 如何提供特定于上下文的数据。 该函数被硬编码为回复上一个函数返回的客户 ID。 例如,您可以要求模型“获取电子邮件 user@example.com
的客户状态”。 这将使用两个函数来获得结果。
RunPythonCode
在 Lambda 沙盒环境中执行任意 Python 代码。 这个强大的函数允许 Claude 编写和运行 Python 代码来执行计算、数据处理或模型中未内置的其他操作。 例如,您可以要求模型“计算 1 到 10、1 到 100 之间的素数个数,依此类推,直到 100 万”。
部署示例 Lambda 函数
该存储库在 sample_functions
目录中包含示例 Lambda 函数。
-
安装 AWS SAM CLI:https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html
-
部署示例函数:
cd sample_functions sam build sam deploy
示例函数将使用前缀 mcp2lambda-
部署。
与 Amazon Bedrock 一起使用
MCP2Lambda 也可以与 Amazon Bedrock 的 Converse API 一起使用,允许您将 MCP 协议与 Bedrock 支持的任何模型一起使用。
mcp_client_bedrock
目录包含一个客户端实现,该实现将 MCP2Lambda 连接到 Amazon Bedrock 模型。
有关更多信息,请参见 https://github.com/mikegc-aws/amazon-bedrock-mcp。
先决条件
- Amazon Bedrock 访问权限和使用 Claude、Mistral、Llama 等模型的权限。
- 配置了适当凭证的 Boto3
安装和设置
-
导航到 mcp_client_bedrock 目录:
cd mcp_client_bedrock
-
安装依赖项:
uv pip install -e .
-
运行客户端:
python main.py
配置
默认情况下,客户端配置为使用 Anthropic 的 Claude 3.7 Sonnet,但您可以修改 main.py
中的 model_id
以使用其他 Bedrock 模型:
# 支持模型的示例:
model_id = "us.anthropic.claude-3-7-sonnet-20250219-v1:0"
#model_id = "us.amazon.nova-pro-v1:0"
您还可以在同一文件中自定义系统提示,以更改模型的行为方式。
用法
-
在一个终端中启动 MCP2Lambda 服务器:
cd mcp2lambda uv run main.py
-
在另一个终端中运行 Bedrock 客户端:
cd mcp_client_bedrock python main.py
-
通过命令行界面与模型交互。 该模型将有权访问先前部署的 Lambda 函数。
与 Claude Desktop 一起使用
将以下内容添加到您的 Claude Desktop 配置文件中:
{
"mcpServers": {
"mcp2lambda": {
"command": "uv",
"args": [
"--directory",
"<mcp2lambda 目录的完整路径>",
"run",
"main.py"
]
}
}
}
为了帮助模型通过 AWS Lambda 使用工具,在您的设置配置文件中,您可以将类似以下句子添加到您的个人偏好中:
使用 AWS Lambda 工具来改进您的答案。
启动 MCP 服务器
在本地启动 MCP 服务器:
cd mcp2lambda
uv run main.py
推荐服务器
DuckDuckGo MCP Server
一个模型上下文协议 (MCP) 服务器,通过 DuckDuckGo 提供网页搜索功能,并具有内容获取和解析的附加功能。
contentful-mcp
在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。
YouTube Transcript MCP Server
这个服务器用于获取指定 YouTube 视频 URL 的字幕,从而可以与 Goose CLI 或 Goose Desktop 集成,进行字幕提取和处理。

Supabase MCP Server
一个模型上下文协议(MCP)服务器,它提供对 Supabase 管理 API 的编程访问。该服务器允许 AI 模型和其他客户端通过标准化的接口来管理 Supabase 项目和组织。
Tavily MCP Server
使用 Tavily 的搜索 API 提供 AI 驱动的网络搜索功能,使 LLM 能够执行复杂的网络搜索、获得问题的直接答案以及搜索最近的新闻文章。

Azure MCP Server
通过 Claude Desktop 实现与 Azure 服务的自然语言交互,支持资源管理、订阅处理和租户选择,并提供安全身份验证。

Settlemint
利用 SettleMint 的模型上下文协议服务器,无缝地与企业区块链基础设施交互。通过人工智能驱动的助手构建、部署和管理智能合约,从而简化您的区块链开发工作流程,实现最高的效率。

Brev
在云端运行、构建、训练和部署机器学习模型。
metoro-mcp-server
使用LLM查询和交互由Metoro监控的Kubernetes环境。查看APM、指标、追踪和性能分析信息。

Crawlab MCP Server