Claude Codeにmittwald MCPをつないでホスティングを操作する手順
ドイツのホスティング事業者mittwaldが公式に提供するMCPサーバーを、Claude CodeにOAuthとAPIトークンの2通りでつなぐ手順です。承認を挟む使い方と、トークンの権限の絞り方をまとめます。
mittwald MCPは、ドイツのホスティング事業者mittwaldが自社の基盤向けに公開しているMCPサーバーです。Claude Codeにつなぐと、プロジェクトやアプリの一覧、データベース、ドメインとSSL、バックアップといった操作を、自然文の指示で進められます。
接続先のURLは https://mcp.mittwald.de/mcp の1本です。つなぐこと自体は1コマンドで済みます。むしろ手間をかけるべきは、サーバーを動かす権限をどこまで渡すかを決める部分です。この記事では接続手順を示したあと、権限の絞り方と、課金や削除に関わる操作の止め方に重心を置きます。
mittwald MCPで何を任せられるか
提供元は、このMCPを「プロジェクト、アプリ、データベース、DNS、メール、セキュリティ、自動化」を1つのエンドポイントでカバーするものと説明しています。製品ページが挙げる主な機能は次の4つです。
- プロジェクトとアプリの管理
- データベースのプロビジョニング
- ドメインとSSLの設定
- バックアップと復元
Claude Codeの公式ガイドには、試しに投げる指示の例も載っています。プロジェクトの一覧、アプリの一覧、データベースの詳細、サーバーの状態確認、バックアップの作成です。まず読み取り系から始めるのが自然な順序です。
提供元のdocsには、用途別のHow-To集も用意されています。タイトルを拾うと、APIトークンの管理、アプリのデプロイと移行、cronジョブ、DNS・メール・SSL、組織メンバーの招待、RedisとMySQLユーザーの追加などです。会話で何ができるかの見取り図として役立ちます。
OAuthでつなぐ(対話的に使うとき)
手元のPCでClaude Codeを使うなら、OAuthが推奨の方法です。Claude CodeはDynamic Client Registrationに対応しているため、クライアントを自分で登録する必要はありません。
まず、MCPサーバーを追加します。
claude mcp add --transport http mittwald https://mcp.mittwald.de/mcp保存先のスコープは --scope で選べます。local が既定で、project にすると .mcp.json に書かれてチームで共有され、user なら全プロジェクトで使えます。チームで同じ接続設定を使いたいときは project が候補になります。
次に、Claude Codeを起動して認証します。
OAuth認証の流れ
- 1
/mcp を開く
Claude Codeのセッション内で
/mcpと入力し、一覧からmittwaldを選びます。 - 2
ブラウザで承認する
自動で開くブラウザでmittwaldにログインし、要求されたスコープを確認してAuthorizeを押します。ブラウザが開かないときは、表示されたURLを手でコピーして開きます。
- 3
動作を確かめる
Claude Codeに戻ると認可が自動で取り込まれます。「Use mittwald MCP to get my user information」と頼み、自分のユーザー情報が返れば接続できています。
アクセストークンの有効期間は約1時間ですが、Claude Codeが自動で更新します。パスワードはブラウザでmittwaldに入力するだけで、Claude Codeには渡りません。
APIトークンでつなぐ(CIやSSH先のサーバー)
OAuthはブラウザを必要とします。ブラウザのない環境や、パイプラインから呼ぶ用途では、APIトークンを使います。mStudioの「User Settings」から「API Tokens」を開き、必要な権限だけを付けたトークンを作ります。
claude mcp add --transport http mittwald https://mcp.mittwald.de/mcp \
--header "Authorization: Bearer YOUR_MITTWALD_API_TOKEN"提供元はトークンの扱いについて、自動更新されないこと、長期間有効なので漏れると危険なこと、定期的に入れ替えることを注意点として挙げています。ローカルの開発ではOAuth、CIではAPIトークンという併用も案内されています。
OAuthとAPIトークンの選び分け
認証方式の違い
OAuth 2.1
ブラウザで承認し、スコープを画面で確認できます。トークンは短命で、対応していれば自動更新されます。
APIトークン
ブラウザ不要でBearerヘッダーに載せます。自動更新はなく、有効期間が長いぶん、保管と入れ替えを自分で管理します。
権限は最小から始める
Claude Codeの公式ガイドは、スコープについて「用途に収まる最小の組み合わせを要求する」と述べ、多くの開発者は user:read、customer:read、project:read、app:read から始めるとしています。いずれも読み取り用の名前です。
書き込みが要る作業が出てきたら、そのときに再認証してスコープを足します。アクセス拒否の403が出た場合の対処も、再認証して必要なスコープを承認するか、APIトークンなら正しい権限で作り直すことと案内されています。
承認を外したいときは、/mcp からmittwaldを選んでClear authenticationを実行します。mStudio側からトークンを失効させることもできます。
破壊的な操作は、ClaudeではなくあなたのCLAUDE.mdで縛る
mittwald MCPのdocsは、エージェントに歯止めがあると説明しています。削除のような破壊的な操作には確認が入り、利用者が実行内容を見張れるというのが提供元の説明です。そのうえで、削除や費用が変わる操作は明示的な承認を求める操作と位置づけられ、エージェントは無人の自動処理ではなく運用担当者として扱うよう求められています。
この考え方は、プロンプトとプロジェクトのCLAUDE.mdに落とし込めます。提供元のチュートリアルは、どれも同じ型で書かれています。冒頭に貼る指示文、エージェントが自動でやること、人が自分でやること、確認用の指示、元に戻す指示、失敗後に再開する指示の6点です。
CLAUDE.mdには、たとえば次のような運用ルールを置けます。
## mittwald(ホスティング操作)
- 削除・失効・復元の前に、対象のIDと影響範囲を一覧にして私に確認する
- 承認なしにリソースを削除しない。クリーンアップは「報告のみ」で止める
- 変更の後は、読み取り系のツールで状態を再確認し、結果をIDつきで報告する
- 必要な環境変数やシークレットが無いときは推測せず、私に値を尋ねるこの断片は、提供元のチュートリアルにある「承認なしに削除しない」「IDを返す」「足りないシークレットは人が渡す」という要点を、CLAUDE.mdの書き方に直したものです。mittwald固有の設定キーではないので、自分の運用に合わせて書き換えてください。
Claude Code側の権限ルールで、特定のツールを毎回確認に回したり禁止したりする方法は、MCP権限ルールの書き方にまとめています。ツール名は /mcp でmittwaldを開くと確認できます。
コンテナのデプロイを例に、1サイクルを回す
提供元のチュートリアルには、コンテナスタックのデプロイがあります。Claude Codeでの1サイクルを、その流れに沿って並べると次のとおりです。
チェックポイント付きのデプロイ
- 1
現状を棚卸しさせる
既存のスタック、コンテナ、ボリュームを列挙させます。いきなり変更を頼まず、まず読み取りから入ります。
- 2
デプロイまたは更新を頼む
指示文には「削除は私が承認するまでしない」を入れます。環境変数やシークレットが足りなければ、エージェントが聞いてくるので自分で渡します。
- 3
健全性を確かめさせる
サービスの状態、ポート、永続ボリュームを確認させ、失敗したサービスのIDを返させます。
- 4
失敗したら戻すか再開する
ヘルスチェックが通らなければ、直前の正常な構成へ戻すか、失敗したステップだけから再開させます。戻すかどうかの判断は人が持ちます。
チュートリアルの指示文は、次のような形です(提供元の例に沿った形で、実際に返る結果ではありません)。
Deploy or update my container stack on mittwald and validate runtime health.
Flow:
1) Inspect existing stacks, containers, and volumes.
2) Deploy/update the target stack.
3) Verify service health, ports, and persistent volumes.
4) Report rollout status and any failing service IDs.
Do not delete resources unless I approve.最後の1行が肝心です。この一文があるかどうかで、エージェントが片づけと称して不要なリソースを消すかどうかが分かれます。
つまずいたときの切り分け
Claude Code向けガイドのトラブルシューティングを、症状から引ける形にまとめます。
| 症状 | 原因として挙げられているもの | 対処 |
|---|---|---|
| ブラウザが開かない | 原因として挙げられているもの既定のブラウザが検出されない、またはヘッドレス環境 | 対処表示されたURLを手で開く |
| OAuthが失敗と表示される | 原因として挙げられているものクライアント登録かコールバックが拒否された | 対処/mcp からやり直す。続くならmittwaldのサポートへ |
| 接続が拒否される | 原因として挙げられているものネットワークやファイアウォール、プロキシ | 対処別のネットワークで試し、HTTPSの出口を確認する |
| 401になる | 原因として挙げられているものトークンの期限切れか失効 | 対処OAuthは /mcp で再認証、APIトークンは作り直して再登録 |
| 403になる | 原因として挙げられているものスコープ不足 | 対処再認証して必要なスコープを承認する |
| サーバーが見つからない | 原因として挙げられているもの名前、URL、設定スコープの違い | 対処claude mcp list で確認し、正しいURLとスコープで追加し直す |
Claudeのデスクトップアプリやウェブからつなぐ場合
Claude Code以外の入口もあります。mittwaldのdocsは、Claudeのデスクトップアプリとウェブ版からは、Claudeのコネクタディレクトリにある公式コネクタをインストールする形でつなげると説明しています。所要時間の目安は約2分で、Claude Codeの約10分より短く見積もられています。
同じdocsにはGitHub Copilot、Cursor、Codex CLI、Hermes Agent、ChatGPTの案内もあります。普段使うツールに合わせて選べますが、ターミナルで作業が完結するなら、この記事のClaude Codeの手順が合います。
ほかのMCPサーバーを併用するときは、設定ファイルに mcpServers を並べます。mittwald側のdocsは、OpenSearch、Apache Solr、TYPO3向けのサードパーティMCPを併用の例として挙げています。ただし、MCPサーバーを増やすとツール定義がコンテキストを圧迫します。その仕組みはMCPのトークン消費の記事で扱っています。
よくある質問
複数のmittwaldアカウントを使えますか
使えます。ただしアカウントごとに別々に認証し、サーバー名やスコープを分けて設定を管理する必要があります。
SSHで入ったサーバーでOAuthは使えますか
OAuthにはブラウザが要ります。SSH先ではAPIトークンのほうが向いています。必要なら手元のPCで認証したあと、その設定を使い回す形も案内されています。