Render MCPサーバーでClaudeからWebサービス・DBを管理する
Render公式MCPサーバーの接続手順と、本番デプロイ・環境変数変更・読み取り専用SQLの権限範囲を、Claude Code v2.1.287での実機出力つきでまとめます。
Render MCPは、Renderが公式に提供するMCPサーバーです。Claude CodeやClaude Desktop、Codex、Cursorなどから、Renderのリソースを自然言語で操作できます。通常はhttps://mcp.render.com/mcpのホスト型エンドポイントに接続するだけで使え、自前でサーバーを立てる必要はありません(IP制限付きのDBを照会するときはローカル実行も選べます)。Webサービスの作成からデプロイ、ログ確認まで扱えます。一方で、既存サービスを書き換える手段は環境変数の更新とデプロイのトリガーだけで、削除用のツールはありません。本番に接続する前に、どこまでがMCPで、どこからがダッシュボードの作業かを押さえておきます。ドメインやDNSまで扱うホスティング事業者の例はHostinger MCPの接続手順にあります。
接続前に決める認証方式
Render MCPサーバーへの接続は、Renderアカウントへのアクセス権をAIツールに渡す操作です。Renderのドキュメントにも「環境変数の変更やデプロイのトリガーを含む、破壊的になりうる操作に対応している」とあります。渡す先のワークスペースが本番か検証用かを先に確かめてください。
Claude CodeでもClaude Desktopでも、認証方式は2通りです。
| 認証方式 | 向く場面 |
|---|---|
| OAuth(Renderプラグイン / Connectors) | 向く場面対話的に使う個人利用。ブラウザで認可フローを開ける環境 |
| APIキー(Bearerトークン) | 向く場面CIや非対話環境。設定ファイルに直接書き込みたい場合 |
Claude Desktopでは、OAuthなら「Customize」>「Connectors」で「Render」を探して接続します。APIキー方式では、claude_desktop_config.jsonにmcp-remote経由の設定を書き、キーはRENDER_API_KEY環境変数として渡します。
Claude CodeにRender MCPサーバーを追加する
最短経路はRenderの公式プラグインです。MCPサーバーに加えて、Renderのスキルも一緒に入ります。
プラグインでの接続手順
- 1
プラグインを入れる
Claude Codeで次のコマンドを実行します。
- 2
アクセス範囲のスコープを選ぶ
インストール中にスコープの選択が出ます。
- 3
プラグインを再読み込みする
/reload-pluginsを実行します。 - 4
初回のツール呼び出しで認可する
最初にMCPサーバーが使われるとき、ブラウザで認可フローが開き、Renderアカウントと接続されます。
/plugin install render@claude-plugins-official非対話環境やCIではAPIキー方式を使います。RenderダッシュボードのAccount Settingsでキーを発行し、claude mcp addのヘッダーに渡します。
claude mcp add --transport http render https://mcp.render.com/mcp \
--header "Authorization: Bearer <YOUR_API_KEY>"スコープで変わるAPIキーの置き場所
v2.1.287のclaude mcp add --helpでは、--scopeの既定値はlocalで、local・user・projectから選べます。projectを選ぶと、キーの置き場所がリポジトリの中になります。一時ディレクトリでダミーのキーを使った実行例は次のとおりです。
claude mcp add --scope project --transport http render \
https://mcp.render.com/mcp --header "Authorization: Bearer dummy-key"
cat .mcp.json画面の出力ではHeaders: { "Authorization": "[REDACTED]" }と伏せ字になります。ところが書き出された.mcp.jsonには、値が平文のまま入っていました。
{
"mcpServers": {
"render": {
"type": "http",
"url": "https://mcp.render.com/mcp",
"headers": {
"Authorization": "Bearer dummy-key"
}
}
}
}.mcp.jsonはコミットして共有するファイルなので、本物のキーを入れたままだとリポジトリを見られる全員に本番相当の権限が渡ります。Claude Codeのドキュメントによると、.mcp.jsonのheadersには${VAR}形式の環境変数展開が使えます。共有する設定には"Authorization": "Bearer ${RENDER_API_KEY}"のように参照だけを書き、実際のキーは各自の環境変数に置く形です。
ただし、Claude Codeは自身の認証情報やNPM_TOKENのような名前の変数を、headersの中では空として読みます。その場合は自分で付けた別名の変数にコピーして参照します。スコープごとの違いはClaude Code MCP設定ガイドにまとめています。
ワークスペースは毎回明示する
Render MCPサーバーの各ツールは、1つのワークスペースに閉じて動きます。接続直後は「Set my Render workspace to[ワークスペース名]」のように指定するか、List my Render servicesのようなプロンプトを送ってアプリ側から選択を促されるのを待ちます。
GitHubのREADMEは、これより一段厳しい書き方です。select_workspaceは非推奨ツールとされ、各リソースのツールに任意のworkspaceIdを渡す形が新しい推奨です。list_workspacesでユーザーが選んだワークスペースのIDを、関連するツール呼び出しごとに付けます。MCPの再接続やトランスポートのセッションが変わっても、対象がずれないようにするためです。
workspaceIdを省くと、現在のセッションで選択済みのワークスペースに暗黙でフォールバックします。READMEによると、この暗黙の挙動は非推奨で、削除が予定されています。ドキュメントのページには「Set the current workspace」が機能として載っていますが、READMEでは非推奨扱いです。複数のワークスペースを持つ環境では、プロンプトでIDまで指定しておくと安全です。
作成できるサービスとできないサービス
新規作成に対応するのは、create_web_service・create_static_site・create_cron_job・create_postgres・create_key_valueの5つだけです。
Webサービスのruntimeにはnode・python・go・rust・ruby・elixir・dockerが選べ、planはstarterからpro_ultraまでの6段階です。省略時の既定値も決まっていて、autoDeployはyes、regionはoregonです。リポジトリへのpushで自動デプロイされる設定が、何も言わなければ有効になります。リージョンはoregon・frankfurt・singapore・ohio・virginiaの5つから選びます。
Cronジョブは5フィールドの標準cron構文です。0 9 * * 1-5で平日朝9時になります。レジストリのイメージをそのまま動かすサービスの作成や、IPアローリストの設定は、MCP経由ではできません。
create_key_valueには、Redis互換ならではのmaxmemoryPolicy(キーの追い出しポリシー)とpersistenceMode(永続化方式)があります。追い出しポリシーは8種類で、noevictionはメモリ不足エラーを起こしうる設定です。永続化は、ジャーナル併用のスナップショット・スナップショットのみ・永続化なしから選べます。永続化なしは書き込み性能を優先する設定で、どれにするかは作成時に指定します。
本番に効くツールと権限の境界
読み取り系と書き込み系は、同じ会話の中で連続して呼ばれます。どのプロンプトがどちらのツールを動かすかを先に知っておくと、承認画面で立ち止まる場所を決められます。
プロンプトの種類と呼ばれるツール
読み取り系
- 「APIサービスの直近のエラーレベルログを取得して」→
list_logs - 「今月一番トラフィックが多かった日は?」→
get_metrics - 「どのデータベースがあるか教えて」→
list_postgres_instances
書き込み系
- 「APIサービスを再デプロイして、ビルドキャッシュもクリアして」→
trigger_deploy - 「環境変数を更新して」→
update_environment_variables - 「user-dbという名前のデータベースを作って」→
create_postgres
既存の本番に直接効くのは、trigger_deployとupdate_environment_variablesの2つです。trigger_deployは新しいデプロイを開始し、clearCacheをtrueにするとビルドキャッシュを消してから動かします。既定はfalseです。
update_environment_variablesは、ツールの説明が「Complete list of environment variables」を渡す仕様で、サービスの環境変数を全件分まとめて更新します。1つ足すつもりでも、既存のキーを含めた完全なリストを渡す前提で動くため、プロンプトでも「既存の値は残して」と添えておくと安全です。
update_web_service・update_static_site・update_cron_jobは、名前に反して設定を書き換えません。返ってくるのはダッシュボードの設定ページへのリンクです。
| 操作 | MCPツールでの対応 |
|---|---|
| デプロイのトリガー | MCPツールでの対応対応(trigger_deploy) |
| 環境変数の更新 | MCPツールでの対応対応(update_environment_variables) |
| サービス設定の変更(プラン・リージョン等) | MCPツールでの対応非対応。ダッシュボードへのリンクを返す |
| サービス・DB・Key Valueの削除 | MCPツールでの対応非対応。ダッシュボードかREST APIで行う |
| スケーリング設定の変更 | MCPツールでの対応非対応 |
破壊的な操作が少ないぶん、誤操作の被害範囲は狭まります。それでも前の2つは、Claude Code側の権限ルールで個別に承認を挟めます。Claude Code MCP権限ルールのmcp__<サーバー名>__<ツール名>(例: mcp__render__trigger_deploy)単位の書き方なら、この2つだけ承認必須にして、読み取り系は自動承認にする構成が組めます。
障害調査に使う3つの読み取りツール
調査の入口になるのは、ログ・イベント・メトリクスの3系統です。
調査用の読み取りツール
ログ(list_logs)
resourceが必須で、level・statusCode・path・textなどで絞れます。リクエストログはホストやメソッドでも絞り込めます。イベント(list_events)
デプロイ・ビルド・再起動・スケーリング・サスペンドなどの履歴です。メモリ不足による強制終了やヘルスチェック失敗のような落ちた理由は、ログには出ず、ここに載ります。
メトリクス(get_metrics)
CPU・メモリ・インスタンス数・HTTPリクエスト数とレスポンスタイム・帯域・DB接続数を取れます。
list_eventsの既定は直近7日・20件(最大100件)・新しい順で、対象はサービスのみです。PostgresやKey Valueのイベントは取れません。それより古い履歴を見たいときはstartTimeを前に倒します。
get_metricsの期間は既定で直近1時間で、開始・終了とも過去30日以内に収める必要があります。HTTPレスポンスタイムの取得にはProワークスペース以上が要ります。http_latencyのパーセンタイルは、省略すると0.95です。リソースに合わない指標を指定すると、結果が空になることがあります(active_connectionsはDBとKey Valueだけ、http_*はサービスだけ)。
Postgresへの読み取り専用クエリとIPアローリスト
query_render_postgresは、Render Postgresに読み取り専用のSQLを流すツールです。集計やテーブル構造の確認をAIに任せたいとき、書き込み権限を持つ通常の接続文字列を渡すより境界がはっきりします。
つまずきやすいのは接続経路です。READMEによると、このツールはデータベースの外部URLに接続するため、データベース側のIPアローリストが適用されます。アローリストが空のときは、接続を試さずに「外部接続がブロックされている」と報告します。ホスト型のMCPサーバーには、アローリストに登録できるIPアドレスがまだありません。IPを制限したデータベースを調べるには、MCPサーバーをローカルで動かし、手元のIPを登録する必要があります。
Renderのドキュメントには、機密情報の扱いの断り書きもあります。接続文字列のような情報をAIのコンテキストに出さないよう努めているものの、露出しないことは保証されていません。
ホスト型とローカル実行の違い
Renderはホスト型サーバー(https://mcp.render.com/mcp)を強く勧めています。新しいツールが追加されるたびに自動で反映されるためです。Dockerコンテナや実行ファイルとして手元で動かす選択肢もありますが、その場合はRENDER_API_KEYをローカルの設定ファイルに書き、アップデートも自分で追いかけます。
ドキュメントは、ローカル実行を必要な場合だけの選択肢としています。前節のIPアローリスト付きデータベースを調べるときが、その一例です。
よくあるつまずき
OAuthで接続したのにツールが出てこないときは、手順3の/reload-pluginsと手順4の認可が両方済んでいるかを見ます。
APIキー方式でBearerトークンを--headerに渡すとき、引用符の閉じ忘れでトークンの一部がシェルに解釈される失敗もあります。環境変数に入れてから渡すと避けられます。
まとめ
本番に近いワークスペースでは、デプロイと環境変数更新の承認だけを手元に残し、APIキーは.mcp.jsonに平文で置かない構成が出発点になります。他のPaaS向けMCPサーバーとの権限設計の違いは、PaaS系MCPの本番デプロイ権限を各社でどう絞るかで比べています。Heroku向けの同種のサーバーはHeroku MCPサーバーでClaude Codeからアプリをデプロイ・スケーリングするにまとめました。