Claude Media
ClaudeとSuperBooksを連携する方法 — 帳簿を会話で扱う設定と権限

ClaudeとSuperBooksを連携する方法 — 帳簿を会話で扱う設定と権限

フリーランス向け記帳サービスSuperBooksをClaudeとClaude Codeにつなぐ手順です。2つのツールだけが見える仕組み、書き込みスコープの落とし穴、削除系の二重ゲートまで扱います。

Claude SuperBooks連携でできること

SuperBooks連携は、フリーランスと小さなチーム向けの記帳サービスSuperBooksのMCPサーバーを、Claudeにつなぐ仕組みです。銀行取引、請求書、取引先、領収書の受信箱、書類、時間管理、各種レポートを、画面を開かずに自然文で読み書きできます。

Claudeのコネクタ一覧では、開発元はDevino Solutionsで、Anthropic verifiedの表示が付いています。カテゴリはData & analytics、Financial services、Productivityです。追加時期は2026年9月で、サインインが必須です。接続先のURLは次のとおりです。

https://app.superbooks.io/mcp

コネクタの説明によると、Claudeに任せられる作業は次のとおりです。

  • 取引の一覧表示と確認、カテゴリやステータスの修正
  • 未払い・期限超過の請求書の洗い出し
  • 請求書の下書き作成(送信はあなたが指示するまで行われない)
  • 取引先の検索と追加
  • 領収書や書類の検索、領収書と取引の突き合わせ
  • 時間の記録
  • 損益、バーンレート、ランウェイ、支出、売上、残高、上位顧客、定期支出のレポート

一方で、お金そのものは動かせません。銀行接続、支払い、課金はアプリ内だけにあります。請求書を送信するとメールが顧客に届く点だけ、外部への影響として覚えておいてください。料金プランについては「すべてのSuperBooksプランで使える」と書かれています。

同じフリーランス向けでも、案件管理や稼働時間まで含む業務ツールを扱うならClaudeとBonsaiの連携が近い題材です。会計ソフトをClaude Codeから触る流れはfreee会計とのMCP連携にまとめています。

ClaudeアプリからOAuthでつなぐ手順

claude.aiとClaude Desktopからは、APIキーを扱わずにOAuthでサインインできます。接続は二通りあります。

手順

Claudeに追加する流れ

  1. 1

    ディレクトリから追加する

    SuperBooksのコネクタ掲載ページで「Add to Claude」を開き、Connectを選んでサインインします。接続はClaude Desktopとモバイルにも同期されます。

  2. 2

    カスタムコネクタで手入力する

    SettingsのConnectorsで「Add custom connector」を選び、先ほどのURLを入力します。Claudeが自分自身を登録したあと、SuperBooksのサインイン画面に移ります。

  3. 3

    チームとスコープを承認する

    同意画面で、Claudeに使わせるチームを選び、求められたスコープを承認します。

  4. 4

    動作を確かめる

    会話の中で search_tools と execute_typescript が使えるようになります。「今月の損益を出して」のように読み取りから試すと、権限の挙動を安全に確かめられます。

アクセスの取り消しは、同じConnectors画面か、SuperBooksアプリのSettings → Connected appsから行えます。

同意画面では、ClaudeやPerplexityのような有名クライアントに「Verified」の印が付きます。判定の根拠は、クライアントが登録した承認先のアドレスがその会社自身の公開サインインアドレスかどうかで、クライアントが名乗る名前やロゴは関係しません。手元で動かす自作クライアントなど、それ以外は警告付きの「未検証の開発者」として表示されます。エラーではなく、自分で接続を始めたかを確かめてほしいという意味の表示です。

Claude Codeでつなぐ: APIキーとOAuthの使い分け

Claude Codeには、APIキーを使う方法とOAuthでサインインする方法があります。

# APIキー方式(対話サインインなしで使いたいとき)
claude mcp add --transport http superbooks https://app.superbooks.io/mcp \
  --header "Authorization: Bearer sb_your_api_key_here"
 
# OAuth方式(登録後に /mcp でサインイン)
claude mcp add --transport http superbooks https://app.superbooks.io/mcp
 
# 登録の確認
claude mcp list

APIキーはSuperBooksアプリのSettings → Developerで発行します。キーは作成時に一度だけ表示され、ハッシュで保存されるため再表示できません。失くしたら削除して作り直します。キーは sb_ で始まります。

発行時のプリセットは3つです。

プリセット付与される範囲
All付与される範囲apis.all。全リソースの読み書き
Read Only付与される範囲apis.read。全リソースの読み取りのみ
Restricted付与される範囲チェックを入れた個別スコープだけ

Authorization ヘッダーを付けられないクライアント向けには、x-api-key ヘッダーも同じ意味で受け付けられます。キーは環境変数やシークレットストアで管理し、リポジトリに入れないでください。claude mcp add を共有のプロジェクト設定に書くときも、キーの文字列をコミットしない運用が前提です。JSONでまとめて登録したい場合はclaude mcp add-jsonの手順が使えます。

