mcpField
A
aws-mcp-connector

aws-mcp-connector

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

关于 aws-mcp-connector

aws-mcp-connector 是 Go 编写的 MCP 服务,让 Agent 通过主机上安装的 AWS CLI 执行命令。它适用于 AWS 资源查看与操作;修改状态的命令默认禁用,并需通过服务端和单次调用两层确认。

主要功能

  1. 01执行 AWS CLI 命令
  2. 02默认只读
  3. 03两层写操作门控
  4. 04AWS 身份与配置文件工具
  5. 05Markdown 或 JSON 响应

适用场景

  1. 01通过 Agent 检查 AWS 资源
  2. 02执行前核对 AWS CLI 语法
  3. 03限制可访问的服务

MCP 相关

它向 MCP 客户端提供 AWS CLI 执行、帮助、身份查询和配置文件列表工具。写操作要求设置 `AWS_MCP_ALLOW_WRITE=true`,并在调用中指定 `confirm=true`。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbaws-mcp-connector-plugin-v0.1.2-darwin-arm64.zip0.1.2
mcpbaws-mcp-connector-plugin-v0.1.2-darwin-amd64.zip0.1.2
mcpbaws-mcp-connector-plugin-v0.1.2-linux-amd64.zip0.1.2
mcpbaws-mcp-connector-plugin-v0.1.2-linux-arm64.zip0.1.2
mcpbaws-mcp-connector-plugin-v0.1.2-windows-amd64.zip0.1.2
mcpbaws-mcp-connector-plugin-v0.1.2-windows-arm64.zip0.1.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

🔌 aws-mcp-connector

通过支持 MCP 的 Agent 使用 AWS CLI。

CI CodeQL Latest release MCP Registry Go Reference License: MIT MCP Conventional Commits PRs Welcome


这是一个静态 Go 二进制文件,支持 Model Context Protocol, 可让 Agent 运行 AWS CLI 命令:适用于 AWS CLI 支持的所有服务,可执行任意 aws <service> <operation> 调用,并默认通过只读安全机制拦截任何会更改状态的操作。

无需 Python、无需 uv,也无需安装运行时依赖——只需一个二进制文件和 一个 .mcp.json。它会调用主机上已安装并配置好的 aws 二进制文件 (配置文件、SSO、IAM 角色或静态密钥——由 AWS CLI 自身的凭证链解析), 而不是重新实现 AWS SDK,因此无需手动挑选服务子集,就能免费获得 CLI 的全部功能。

✨ 为什么要开发这个项目

如果 Agent 只能使用一组狭窄且经过人工挑选的 AWS 工具,一旦需要使用其中没有的功能, 就会碰壁。这个连接器直接封装 AWS CLI,因此 Agent 可以运行 aws s3 ls、aws ec2 describe-instances、aws iam list-users——CLI 能做的任何事—— 无需等待为其编写新工具。默认情况下会阻止修改类命令;要启用这类命令,必须同时在服务端启用选项,并在每次调用时设置 confirm=true,因此开箱即可安全地进行探索和调试。

🧰 工具

工具功能写入?
aws_exec运行任意 aws <service> <operation> ... 命令。默认只读——修改类命令要求服务端设置 AWS_MCP_ALLOW_WRITE=true,并且调用时设置 confirm=true。✅(受控)
aws_help显示 aws <service> [subcommand] help 帮助文本——始终安全,可用于在调用 aws_exec 前确认准确语法。
aws_whoami显示配置的凭证所对应的 AWS 身份(账户、ARN、用户/角色)。
aws_list_profiles列出主机 ~/.aws/config 中配置的命名配置文件。

每个工具都接受可选的 response_format:markdown(默认,适用于聊天 UI 的美观表格) 或 json(适用于程序化使用)。

🚀 快速开始

**最快方式:**从最新发布版本下载预构建包 — 下载 aws-mcp-connector-plugin-<version>-<os>-<arch>.zip,解压后, 将 Cowork/Claude 指向其中的 plugin/ 文件夹(参见 SETUP.md 的第 4 步)。无需 Go 工具链。

从源码构建:

# 1. Build
cd go-server
go mod tidy
go build -o aws-connector-server .
cp aws-connector-server ../plugin/servers/go/

# 2. Set up auth — needs the aws CLI itself installed and configured
#    (aws configure / aws sso login) — see SETUP.md
export AWS_PROFILE=default   # optional, only if not using "default"

# 3. Run
./go-server/aws-connector-server   # serves MCP over stdio

也可以运行 make build — 查看 Makefile 了解所有快捷命令 (test、vet、fmt、lint、tidy)。

完整的操作指南 — 包括如何将其配置为 Claude/Cowork 插件 — 请见 SETUP.md。

🔐 配置

所有配置均通过环境变量设置,并由插件的 .mcp.json 传入:

