mcpField
A
aws-mcp-connector

aws-mcp-connector

ローカル
github.comクラウド・インフラ013 週間前に更新

aws-mcp-connector について

aws-mcp-connector は、ホストにインストールされた AWS CLI 経由でエージェントがコマンドを実行できる Go 製 MCP サーバーです。AWS リソースの調査や操作を対象とし、状態を変更するコマンドは既定でブロックされ、サーバーと呼び出しの両方で確認が必要です。

主な機能

  1. 01AWS CLI コマンドの実行
  2. 02既定で読み取り専用
  3. 03二段階の書き込み制御
  4. 04AWS ID とプロファイルのツール
  5. 05Markdown または JSON の応答

活用シーン

  1. 01エージェントから AWS リソースを調査
  2. 02実行前の AWS CLI 構文確認
  3. 03利用可能なサービスの制限

MCP 対応

MCP クライアントに AWS CLI 実行、ヘルプ、ID 確認、プロファイル一覧のツールを提供します。書き込み操作には `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 対応エージェントから AWS CLI を操作できます。

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


Model Context Protocolに対応した単一の静的 Go バイナリです。エージェントから AWS CLI コマンドを実行できます。CLI がサポートするすべてのサービスで、あらゆる aws <service> <operation> の呼び出しが可能です。状態を変更する操作には、デフォルトで読み取り専用の安全制御が適用されます。

インストールが必要な Python も uv も、実行時依存関係もありません。必要なのはバイナリと .mcp.json だけです。AWS SDK を再実装するのではなく、ホストにすでにインストールされ、設定済みの aws バイナリを呼び出します(プロファイル、SSO、IAM ロール、静的キーなど、AWS CLI 自身の認証情報チェーンで解決されるものを使用します)。そのため、サービスを厳選したサブセットに限定することなく、CLI の機能をすべて利用できます。

✨ 開発の背景

厳選された限られた AWS ツールしか使えないエージェントは、その範囲外の操作が必要になった途端に行き詰まります。このコネクターは代わりに AWS CLI 自体をラップするため、新しいツールが作られるのを待たずに、エージェントから 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_helpaws <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をダウンロードして解凍し、 中にあるplugin/フォルダーをCowork/Claudeに指定します(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を実行してください。すべてのショートカット (test、vet、fmt、lint、tidy)についてはMakefileを参照してください。

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_SERVICESAWS 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で実行されます。

🏷️ リリースとバージョニング

バージョンはセマンティックバージョニングに従い、 mainへのConventional Commitsから release-pleaseによって自動的に作成されます。

  • fix: ... → パッチ(v0.1.0 → v0.1.1)
  • feat: ... → マイナー(v0.1.1 → v0.2.0)
  • feat!: .../BREAKING CHANGE:フッター → メジャー(v0.2.0 → v1.0.0)

マージされたPRごとに、自動生成されたCHANGELOG.mdを含む、 継続的な**"chore(main): release vX.Y.Z"** PRが更新されます。そのPRをマージすると、次の処理が行われます。

  1. リリースにタグを付け、GitHubで公開します
  2. linux/darwin/windows × amd64/arm64向けの、インストール可能なZIP形式のプラグインバンドルをビルドして添付します
  3. 正確なアセットからserver.jsonを再生成し(最新バージョンとSHA-256ハッシュを反映)、GitHub OIDCによる認証を使用して、mcp-publisherで 公式MCPレジストリに公開します。保存されたシークレットは不要です

.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は保護されています。メンテナーによる変更も含め、すべての変更は CIが成功した状態でプルリクエスト経由で取り込まれます。PRのタイトルは Conventional Commitsに従う必要があります。これが 上記の自動バージョニングを決定します。

セキュリティ上の問題を見つけた場合は、公開イシューを作成せず、 **SECURITY.md**の手順に従ってください。

📄 ライセンス

MIT © FerhatDundar

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。