Cursor、Windsurf、VS Code、Codex CLIなど他のクライアントも、同じURLを登録して使えます。

Claudeに見えるのは2つのツールだけ

SuperBooksのMCPサーバーに接続すると、クライアントのツール一覧には search_tools と execute_typescript の2つしか並びません。操作ごとにツールを並べる代わりに、Claudeがまず search_tools で使える操作を探し、次に短いTypeScriptを書いて execute_typescript で実行する構成です。

実際のSuperBooksのツールは、12のドメインにわたる45個と、チーム選択用の list_teams を合わせた46個とされています。

ドメインツール数うち破壊的扱う対象
transactionsツール数5うち破壊的1扱う対象銀行取引、絞り込み、カテゴリ付け
invoicesツール数5うち破壊的1扱う対象請求書の下書き・送信・無効化
customersツール数5うち破壊的1扱う対象取引先
trackerツール数5うち破壊的1扱う対象時間管理のプロジェクトと記録
categoriesツール数4うち破壊的1扱う対象取引カテゴリ
documentsツール数4うち破壊的1扱う対象アップロードした書類
tagsツール数3うち破壊的1扱う対象ラベル
inboxツール数3うち破壊的1扱う対象受け取った領収書・請求書とその突き合わせ
reportsツール数8うち破壊的0扱う対象売上、損益、バーンレート、ランウェイ、支出
bank_accountsツール数1うち破壊的0扱う対象接続済み口座
searchツール数1うち破壊的0扱う対象ドメイン横断検索
teamツール数1うち破壊的0扱う対象チームのプロフィール
list_teamsツール数1うち破壊的0扱う対象接続が対象とするチーム(MCP専用)

この構成には、数字の読み違えやすい点が2つあります。

1つ目は、レート制限の数え方です。上限は1認証情報あたり毎分120リクエストで、数えるのはツール呼び出しではなくMCPリクエストです。execute_typescript で複数の操作を1回のプログラムにまとめれば、1リクエストとして数えられます。窓は固定式で、最初のリクエストから60秒が起点です。制限に達すると429が返り、Retry-After ヘッダーに待ち秒数が入ります。

2つ目は、ツールの総数です。コネクタ掲載ページは「Show all 37 tools」と表示しますが、開発者向けドキュメントは46個と数えています。この差の理由はどちらのページにも書かれていません。掲載ページの一覧に載る名前は invoices_send や reports_runway のようなドメイン名と操作名の組で、ここまでの表はドキュメント側の数え方です。実際に何が使えるかは、接続した状態でClaudeに search_tools の結果を尋ねるのが確実です。権限しだいで表示される範囲が変わるからです。

書き込みスコープは「全書き込み」になる

SuperBooksでいちばん注意が要るのは、スコープの粒度です。

スコープの一覧は transactions.read、invoices.write のようにリソースごとに細かく分かれています。しかしMCPのツールの絞り込みは粗く、全ツールを読み取り・書き込み・破壊的の3段に分けて、認証情報がどの段を開けるかで決めます。

認証情報が持つもの見えるツール
いずれかの .read、または apis.read見えるツール読み取りの段
いずれかの .write、または apis.all見えるツール読み取りと書き込みの段
apis.all かつチームが破壊的AIツールを有効化見えるツール3段すべて

つまり tags.write だけを持つ制限付きキーでも、書き込みの段がまるごと開き、無関係な invoices_send まで見えてしまいます。ドキュメントはこの点を明記して、書き込みスコープは「サーフェス全体への書き込み」として扱うよう求めています。

落とし穴

タグだけ書かせるつもりのキーで請求書が送れる

tags.write のような単一スコープでも、書き込みの段全体が開きます。請求書の送信は顧客へのメールになるため、取り消せません。用途が読み取りだけなら、プリセットはReadOnlyを選びます。

Claudeアプリから接続するOAuthの場合も、同意画面で承認するスコープが基準になります。会話から報告書を作らせるだけなら、読み取りだけを承認するのが安全です。

削除と無効化は二重ゲートの先にある

破壊的とされるツールは8つあります。7つの *_delete と invoices_void です。invoices_void は行を消すのではなく、請求書をcanceledに移して監査証跡を残す「ソフトキャンセル」です。ドキュメントは、破壊的を「チームから何かを取り去る操作」と読むよう説明しています。

呼び出しが通るには、2つのゲートを両方開ける必要があります。

手順

破壊的ツールを使える状態にする条件

  1. 1

    認証情報が apis.all を持つ

    読み取り専用キーや制限付きキーは、列挙したスコープがどれであっても対象外です。この条件を満たさないと、search_tools は該当ツールを提示せず、呼び出しは SCOPE_MISSING で拒否されます。

  2. 2

    チームが破壊的AIツールをオンにする

    アプリのSettings → AIで切り替えます。初期状態はオフです。オフのあいだは、該当ツールが宣言されず、呼び出しも SCOPE_MISSING で拒否されます。