变量用途默认值
AWS_PROFILE要使用的 ~/.aws/config 中的命名配置文件。未设置(默认配置文件)
AWS_REGION未在其他位置设置时使用的默认区域。AWS CLI 自身的默认值
AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_SESSION_TOKEN静态凭证 — 仅在不使用配置文件/SSO/角色时需要。未设置
AWS_MCP_ALLOW_WRITE设为 "true" 以允许执行修改性命令(每次调用仍需设置 confirm=true)。false(只读)
AWS_MCP_ALLOWED_SERVICES以逗号分隔的 AWS CLI 服务名称允许列表,例如 "s3,ec2"。未设置(不受限制)
AWS_MCP_CLI_PATHaws 二进制文件的路径。通过 PATH 解析 aws

🧪 质量标准

这不是一个玩具脚本 — 它具备生产级 Go 服务应有的同等检查:

  • ✅ 每条输入验证路径都有单元测试(go test ./...)
  • ✅ go vet + gofmt 检查通过
  • ✅ golangci-lint(govet、staticcheck、errcheck、gosec 等)
  • ✅ govulncheck — 依赖关系图中没有已知漏洞
  • ✅ CodeQL 在每次推送时进行静态安全分析
  • ✅ 端到端验证通过真实(或沙盒化)的 AWS CLI 后端完成 — 不使用模拟对象
  • ✅ Dependabot 确保 Go 模块和 Actions 保持最新

所有检查都会在每次推送和 PR 时通过 CI 运行。

🏷️ 发布与版本管理

版本遵循 semver 规范,并由 release-please 根据 main 上的 Conventional Commits 自动发布:

  • fix: ... → 修订版本(v0.1.0 → v0.1.1)
  • feat: ... → 次要版本(v0.1.1 → v0.2.0)
  • feat!: ... / BREAKING CHANGE: 页脚 → 主要版本(v0.2.0 → v1.0.0)

每个合并的 PR 都会更新一个常驻的 "chore(main): release vX.Y.Z" PR, 并生成 CHANGELOG.md。合并该 PR 后:

  1. 为发布版本打标签并在 GitHub 上发布
  2. 构建并附上可直接安装的 ZIP 插件包,适用于 linux/darwin/windows × amd64/arm64
  3. 根据这些确切的资源重新生成 server.json(更新版本和 SHA-256 哈希值),并通过 mcp-publisher 发布到官方 MCP Registry, 使用 GitHub OIDC 进行身份验证 — 无需存储密钥

请参阅 .github/workflows/release-please.yml 和 .github/workflows/publish-mcp-registry.yml (也可以通过 workflow_dispatch 手动运行,以处理现有标签)。

📁 目录结构

aws-mcp-connector/
├── README.md                  ← you are here
├── SETUP.md                   ← step-by-step setup guide
├── CONTRIBUTING.md             ← how to contribute
├── CODE_OF_CONDUCT.md
├── SECURITY.md                 ← vulnerability reporting
├── CODEOWNERS
├── LICENSE                     ← MIT
├── Makefile                    ← build / test / lint shortcuts
├── .golangci.yml                ← lint rules
├── release-please-config.json  ← semver/changelog automation config
├── .release-please-manifest.json
├── server.json                  ← MCP Registry manifest (regenerated fresh per release by CI)
├── scripts/
│   └── render-server-json.sh    ← rebuilds server.json from a release's zip assets
├── .github/
│   ├── workflows/
│   │   ├── ci.yml                     ← build, vet, test, lint, govulncheck
│   │   ├── codeql.yml                 ← security scanning
│   │   ├── pr-title.yml               ← Conventional Commits PR title check
│   │   ├── release-please.yml         ← version PRs, tagging, GitHub releases
│   │   ├── publish-mcp-registry.yml   ← publishes server.json to the MCP Registry
│   │   └── rebuild-release-assets.yml ← manual re-attach fallback
│   ├── ISSUE_TEMPLATE/
│   ├── PULL_REQUEST_TEMPLATE.md
│   └── dependabot.yml
├── go-server/                  ← the MCP server source
│   ├── main.go
│   ├── main_test.go
│   ├── go.mod / go.sum
│   └── README.md
└── plugin/                     ← installable Cowork/Claude plugin
    ├── .claude-plugin/plugin.json
    ├── .mcp.json                ← holds credentials locally — never commit real ones
    └── servers/go/              ← compiled binary goes here

🤝 参与贡献

欢迎提交 PR 和问题 — 完整指南(设置、编码规范以及如何添加新工具)请见 CONTRIBUTING.md,另请参阅 行为准则。

main 受保护:所有更改,包括维护者提交的更改,都必须通过 PR 合并,且 CI 检查通过。PR 标题必须遵循 Conventional Commits 规范 — 自动版本管理正是由此驱动。

发现安全问题?请按照 SECURITY.md 中的说明处理, 而不要公开提交问题。

📄 许可证

MIT © FerhatDundar

评论

支持 Markdown

第一次接触 MCP?

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

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