关于 serverlessrun
serverlessrun 面向开发者,将 AWS Lambda 的一组核心操作封装为符合其文档 REST API 的工具。它支持查看和调用函数,以及访问版本、别名、层等;签名和请求执行器由调用方提供。
主要功能
- 01列出、查看和调用函数
- 02列出函数版本与别名
- 03查看层和层版本
- 04列出事件源映射
- 05获取账户设置
- 06可注入请求执行器或签名器
适用场景
- 01查看并调用 Lambda 函数
- 02检查版本、别名和层
- 03检查事件源映射及账户设置
MCP 相关
MCP 服务端提供 10 个用于部分 AWS Lambda REST API 操作的工具。它不内置 SigV4 签名器;发起已签名的 AWS 请求需要调用方注入签名器或执行器。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
10收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| marker | string | 否 | 来自先前响应的可选分页标记,作为 Marker 查询参数发送以获取下一页。 |
| max_items | number | 否 | 要返回的函数的可选最大数量,作为 MaxItems 查询参数发送。 |
详细介绍
serverlessrun
将 AWS Lambda 用作 MCP 工具,为文档所述的 Lambda REST API 构造请求。serverlessrun 是对 aws-lambda MCP server 核心功能的洁净室重构,采用新名称:工具名称和请求结构相同,代码全新,不复制品牌元素。
工具(核心子集,共 10 个)
list_functions、get_function、invoke_function、
list_versions_by_function、get_alias、list_aliases、
list_layers、get_layer_version、list_event_source_mappings、
get_account_settings。
此子集不包括:函数创建/更新/删除和代码上传、配置与策略管理、标签、并发控制、函数 URL、目标、事件源映射写入以及代码签名。
工作原理
每个工具都会构造一个有文档说明的 Lambda REST 请求(API 版本为
2015-03-31),并将其交给可注入的执行器:
execute({ service: "lambda", operation, path, method, body, query })。
库的使用者可以注入自己的执行器或签名器,使用自己的签名栈对接真实的 AWS。
设置
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...
export AWS_REGION=us-east-1 # optional, this is the default
export AWS_SESSION_TOKEN=... # optional
如实说明限制:此重构版本不附带自己的 SigV4 签名器。
设置了凭据但未注入签名器时,调用会失败,并提示:
SigV4 signing not configured: inject a signer/executor。未设置凭据时,调用会失败,并显示包含 AWS_ACCESS_KEY_ID 的错误信息。
CLI
npx @reneturcios/serverlessrun list_functions '{}'
npx @reneturcios/serverlessrun mcp # stdio MCP server
每个工具名称都是一个子命令,接受一个 JSON 对象参数。
MCP 客户端配置
{
"mcpServers": {
"serverlessrun": {
"command": "npx",
"args": ["-y", "@reneturcios/serverlessrun", "mcp"],
"env": { "AWS_ACCESS_KEY_ID": "...", "AWS_SECRET_ACCESS_KEY": "..." }
}
}
}
Docker
docker run -i -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY ghcr.io/cloudcorprecords/serverlessrun
开发
npm install
npm run build
npm test
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。