漏れたキーだけでは、オプトインしていないチームの破壊的ツールには届かない作りです。複数のチームを扱う接続では、少なくとも1つの対象チームでオンなら search_tools が宣言し、オフのチームを指定した呼び出しは DESTRUCTIVE_TOOLS_OFF で拒否されます。

記帳の整理をClaudeに任せる範囲では、この設定をオフのまま使えば足ります。オンにするのは、取引先や書類の一括削除を任せたいと決めたチームだけに絞るほうが、事故の範囲を狭くできます。

複数チームの接続とteamId

SuperBooksのアカウントは複数のチームに属せて、1つの接続で複数チームを対象にできます。同意画面では次の2択です。

  • All my teams: 接続時点と、あとから参加するチームを含めたすべて
  • Specific teams: チェックしたチームだけ(1つ以上)

「別のチームで読んだ内容を、複数チームで作業するアシスタントが持ち込むことがある」という理由で、ドキュメントは範囲を絞る選択を勧めています。1つの接続は最大100チームまでで、101以上の所属でAll my teamsを選ぶと拒否されます。所属の確認はリクエストのたびに行われ、チームを抜ければ接続はすぐ届かなくなります。

複数チームを対象にした接続では、データを読み書きする各ツールが省略可能な teamId 引数を取ります。

状況返るエラー
teamId を付けずに呼んだ返るエラーTEAM_REQUIRED。メッセージに候補のチーム名とIDが並ぶ
接続が対象としないIDを指定した返るエラーTEAM_NOT_AVAILABLE。IDが実在するかどうかで文面は変わらない
破壊的ツールを、設定がオフのチームに返るエラーDESTRUCTIVE_TOOLS_OFF

list_teams は読み取り権限だけで使えます。APIキーは1チームに属するので、他チームの teamId を指定すると拒否されます。

動かないときの切り分け

症状見る場所
ツールが出ない、接続に失敗する見る場所認証情報。401は WWW-Authenticate ヘッダーでOAuthメタデータを指す。キーなら sb_ で始まるか、Settings → Developerに残っているか
search_tools が返す操作が少ない見る場所異常ではなくスコープの効果。読み取り専用キーは読み取りの段だけ
クライアントの一覧が2つのままで変わらない見る場所仕様。スコープにかかわらず search_tools と execute_typescript だけが並ぶ。認証情報が無いときは短い一覧ではなく401になる
TEAM_REQUIRED見る場所list_teams で選び、teamId を付けて再実行
チームを抜けたあとに拒否される見る場所接続し直して、所属するチームを選ぶ
使い込むと失敗が増える見る場所毎分120リクエストの上限。Retry-After の秒数を待つ

Claude Codeで帳簿を触らせるときの決めごと

Claude Codeの権限ルールは、mcp__<サーバー名>__<ツール名> の単位で許可と拒否を書きます。SuperBooksでは操作の実体が execute_typescript の中に入るため、この粒度では「請求書の下書きは許可、送信は拒否」のような操作単位の線引きができません。分けられるのは、その認証情報が持つスコープの段です。

そのため、線引きはスコープとプロジェクトの記述の両方で行います。

  1. 日常の集計用に、ReadOnlyのキーで登録したサーバーを用意する
  2. 書き込みが要る作業は、別のキーを別名で登録する(例: superbooks-rw)
  3. 請求書の送信は人が確認してから、という手順をプロジェクトの CLAUDE.md に残す
## SuperBooks(帳簿)の扱い
- 通常は superbooks(読み取り専用)だけを使う
- 請求書は下書きまでをClaudeが作り、送信は本人がアプリで確認してから行う
- 取引カテゴリの一括変更は、変更前の一覧を先に出してから実行する
- 削除・無効化は依頼されても実行せず、アプリで操作するよう案内する

これはあくまで運用の例で、ファイルの文面がサーバー側の制限の代わりになるわけではありません。取り消せない操作ほど、スコープと破壊的ツールの設定で止めるほうが確実です。決済の調査を読み取り専用に絞った例はCheckout.comの連携にもあります。

読み取りで任せやすい作業

読み取りの用途として相性がよいのは、数字を集めて文章にする作業です。レポートのツールは損益、売上、支出、定期支出を返せるので、「先月の支出で定期的に出ているものを一覧にして、減らせそうな順に並べて」のような依頼を、帳簿を開かずに出せます。

請求書の側では、未払いと期限超過の洗い出しが読み取りだけで済みます。回収の催促メールの文面をClaudeに作らせるところまでは、送信の権限を持たないReadOnlyの接続で足ります。フリーランスの発注書面とのやり取りを点検する流れは、フリーランス法の3条通知の突き合わせと組み合わせられます。

領収書の受信箱は、突き合わせの候補を挙げさせるまでを読み取りで、実際の紐づけを書き込みで、と段を分けて使うと、確認の回数を減らせます。

まとめ

SuperBooks連携の肝は、見える道具が2つだけという構造と、スコープが段で効く点にあります。読み取りだけの接続から始め、請求書の送信や削除は、必要になったチームだけが別の認証情報とチーム設定で開ける、という順序なら、帳簿を触らせる不安をかなり絞れます。

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