Claude Media
MongoDB Atlasのクラスタ管理をClaudeに任せる — 作成とスケーリング

MongoDB Atlasのクラスタ管理をClaudeに任せる — 作成とスケーリング

MongoDB Atlas MCPのクラスタ作成・スケーリング・一時停止・Stream Processing管理を、自然言語で操作する手順をまとめます。

MongoDB MCPサーバーには、コレクション操作用のツールとは別に、Atlasのクラスタそのものを操作する20以上のツールが用意されています。クラスタの作成・スケーリング・一時停止に加え、Kafkaパイプラインを扱うAtlas Stream Processingのワークスペース管理まで、すべて自然言語で頼めます。接続の確立はMongoDB MCPサーバーの接続手順、書き込みを止める設定は読み取り専用設定の記事にまとめており、この記事はAtlas管理API経由でのインフラ操作に絞ります。

前提条件

クラスタの作成・スケーリング・一時停止・再開はいずれも書き込み操作なので、Atlas APIサービスアカウントの認証情報で接続し、--readOnlyは付けません。サービスアカウントに割り当てるロールは、クラスタ管理ならProject Cluster Manager、Stream Processingの操作ならProject Stream Processing Ownerが公式の推奨ロールです。

無料クラスタを1コマンドで作る

検証用にすぐ試したいだけなら、atlas-create-free-clusterが最短です。

検証用にAtlasの無料クラスタを1つ作って、サンプルデータセットも入れておいて

atlas-create-free-clusterでクラスタを作成したあと、atlas-load-sample-datasetがAtlasの標準サンプルデータセットを非同期でロードします。ロードには1〜5分かかり、jobIdを使って進捗状態(WORKINGCOMPLETEDFAILED)を再確認できます。

本番用クラスタを作成する

本番向けにインスタンスサイズやレプリカ構成を指定する場合はatlas-create-clusterを使います。対応レンジはM10からM80で、レプリカセットとシングルシャードのどちらかを選べます。

M10のレプリカセットをAWSのap-northeast-1リージョンに作成して

コンピュートのオートスケーリングは既定で有効になり、最小インスタンスサイズは指定したサイズ、最大は2段階上のティアに自動設定されます。ディスクのオートスケーリングも常に有効です。CMK(顧客管理キー)による保管時暗号化にも対応していますが、プロジェクト側に有効な暗号化設定が事前に必要です。

atlas-create-clusterの呼び出しはすぐに返り、クラスタはまだIDLE状態(利用可能)になっていません。接続文字列もこの時点では発行されていないため、状態確認が次のステップになります。

起動待ちとスケーリング

さっき作ったクラスタの状態を確認して

atlas-inspect-clusterでクラスタのメタデータを取得し、状態がIDLEになれば接続文字列が使えるようになります。スケーリングはatlas-upgrade-clusterが担当します。

このクラスタをM30にスケールアップして

targetTiercomputeAutoScalingminInstanceSizemaxInstanceSizeのうち、少なくとも1つを指定する必要があります。無料クラスタやFlexクラスタの場合、アップグレード先はFlexまたはM10 Dedicatedに限られます。リージョンやプロバイダが曖昧な指示のときは、atlas-get-regionsで対応リージョンの一覧を先に確認してからatlas-create-clusteratlas-upgrade-clusterに渡す設計になっており、あいまいな地名の解決を1往復で済ませられます。

使わないときはクラスタを止める

atlas-pause-resume-clusterは、Dedicated(M10以上)クラスタの一時停止・再開に使えるツールです。開発・検証用のクラスタを夜間や週末だけ止めておくといった運用がしやすくなります。

検証用のクラスタを一時停止して。今夜は使わないから

無料クラスタやFlexクラスタはこの一時停止の対象外です。コストを抑えたいだけの検証用途では、必要なときだけatlas-create-free-clusterで作り直す運用のほうが噛み合う場合もあります。

Stream Processingをワークスペース単位で操作する

Atlas Stream Processingは、Kafkaのようなストリーミングデータをパイプラインとして処理する機能です。MongoDB公式は典型的な操作順序を「ワークスペース作成→接続追加→プロセッサ配置」と示しており、対応するツールもこの順で用意されています。

ap-northeast-1にStream Processingのワークスペースを新規作成して

