このガイドでは、ReoGrid Studio を手元の AI ツール群に接続する方法を順を追って説明します。読み終える頃には、Claude Code で「このデータをスプレッドシートにして」と頼むだけで、ライブの studio.reogrid.net URL が返ってくるようになります。
ReoGrid Studio をご存じない方向けに簡単に説明すると、studio.reogrid.net でホストされる、公開 MCP エンドポイント付きのブラウザ上スプレッドシートです。AI エージェントが ReoGridJsonDocument を公開すると、共有可能な短縮 URL が返ってきます。背景については ReoGrid Studio のご紹介 を参照してください。
エンドポイント
押さえておくべきエンドポイントは 1 つだけです。
POST https://api-studio.reogrid.net/studio/mcp
JSON-RPC 2.0(MCP 標準のトランスポート)を話します。認証なし、匿名アクセス可、IP あたり 1 時間 30 回までのレート制限付きです。公開されているツールは 4 つあります。
| ツール | 用途 |
|---|---|
get_schema | ReoGridJsonDocument の基本スキーマと、拡張機能のインデックスを返す |
get_feature_spec | 個別機能(filter、frozen、cellTypes など)のスキーマ詳細を返す |
publish_sheet | ドキュメントを公開し { id, url, createdAt } を返す |
get_sheet | 公開済みドキュメントを id で取得する |
get_schema → get_feature_spec という 2 段階の探索を採用することで、公開スキーマを任意のエージェントのコンテキストウィンドウに収まるサイズに保ちつつ、必要に応じて全機能の詳細にアクセスできるようにしています。AI クライアントはこのパターンを自然と汲み取り、未知の機能が必要になった時点で get_feature_spec を呼び出します。
Claude Code から(推奨)
Claude Code は Anthropic 公式の CLI です。リモート MCP サーバーを標準でサポートしています。次のコマンドで Studio MCP を追加します。
claude mcp add --transport http --scope user reogrid-studio https://api-studio.reogrid.net/studio/mcp
--scope user フラグを付けると、マシン上のすべてのプロジェクトで利用できるようになります。フラグを省略(または --scope local を指定)すれば、現在のディレクトリ限定で登録されます。
登録されたか確認します。
claude mcp list
一覧に reogrid-studio が HTTP URL とともに表示されていれば成功です。
最初の会話
任意のプロジェクトで Claude Code を開いて、次のように頼んでみてください。
「Q1 の売上があります: 東京 1200/1450/1600、大阪 900/1100/1250、名古屋 700/850/950(1月/2月/3月)。月別合計と Q1 合計の列を持つきれいなスプレッドシートを作って、reogrid-studio で公開してください」
Claude Code は Studio のツールを自律的に使い始めます。典型的なトレースは次のようになります。
mcp__reogrid-studio__get_schema()— 基本形状と機能インデックスを読み取るmcp__reogrid-studio__get_feature_spec({ feature: "frozen" })— 使いたい機能の詳細仕様を取得するmcp__reogrid-studio__publish_sheet({ doc, title })— 公開し、URL を受け取る
応答の最後に公開 URL が含まれます。クリックすればスプレッドシートが開きます。
便利なプロンプトパターン
- 分析したデータを可視化する: 「今計算した行を、適切な数値書式付きで Studio シートとして公開してください」
- 記述から組み立てる: 「現実的な 15 件のプロダクトバックログを生成して、ヘッダーフィルタ付きで公開してください」
- ファイルから変換する: 「
data.csvを読み込み、地域別に集計し、合計列に条件付き書式を付けた状態で Studio シートとして公開してください」
Claude は必要なスキーマや機能をその場で取りに行きますので、JSON の形状を逐一指示する必要はありません。
Claude Desktop から
Claude Desktop も同じ MCP プロトコルを話します。設定ファイルを編集してください。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Studio サーバーを追加します。
{
"mcpServers": {
"reogrid-studio": {
"type": "http",
"url": "https://api-studio.reogrid.net/studio/mcp"
}
}
}
Claude Desktop を再起動すると、ツールが会話のツール一覧に現れます。プロンプトの書き方は Claude Code と同じです。
お使いの Claude Desktop が HTTP MCP サーバーをネイティブにサポートしていない場合は、mcp-remote ブリッジを使ってください。
{
"mcpServers": {
"reogrid-studio": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api-studio.reogrid.net/studio/mcp"]
}
}
}
Cursor から
Cursor は ~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクト単位)で MCP をサポートしています。
{
"mcpServers": {
"reogrid-studio": {
"url": "https://api-studio.reogrid.net/studio/mcp"
}
}
}
ウィンドウをリロードすると、Composer の利用可能ツールに Studio が表示されます。プロンプトパターンは同じです。
Anthropic API から(アプリケーション開発者向け)
Claude とプログラム的にやり取りするアプリケーションを構築している場合は、API レベルの MCP コネクタを利用してください。MCP クライアントを自前で動かす必要がなく、Anthropic 側でループを処理してくれます。
import Anthropic from "@anthropic-ai/sdk"
const client = new Anthropic() // 環境変数 ANTHROPIC_API_KEY を読み込みます
const response = await client.beta.messages.create({
model: "claude-opus-4-7",
max_tokens: 16000,
system:
"You are a data visualization assistant. Use the reogrid-studio MCP to " +
"publish data as live spreadsheets. End your reply with the URL.",
messages: [
{
role: "user",
content:
"Q1 support tickets — Email Jan 423 Feb 401 Mar 456, " +
"Chat Jan 612 Feb 689 Mar 745, Phone Jan 234 Feb 220 Mar 198. " +
"Build a clean spreadsheet with monthly totals and publish it.",
},
],
mcp_servers: [
{
type: "url",
url: "https://api-studio.reogrid.net/studio/mcp",
name: "studio",
},
],
tools: [{ type: "mcp_toolset", mcp_server_name: "studio" }],
betas: ["mcp-client-2025-11-20"],
})
// response.content には text、mcp_tool_use、mcp_tool_result のブロックが
// 交互に並びます。公開 URL は publish_sheet の最後の mcp_tool_result と
// 多くの場合最後のテキストブロックに現れます。
注意点:
- ベータヘッダー
mcp-client-2025-11-20が必須です。betas:で指定し、client.beta.messages.create(...)を呼び出します。 - サーバー側ループにはデフォルトの上限があります。到達した場合
stop_reason: "pause_turn"で応答が返るので、response.contentをassistantターンとして messages に追記し、再送して継続させます。 - コストは Opus 4.7 のレートでシナリオあたり概ね 0.15〜0.20 USD 程度です(スキーマレスポンスが約 16 KB あり、入力トークンの大半を占めます)。試行錯誤の段階では
claude-sonnet-4-6を使うと安く済みます。 - 同じパターンが Python でも動作します。Anthropic SDK MCP connector のドキュメント を参照してください。
公開された内容を確認する
公開のたびに { id, url, createdAt } が返されます。保存されているドキュメントは get_sheet で取得できます。
curl -sS -X POST https://api-studio.reogrid.net/studio/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_sheet","arguments":{"id":"YOUR_SHORT_ID"}}}'
Claude Code から直接呼び出すこともできます: 「シート 9mkzWpAibo4K34 を取得して、セル数を教えてください」
トラブルシューティング
/studio/mcp への GET で HTTP 405 — 期待通りの挙動です。エンドポイントは POST 専用で、MCP のサーバー送信イベント(SSE)半分は実装されていません — 4 つのツールのいずれもサーバープッシュを必要としないためです。POST するクライアントは問題なく動きます。
HTTP 429 または JSON-RPC code: -32000 "rate limit exceeded" — IP に対する 1 時間 30 回の公開制限を超過しています。1 時間待つか、まとめて公開してください。読み取り系の呼び出し(get_schema、tools/list、get_sheet)も同じバケットを共有します。
JSON-RPC code: -32602 "doc.format must be \"reogrid-json\"" — AI クライアントが間違った封筒で公開を試みています。ドキュメントが format: "reogrid-json"、version: 1、そして空でない workbook.sheets[] に厳密に 1 つだけシートを含む構造になっているか確認してください(Phase 1 は単一シートのみ)。
code: -32602 "Unknown feature: …" — get_feature_spec をインデックスに含まれない機能名で呼び出しています。先に get_schema を呼び、返ってきたリストから feature.name を選んでください(conditionalFormats、cellTypes、filter、outlines、protection、alternateRows、view、frozen、numberFormats、richText)。
公開したシートがブラウザで空白に見える — publish_sheet のレスポンスを確認してください。URL は返ってきているのにシートが空に見える場合、get_sheet でドキュメントを取得し直して doc.workbook.sheets[0].cells を確認してください。セルが欠落している場合、AI がセル座標フィールド名を間違えて構築しています(row / col ではなく、0 オリジンの r / c を使う必要があります)。
今後の予定
ReoGrid Studio Phase 1 は単一シート、匿名アクセス、レート制限付き、無料です。Phase 2 のロードマップ候補は次のとおりです。
- 複数シートのワークブック
- API キーベースのクォータと商用プラン
- 公開済みシートのプログラム的な更新・削除
- 大規模データセットやサーバー側集計向けの Server-Sent Events 対応
特定の機能を必要としている Phase 2 のユースケースがあれば、Issue を立てるかご連絡ください — 具体的な需要が優先順位を決めます。
まとめ
# Claude Code — コマンド 1 つで追加してそのままプロンプト
claude mcp add --transport http --scope user reogrid-studio https://api-studio.reogrid.net/studio/mcp
// Claude Desktop / Cursor — MCP 設定に追加
{
"mcpServers": {
"reogrid-studio": { "type": "http", "url": "https://api-studio.reogrid.net/studio/mcp" }
}
}
// Anthropic API — ベータの MCP コネクタを使う
client.beta.messages.create({
model: "claude-opus-4-7",
mcp_servers: [{ type: "url", url: "https://api-studio.reogrid.net/studio/mcp", name: "studio" }],
tools: [{ type: "mcp_toolset", mcp_server_name: "studio" }],
betas: ["mcp-client-2025-11-20"],
// ...
})
あとは AI が仕事をしてくれます。プロンプトを送って、URL を受け取って、URL を共有するだけです。
