mcpField
S
serverlessrun

serverlessrun

本地服务
github.com/CloudCorpRecords云与基础设施02 周前更新

关于 serverlessrun

serverlessrun 面向开发者,将 AWS Lambda 的一组核心操作封装为符合其文档 REST API 的工具。它支持查看和调用函数,以及访问版本、别名、层等;签名和请求执行器由调用方提供。

主要功能

  1. 01列出、查看和调用函数
  2. 02列出函数版本与别名
  3. 03查看层和层版本
  4. 04列出事件源映射
  5. 05获取账户设置
  6. 06可注入请求执行器或签名器

适用场景

  1. 01查看并调用 Lambda 函数
  2. 02检查版本、别名和层
  3. 03检查事件源映射及账户设置

MCP 相关

MCP 服务端提供 10 个用于部分 AWS Lambda REST API 操作的工具。它不内置 SigV4 签名器;发起已签名的 AWS 请求需要调用方注入签名器或执行器。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-serverlessrun": {
"command": "npx",
"args": [
"-y",
"@reneturcios/serverlessrun"
]
}
}
}
启动命令npx -y @reneturcios/serverlessrun

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/serverlessrun0.1.0
ocighcr.io/cloudcorprecords/serverlessrun:0.1.0

工具

10

收录的工具列表 · 更新于 1 周前

参数类型必填说明
markerstring否来自先前响应的可选分页标记,作为 Marker 查询参数发送以获取下一页。
max_itemsnumber否要返回的函数的可选最大数量,作为 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。