CARTO MCPサーバーをClaudeにつなぐ手順 — 地図付きの空間分析
CARTOのMCPサーバーをClaude.ai・Claude Desktop・Claude Codeにつなぐ手順です。URLだけで接続できる理由、OAuthとAPIトークンの差、地図がチャットに描画される条件を押さえます。
CARTO MCPサーバーをClaudeにつなぐと何ができるか
CARTOは、クラウドのデータウェアハウス(DWH)に置いた位置情報データを地図にして分析するプラットフォームです。そのMCPサーバーをClaudeにつなぐと、DWHの探索、空間SQLの実行、地図(Builder map)の作成、ワークフローの組み立てと実行を、会話の中から進められます。
AIモデルは使っているアシスタント側(Claude)で動きます。CARTOが受け取るのはアシスタントが送るツール呼び出しだけで、会話の内容は見ません。
ツールは自然文の依頼から選ばれるので、名前を覚える必要はありません。できることは6つの分類にまとまっています。
| 分類 | エージェントができること |
|---|---|
| データの探索 | エージェントができること接続の一覧、テーブルの閲覧と検索、列の分布の確認 |
| 地図の作成と編集 | エージェントができることテーブルやSQLから地図を作る、レイヤーのスタイル変更、ウィジェットとポップアップの追加、公開範囲の設定 |
| ワークフロー | エージェントができることフィルタ・空間結合・集計・エンリッチを組んで検証し、同期または非同期で実行、スケジュールも設定 |
| クエリと分析 | エージェントができること空間SQL、住所のジオコーディング、等時間圏(アイソライン)と経路、Data Observatoryでの補強 |
| インポートとエクスポート | エージェントができること地理空間ファイルのDWHへの取り込み、結果の書き出し、接続間のデータ移動 |
| ワークスペース管理 | エージェントができること接続・認証情報・名前付きソース・プロジェクト、管理者ならユーザーや組織設定 |
組織で作ったワークフローをMCPツールとして公開すると、この一覧に自社のツールを足せます。
同じ地図系の連携にはClaudeとFelt Mapsの連携もあります。Feltは地図の作成と共有が中心で、CARTOはDWH上のデータを直接クエリして分析するところに重心があります。
接続前に決める2つのこと — URLと認証方式
MCPサーバーURLはワークスペースからコピーする
URLはCARTOのワークスペースに表示されます。EditorとAdminは「Developers > Workflow API & MCP Server」にあります。Guest以外なら「Settings > CARTO AI > CARTO MCP Server」でも見られます。
形は https://<region>.api.carto.com/mcp/<account_id> です。ただし手で組み立てず、コピーするのが確実です。セットアップの失敗でいちばん多いのがここだと書かれています。
組織がシングルサインオン(SSO)でCARTOにログインしているなら、標準のURLの下にある「SSO login」用のURLを使います。ログインが自社のIDプロバイダー経由になります。
セルフホスト版と専用デプロイでは、パスが https://<host>/api/mcp/... と /api/ 付きになります。パスを間違えると、中身のない 405 Not Allowed が返ります。
OAuthかAPIアクセストークンか
認証方式で、エージェントが触れる範囲が決まります。
| 方式 | 向く用途 | エージェントが使える範囲 |
|---|---|---|
| OAuth(ユーザー単位) | 向く用途Claudeのような対話クライアント | エージェントが使える範囲ロールが許すツール。EditorとAdminは地図の作成・編集とワークフローの作成も可能 |
| OAuth(M2M) | 向く用途人が介在しないサービス間連携 | エージェントが使える範囲全ツール |
| APIアクセストークン | 向く用途読み取りと探索だけの手軽な接続、静的トークンしか受けない環境 | エージェントが使える範囲閲覧・SQL実行・ワークフロー実行状況の確認など。地図やワークフローの作成と管理者機能は使えない |
目安は「エージェントに何かを作らせるならOAuth、見るだけならトークン」です。ClaudeはOAuthで接続するので、ここから先はOAuthが前提です。
どちらの方式でも、エージェントの操作はあなたの権限の範囲です。実行内容は組織のアクティビティデータに記録され、通常のAPI利用と同じようにクォータを消費します。
ロール別の見え方は、OAuth接続でこう分かれます。
| ツール群 | Admin | Editor | Viewer |
|---|---|---|---|
地図の作成・更新(create_map / update_map) | Admin可 | Editor可 | Viewer不可 |
地図の読み取り・表示(read_maps / view_map) | Admin可 | Editor可 | Viewer可 |
| ワークフローの作成・スケジュール | Admin可 | Editor可 | Viewer不可 |
ワークフローの実行(run_workflow) | Admin可 | Editor可 | Viewer状態と結果の確認のみ |
データ探索・SQL・ジオコーディング(explore_data / execute_query / geocode) | Admin可 | Editor可 | Viewer可 |
| 接続の管理・データのインポート | Admin可 | Editor可 | Viewer不可 |
Viewerロールで接続して「地図を作って」と頼んでも、create_map はそもそもツール一覧に出ません。地図を作らせたい人は、EditorかAdminのアカウントでサインインします。
Claude.aiとClaude Desktopでつなぐ
ClaudeはCIMD(Client ID Metadata Document)という仕組みで、CARTO側に自分を自動登録できます。OAuthクライアントの作成や登録は不要で、URLを渡してサインインするだけです。Claude.ai、Claude Desktop、Claude Codeの3つがCIMDに対応しています。
Claude.aiでCARTOを追加する流れ
- 1
コネクタ設定を開く
Claude.aiの「Settings → Connectors」を開き、「Add custom connector」を押します。
- 2
名前とURLを入れる
名前は
CARTOなど任意です。URL欄にはワークスペースからコピーしたMCPサーバーURLを貼ります。 - 3
追加して接続する
「Add」のあと「Connect」を押します。
- 4
CARTOでサインインする
CARTOのログイン画面に移るので、サインインして許可します。
Claude Desktopも同じ手順で、入り口は「Settings → Connectors」です。最後のサインインまで同じ流れになります。
カスタムコネクタはFree、Pro、Max、Team、Enterpriseの各プランで使えます。Freeは1つまでです。Team・Enterpriseでは、コネクタを組織に追加できるのはOwnerとPrimary Ownerなどに限られるため、メンバーは先にOwnerへ追加を依頼します。コネクタ追加の一般的な流れは、ClaudeのコネクタとChatGPTのアプリの違いでも比べています。
Claude Codeでつなぐ
Claude Codeは claude mcp add で追加します。CARTOがClaude Codeを自動で認識するので、SPA OAuthクライアントは要りません。
claude mcp add --transport http carto \
https://<region>.api.carto.com/mcp/<account_id>追加したら、Claude Codeの中で /mcp を実行して「Authenticate」を選びます。ブラウザでCARTOのログインが開き、OAuthが完了します。SSOの組織は、SSO用のURLで同じ手順を踏みます。
Claude Code向けには、MCPのほかにAgent SkillsとCLIも用意されています。
- Agent Skills: ツールの選び方、DWHごとのSQL方言、よくある空間分析のレシピを教えるプレイブック
- CARTO CLI: スクリプト、CI/CD、一括処理、利用ログのSQL検索など深い管理向け
Skillsのインストールはこの2行です。
/plugin marketplace add CartoDB/agent-skills
/plugin install carto-skills@carto-agent-skillsCLIは npm install -g @carto/carto-cli で入れ、carto auth login で認証します。Skillsは、MCPで済む処理とCLIに回す処理を自分で判断するように作られています。
Claude.aiとClaude Desktopでも、同じSkillsをプラグインとして入れられます。「Customize」の「Plugins」タブで、CartoDB/agent-skills をマーケットプレイスに追加し、carto-skills をインストールします。プラグインは有料プランで使えます。
地図がチャットに出る場所と出ない場所
地図のインライン描画は、MCP Appsに対応したクライアントだけで起きます。ドキュメントが挙げているのは、Claude.ai、ChatGPT、Claude Desktopです。
対応していないクライアントでは、地図ツールは「作成した」という文字の確認を返すだけです。その場合は、エージェントに地図のURLを聞いてCARTOで開きます。Claude Codeはこの一覧に入っていないので、ターミナルから使うときはURLを受け取る前提で考えます。
同じ依頼でも、つなぐ先で戻ってくるものが変わる
Claude.ai / Claude Desktop
会話の中にインタラクティブな地図が表示されます。結果をチャットから離れずに確認できます。
Claude Code
地図は作成されますが、返るのはURLです。ブラウザでCARTOを開いて見ます。
依頼の書き方と、ツールが動く順番
エージェントは依頼文からツールを選ぶので、データの場所と欲しい成果物を一緒に伝えるとうまく回ります。次は、ドキュメントの機能一覧に沿って組んだ依頼の例です。
CARTOの接続一覧から店舗データを置いているDWHを探して、
stores テーブルの列と分布を確認してください。
そのあと、各店舗から徒歩10分圏のアイソライン内にある
人口を集計し、結果を地図にして共有設定は組織内にしてください。この依頼が通るなら、裏ではおおむね次の順にツールが使われます。
explore_dataで接続とテーブル、列の分布を確認するcalculate_isolinesで等時間圏を作り、execute_queryで人口を空間結合して集計するcreate_mapで地図を作り、公開範囲を設定して開く
ツール名はリファレンスの表に載っている名前です。実際にどのツールが選ばれるかは依頼の書き方とロール次第なので、個別の呼び出しは会話中のツール実行表示で確かめます。
定型の分析を繰り返すなら、ワークフローにして保存し、MCPツールとして公開する形が向いています。条件が毎回同じ処理は、会話のたびにSQLを組み直させるより、入力だけを渡すツールにしたほうがぶれません。
つまずきやすいところ
落とし穴
405 Not Allowedが返る
セルフホスト版や専用デプロイでは、URLのパスが /api/mcp/ 形式になります。/api/ を付け忘れたパスでは、このエラーになります。ワークスペースに表示されたURLをコピーします。
落とし穴
APIトークンで接続したら地図が作れない
トークン接続は読み取りと探索のサブセットだけです。さらに、MCP Serverのスコープを入れただけでは使えるツールが4つにとどまり、SQLやジオコーディングなどは「Allowed APIs」に足した分だけ増えます。SQLのグラントは、source にクエリ本文か * を指定します。テーブル名にすると、そのテーブルへの SELECT が 403 になります。
落とし穴
ワークスペースにURLが見つからない
「Developers」のメニューはEditorとAdminに出ます。Guestは「Settings > CARTO AI」にもURLが出ないので、Adminにロールの確認を頼みます。Claude Code向けの接続ガイドには「Settings > CARTO MCP Server」という短い表記もありますが、探すときは前半で挙げた2つのパスをたどります。
ChatGPTやCopilot Studioなど、CIMDに対応していないクライアントは、SPA OAuthクライアントをCARTOで作り、コールバックURLを登録する手間が加わります。Claude系だけがURLだけで済むのは、この差です。AWSのMCPで認証方式の使い分けを扱ったClaudeとAWS MCPサーバーの連携も、考え方の参考になります。
まとめ
CARTO MCPサーバーのClaude接続は、ワークスペースでURLを取り、コネクタ(Claude.ai・Desktop)か claude mcp add(Claude Code)に貼ってサインインするだけです。作らせるならOAuth、見るだけならトークンという線引きがあり、ロールが低いと地図の作成ツールは出てきません。
地図を会話の中で見たいならClaude.aiかClaude Desktop、スクリプトと組み合わせた作業ならSkillsとCLIを足したClaude Code、という使い分けになります。