GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者提供的说明(英文原文)
MCP server for the AWS CLI. Read-only by default; single Go binary.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
AWS_PROFILE, AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, AWS_MCP_ALLOW_WRITE, AWS_MCP_ALLOWED_SERVICES, AWS_MCP_CLI_PATH标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。
在终端中运行这条命令
运行前请先填写空着的值。
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
AWS_PROFILE envAWS_REGION envAWS_MCP_ALLOW_WRITE envAWS_MCP_ALLOWED_SERVICES envAWS_MCP_CLI_PATH env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日
注册名称已通过 GitHub 账户 FerhatDundar 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.2)于3个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB。
同一分类中有:GitHub, Desktop Commander, Cloudflare MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Talk to AWS CLI from an MCP-speaking agent.
A single static Go binary that speaks the Model Context Protocol and lets an agent run AWS CLI commands: any aws invocation, across every service the CLI supports, with a read-only-by-default safety gate on anything that mutates state.
No Python, no uv, no runtime dependency to install — just a binary and an .mcp.json. It shells out to the aws binary already installed and configured on the host (profile, SSO, IAM role, or static keys — whatever the AWS CLI's own credential chain resolves) instead of reimplementing the AWS SDK, so it gets the full breadth of the CLI for free rather than a hand-curated subset of services.
An agent that only has a narrow, hand-picked set of AWS tools hits a wall
the moment you need something outside that set. This connector instead
wraps the AWS CLI itself, so an agent can run
aws s3 ls, `aws ec2
describe-instances
,aws iam list-users` — anything the CLI can do —
without waiting on a new tool to be written for it. Mutating commands are
blocked by default and require both a server-level opt-in and a per-call
confirm=true, so exploring/debugging is safe out of the box.
| Tool | What it does | Write? |
|---|---|---|
aws_exec | Run any aws ... command. Read-only by default — mutating commands need AWS_MCP_ALLOW_WRITE=true on the server *and* confirm=true on the call. | ✅ (gated) |
aws_help | Show aws [subcommand] help text — always safe, use it to check exact syntax before calling aws_exec. | |
aws_whoami | Show the AWS identity (account, ARN, user/role) the configured credentials resolve to. | |
aws_list_profiles | List named profiles configured in ~/.aws/config on the host. |
Every tool accepts an optional response_format: markdown (default, pretty tables for a chat UI) or json (for programmatic use).
Fastest path: grab a prebuilt bundle from the latest release — download aws-mcp-connector-plugin- - - .zip, unzip it, and point Cowork/Claude at the plugin/ folder inside (see step 4 of SETUP.md). No Go toolchain required.
From source:
# 1. Build
cd go-server go mod tidy go build -o aws-connector-server . cp aws-connector-server ../plugin/servers/go/
export AWS_PROFILE=default # optional, only if not using "default"
./go-server/aws-connector-server # serves MCP over stdio
Or make build — see the Makefile for every shortcut (test, vet, fmt, lint, tidy).
Full walkthrough — including wiring this up as a Claude/Cowork plugin — is in [SETUP.md](SETUP.md).
Everything is environment variables, passed through by the plugin's .mcp.json:
| Variable | Purpose | Default |
|---|---|---|
AWS_PROFILE | Named profile from ~/.aws/config to use. | unset (default profile) |
AWS_REGION | Default region if not set elsewhere. | AWS CLI's own default |
AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_SESSION_TOKEN | Static credentials — only needed if not using a profile/SSO/role. | unset |
AWS_MCP_ALLOW_WRITE | "true" to permit mutating commands at all (still needs confirm=true per call). | false (read-only) |
AWS_MCP_ALLOWED_SERVICES | Comma-separated allowlist of AWS CLI service names, e.g. "s3,ec2". | unset (unrestricted) |
AWS_MCP_CLI_PATH | Path to the aws binary. | aws resolved via PATH |
This isn't a toy script — it's got the same checks you'd expect from a production Go service:
go test ./...)All of it runs in CI on every push and PR.
Versions follow semver and are cut automatically by release-please from Conventional Commits on main:
fix: ... → patch (v0.1.0 → v0.1.1)feat: ... → minor (v0.1.1 → v0.2.0)feat!: ... / BREAKING CHANGE: footer → major (v0.2.0 → v1.0.0)Every merged PR updates a standing "chore(main): release vX.Y.Z" PR with an auto-generated CHANGELOG.md. Merging that PR:
server.json from those exact assets (fresh version + SHA-256 hashes) and publishes it to the official MCP Registry via mcp-publisher, authenticated with GitHub OIDC — no stored secretsSee .github/workflows/release-please.yml and .github/workflows/publish-mcp-registry.yml (also runnable by hand for an existing tag via 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
PRs and issues are very welcome — see [CONTRIBUTING.md](CONTRIBUTING.md) for the full guide (setup, coding conventions, how to add a new tool) and the [Code of Conduct](CODE_OF_CONDUCT.md).
main is protected: every change, including the maintainer's, lands via pull request with CI green. PR titles must follow Conventional Commits — that's what drives the automatic versioning above.
Found a security issue? Please follow [SECURITY.md](SECURITY.md) instead of opening a public issue.
MIT © FerhatDundar