atlas-streams-buildはワークスペース・接続・プロセッサ・プライベートリンクの4種類のリソースをresourceパラメータで使い分けて作成します。作った後の状態確認や診断はatlas-streams-discoverが担当し、「なぜこのプロセッサが失敗しているか」のような診断的な問いかけにも対応します。

このプロセッサが失敗している原因を診断して

稼働中のプロセッサを止めたり、パイプラインの内容を書き換えたりする操作はatlas-streams-manageです。典型的な変更手順は「プロセッサ停止→プロセッサ修正→プロセッサ再開」の順で、atlas-streams-discoverで状態を確認してからatlas-streams-manageを呼ぶ流れが公式の推奨です。ワークスペースやプロセッサを削除するatlas-streams-teardownは、実行前に対象のプロセッサ数・接続数を要約し、依存関係にあるプロセッサをできる範囲で明示したうえで安全確認を行います。

クラスタの状態を監視する

クラスタを作った後の運用でも、Atlas管理ツールは役立ちます。atlas-list-clustersでプロジェクト内のクラスタを一覧し、atlas-get-performance-advisorでインデックスの改善提案や遅いクエリのサンプルを取得できます。

このプロジェクトのクラスタで、パフォーマンスアドバイザーが出している索引の提案を教えて

atlas-get-performance-advisorは、推奨インデックス・不要インデックスの削除提案・スキーマの改善案・直近の遅いクエリログ(最大50件)をまとめて返します。トリガーされたアラートを確認したい場合はatlas-list-alertsを使います。既定ではOPEN状態のアラートのみが対象で、TRACKINGCLOSEDまで見たい場合はステータスを指定します。

今アラートが出ているものを一覧して。解決済みのものは除いて

組織やプロジェクトの構造そのものを把握したいときはatlas-list-orgsatlas-list-projectsatlas-list-db-usersが使えます。新しいプロジェクトを作るatlas-create-projectや、プロジェクトにデータベースユーザーを追加するatlas-create-db-userも同じツール群に含まれており、atlas-create-db-userは既定のconfirmationRequiredToolsの対象です。

Atlas Localでローカルにマネージド相当の環境を作る

クラウドのAtlasクラスタとは別に、Dockerコンテナ上でAtlas相当の機能をローカルに再現する「Atlas Local」向けのツール群もあります。atlas-local-create-deploymentでローカルデプロイメントを作成し、atlas-local-connect-deploymentで接続します。

ローカルにAtlas Localのデプロイメントを1つ立てて、ベクター検索も試したい

既定のイメージタグはpreviewで、ベクター検索を含むAuto-Embed機能を試すにはVoyage AIのAPIキー(voyageApiKey)が必要です。クラウド上の課金が発生しない検証環境が欲しいだけなら、Atlas Freeクラスタより先にAtlas Localを試す選択肢もあります。使い終えたデプロイメントはatlas-local-delete-deploymentで削除し、一覧はatlas-local-list-deploymentsで確認できます。

課金に直結する操作ほど確認が薄い

MongoDB MCPサーバーは既定でatlas-create-access-listatlas-create-db-userdrop-databasedrop-collectiondelete-manydrop-indexatlas-streams-manageatlas-streams-teardownの8つをconfirmationRequiredToolsに含め、elicitation対応クライアントでは実行前に確認プロンプトを挟みます。

一方で、atlas-create-clusteratlas-upgrade-clusteratlas-pause-resume-clusterはこのデフォルトリストに入っていません。M10以上のクラスタを継続的な課金が発生する状態で作成・スケールアップする操作でありながら、既定では無確認で実行されます。継続的なコストが発生する操作を確認プロンプトの対象にしたい場合は、confirmationRequiredToolsにこれらのツール名を自分で追加します。

claude mcp add-json mongodb-atlas \
  '{"command":"npx","args":["-y","mongodb-mcp-server@latest"],"env":{"MDB_MCP_API_CLIENT_ID":"your-client-id","MDB_MCP_API_CLIENT_SECRET":"your-client-secret","MDB_MCP_CONFIRMATION_REQUIRED_TOOLS":"atlas-create-access-list,atlas-create-db-user,drop-database,drop-collection,delete-many,drop-index,atlas-streams-manage,atlas-streams-teardown,atlas-create-cluster,atlas-upgrade-cluster,atlas-pause-resume-cluster"}}' \
  -s user

クラスタ作成そのものを封じる選択肢

確認プロンプトを追加するのではなく、クラスタの作成・スケーリング自体をツールとして公開しないという選択肢もあります。disabledToolsには、ツール名だけでなくcreateupdatedeleteのような操作種別と、atlasmongodbというカテゴリ単位での指定ができます。

{
  "disabledTools": ["atlas-create-cluster", "atlas-upgrade-cluster", "atlas-pause-resume-cluster"]
}

この接続では、確認プロンプトを挟むかどうか以前に、Claudeからクラスタ作成・スケーリング・一時停止のツールそのものが見えなくなります。「調査や監視はさせたいが、インフラの変更は人間が手動でやる」という運用にしたい場合は、confirmationRequiredToolsよりdisabledToolsのほうが確実です。反対に、Claudeに任せつつ実行前には必ず目を通したいという運用であれば、この記事の前半で触れたconfirmationRequiredToolsへの追加が向いています。課金に直結する操作をツール公開の段階で止めるか、確認プロンプトで止めるかという判断軸は、Kubernetes MCPサーバーの権限設計で扱った--read-onlydisable_destructiveの使い分けとも共通しています。

よくあるつまずき

  • atlas-create-clusterを呼んだのに接続文字列が返ってこない: クラスタ作成は非同期です。atlas-inspect-clusterで状態がIDLEになるまでポーリングし、IDLEになって初めて接続文字列が発行されます
  • atlas-upgrade-clusterがエラーになる: targetTiercomputeAutoScalingminInstanceSizemaxInstanceSizeのいずれも指定していないと失敗します。少なくとも1つは必須です
  • 無料クラスタを一時停止しようとして失敗する: atlas-pause-resume-clusterはDedicated(M10以上)クラスタ専用です。無料・Flexクラスタはこの操作の対象外です
  • リージョン名を曖昧に指定してツールが止まる: プロバイダとリージョンの両方が確定していない場合、atlas-get-regionsで候補を先に確認してからatlas-create-clusterを呼ぶ流れにすると、あいまいな地名の解決待ちで止まりにくくなります

よくある質問

Stream Processingの利用にも追加の料金がかかりますか

Atlas Stream Processingはワークスペースの稼働時間に応じて課金される機能です。atlas-streams-buildでワークスペースを作成すると、そこから継続的なコストが発生する点はクラスタ作成と同じ性質を持ちます。前述のとおりatlas-streams-manageatlas-streams-teardownは既定で確認対象ですが、ワークスペース自体を作るatlas-streams-buildは確認対象に含まれていないため、必要ならこちらもconfirmationRequiredToolsに加えておくと安全です。

M10未満のクラスタでもオートスケーリングは使えますか

atlas-create-clusterのコンピュートオートスケーリングは、M10以上のDedicatedクラスタが対象です。無料クラスタやFlexクラスタは別の課金体系のため、この記事で扱ったオートスケーリングの挙動はそのまま適用されません。Flexクラスタからのアップグレード先はFlexまたはM10 Dedicatedに限られます。

複数のAtlasプロジェクトをまたいで操作できますか

できます。atlas-create-projectで新しいプロジェクトを作成できるほか、atlas-list-projectsで既存プロジェクトを横断的に一覧できます。ただし、クラスタ作成やスケーリングといった実際の操作は、対象プロジェクトのIDを明示して個別に呼び出す形になります。複数プロジェクトを1つの会話でまとめて操作したい場合、どのプロジェクトに対する操作かをClaudeへの指示に含めておくと、意図しないプロジェクトへの変更を避けられます。

まとめ

MongoDB Atlasのクラスタ管理は、作成(atlas-create-cluster)・スケーリング(atlas-upgrade-cluster)・一時停止(atlas-pause-resume-cluster)・Stream Processing(atlas-streams-*)という一連のツール群で、自然言語のまま操作できます。ただし課金に直結するクラスタ作成・スケーリング・一時停止は、既定のconfirmationRequiredToolsに含まれていません。削除系の操作だけが確認プロンプトの対象になっている構成なので、コストが発生する操作にも確認を挟みたい場合は、自分でツール名をリストに加えておくと安全です。

この記事を共有:XはてブLinkedIn