ClaudeとMoney Forwardをつなぐプロキシを作ってみた

Zoho Catalystは、サーバーを自分で用意・管理することなく、APIやバックエンド処理を構築できるクラウド開発プラットフォームです。
今回は、このCatalystを「MCP連携の中継基盤(MCPプロキシ)」として使い、Claudeと外部MCPサービスを接続する方法を試してみました。
題材にしたのは、Money Forward クラウド会計です。
Money ForwardはMCPに対応しており、Claudeなどの生成AIから、会計データの取得や仕訳、取引先などの操作ができます。
1事業者だけであれば、Money Forwardが提供しているMCPをClaudeへ接続することで利用できます。
今回やりたかったのは、そこから少し踏み込んで複数の事業者を、1つのClaudeから横断して扱いたいというものでした。
そして最終的には、
「現在利用可能な事業者を一覧にして」
「○○さんの2026年1月〜6月の損益推移を取得して」
「その実績をもとに年間利益予想を作って、PDFにして」
といった指示だけで、Claude自身に必要なデータを判断・取得させたいと考えました。
今回は、そのためにZoho Catalystをどのように使ったのかを紹介します。
1. そもそもMCPとは?
MCPは Model Context Protocol の略で、生成AIと外部サービスを接続するための共通規格です。
従来のAPI連携では、
- 仕訳を取得するAPI
- 損益計算書を取得するAPI
- 取引先を取得するAPI
といった処理を、それぞれ個別に作る必要がありました。
MCPでは、外部サービス側が利用できる機能を「ツール」としてAIに公開します。
するとClaudeはユーザーの質問を見て、「今回は事業者一覧を取得すればよい」「この質問なら損益推移表が必要」と判断し、必要なツールを自分で選択します。
図1:通常のAPI連携とMCP連携の違い
MCPの特徴は、単に「AIからAPIを呼べる」ことではありません。
AI自身に、どの機能を使えばよいか判断させられることが大きな違いです。
2. なぜMoney ForwardのMCPをそのままClaudeにつながなかったのか?
Money ForwardのMCPをClaudeから使うだけなら、1事業者では特に難しくありません。
今回問題になったのは、複数事業者を扱いたいという点です。
Money Forwardには、そのための「複数事業者APIキー」という仕組みがあります。
1つのAPIキーに複数の事業者を紐付け、1つの認証情報で複数事業者へアクセスできます。
ところが、この複数事業者APIキーをMCPで利用する場合、「Mf-Api-Key」という専用のHTTPヘッダーを付ける必要があります。
そこでClaudeのカスタムコネクタから直接設定しようとしました。
Claude側にもリクエストヘッダーを設定する機能はあります。
しかし検証時点では、Mf-Api-Key というヘッダー名がClaude側で許可されておらず、The header name “mf-api-key” isn’t approved.というエラーになり、登録できませんでした。
つまり、Money Forward側には複数事業者を扱う仕組みがある。Claude側にもMCP接続機能がある。しかし、その2つをそのまま組み合わせることができない。という状態です。
そこで、ClaudeとMoney Forwardの間に、必要なヘッダーを付ける中継役を置くことにしました。
その中継役として利用したのが、Zoho Catalystです。
3. Zoho Catalystとは?
Zoho Catalystは、Zohoが提供しているクラウド開発プラットフォームです。
簡単に言えば、「小さなWebサービスやAPIをクラウド上で動かせる仕組み」です。
サーバーを自分で用意したり、OSやミドルウェアを管理したりする必要はありません。
必要なプログラムだけを登録して、外部から呼び出せます。
今回Catalystに担当させる処理は、非常にシンプルです。
- ClaudeからMCPリクエストを受け取る
Mf-Api-Keyを追加する- Money Forward MCPへそのまま転送する
- Money Forwardから返ってきた内容をClaudeへ返す
このような中継処理を行う仕組みを、一般的にプロキシと呼びます。
今回作るのは、MCPの通信を中継する「MCPプロキシ」です。
4. 今回の全体構成
今回の構成は次のようになります。
図2:今回の構成

ポイントは、Catalyst側で会計処理を作り込まないことです。
例えば、以下をCatalyst側に個別に作るわけではありません。
- 損益計算書を取得する処理
- 仕訳を取得する処理
- 取引先を取得する処理
Money Forward MCPが持っているツールは、そのままClaudeに見せます。
Catalystはあくまで、認証情報を補って通信を中継するだけです。
5. 実装手順
① Catalystでプロジェクトを作成する
Zoho Catalystへログインし、新しいプロジェクトを作成します。
今回は、MoneyForwardMCPProxyという名前にしました。
初回セットアップでは、Backend Developmentを選択し、Web Services & Dockerの構成で進めました。
② Advanced I/O Functionを作成する
プロジェクトを作成したら、Serverless → Functions → Create Function へ進みます。
Function Typeには、Advanced I/O を選択します。
Function Nameは、mf_mcp_proxy としました。
実行環境は、Node 24 を選択します。
Node 24というのは、JavaScriptをサーバー側で実行するためのNode.jsという環境のバージョンです。
今回のように、HTTP通信を受け取り、そのまま別のサービスへ転送する処理にはNode.jsが向いています。
③ MCPプロキシのコードを登録する
Functionを作成したら、index.js を開きます。
今回のコードでやっていることは単純です。
Claudeから来たMCP通信を受け取り、Money Forwardへ転送する。
その際に、Mf-Api-Key を追加しています。
そしてMoney Forwardから返ってきた内容を、そのままClaudeへ返しています。
④ APIキーをEnvironment Variablesに登録する
Catalystには、Environment Variablesという環境変数機能があります。
FunctionのConfiguration → Environment Variablesから、MF_API_KEY という変数を作成します。
Valueには、Money Forwardで発行した複数事業者APIキーを登録します。
JavaScript側では、process.env.MF_API_KEY とすることで、その値を取得できます。
これならソースコードを見ても、APIキー自体は表示されません。

⑤ CatalystのInvocation URLを確認する
Functionを作成すると、Overview画面にInvocation URLが表示されます。
このURLが、外部から今回のMCPプロキシへアクセスするためのURLです。
最終的には、このURLをClaude側のMCPサーバーURLとして登録します。
⑥ Catalystをカスタムコネクタとして登録する
次にClaude側へ移ります。
Claudeのカスタムコネクタで、新しいコネクタを作成します。
MCP Server URLには、CatalystのInvocation URLを指定します。
Money ForwardのAPIキーはCatalyst側に保存しているため、Claude側には設定しません。
接続が成功すると、Claudeのツール一覧にMoney Forward MCPの機能が表示されます。
⑦ Claudeから実際に使ってみる
まず、次のように質問してみました。
現在利用可能な事業者の一覧を取得してください。
するとClaudeは、自分で「事業者一覧の取得」ツールを選択し、Money Forwardから対象事業者を取得しました。
さらに、○○さんの2026年1月〜6月の損益推移表を取得してください。と指示すると、
- 対象事業者を確認
- 事業者番号を特定
- 損益推移表の取得ツールを実行
という処理をClaude自身が行いました。
こちらから、「このAPIを呼んで」「この事業者番号を指定して」と指示する必要はありません。
6. この方式のポイント
今回の仕組みで重要なのは、Money Forwardのデータを取得する専用プログラムをCatalystで作ったわけではないという点です。
例えば、
「損益計算書を取得するFunction」
「仕訳を取得するFunction」
「取引先を取得するFunction」
を作ったわけではありません。
Money Forward MCPが持っている機能を、そのままClaudeに渡しています。
Catalystが行っているのは、MCP通信の中継と、認証情報の補完だけです。
そのため、ユーザーが質問を変えても、Catalyst側のプログラムを作り直す必要はありません。
Claude自身が、「今回は損益推移表が必要」「次は仕訳を見よう」と判断できます。
7. こんな使い方にも発展できる
今回の仕組みができると、単純な会計データ参照だけではなく、その先の分析もClaudeに任せられます。
例えば、
○○さんの1月〜6月の損益推移表を取得してください。
各項目について1月〜6月の平均値を計算し、その平均値を7月〜12月の予測値として設定してください。
その結果から年間利益予想を計算し、「利益予想計算書」としてPDFを作成してください。
という指示です。
この場合、Money Forwardから会計データを取得するところはMCP。
その後の、
- 集計
- 平均値計算
- 将来予測
- コメント作成
- PDF作成
はClaudeに任せることができます。
さらに、利益率が前年より落ちている事業者を探して!、複数事業者を比較して!、赤字予想になっている事業者を一覧にして!といった使い方にも発展させられます。
8. CatalystをMCPプロキシとして使うメリット
今回試してみて、CatalystをMCPプロキシとして使うメリットは大きく4つあると感じました。
① APIキーをClaude側に持たせずに済む
認証情報はCatalyst側で管理できます。
② 外部MCPのツールを作り直さなくてよい
Money Forward MCPが持っている機能を、そのままClaudeへ渡せます。
③ 独自HTTPヘッダーが必要なMCPにも対応できる
今回の Mf-Api-Key のように、AIクライアント側から直接設定しにくい認証情報をCatalyst側で補えます。
④ Money Forward以外にも応用できる
今回たまたまMoney Forwardを題材にしましたが、Claude → Zoho Catalyst → 外部MCPサービス
という考え方は、他のMCPサービスにも応用できます。
まとめ
Zoho Catalystというと、「Zoho製品のカスタマイズやWebアプリを作るための開発基盤」というイメージを持つ方も多いかもしれません。
今回試してみたのは、少し違う使い方です。
Catalystを、生成AIと外部MCPサービスをつなぐ中継基盤として使うという方法です。
今回の構成は、Claude → Zoho Catalyst → Money Forward MCP → 複数事業者となりました。
Catalyst側に複雑な業務ロジックを持たせる必要はありません。
認証情報を補い、MCP通信をそのまま中継します。
その先でどのツールを使うかはClaudeに判断させます。
今回実際に試してみて、Zoho Catalystは単なるサーバーレス開発基盤だけではなく、AI時代の「接続レイヤー」としても使えるという可能性を感じました。
今後は、この仕組みを使って複数事業者の会計データを一括分析したり、年間利益予測やレポート・PDFを自動生成したりするところまで試してみたいと思います。
ワックアップは、横浜・沖縄を拠点に、中小企業・店舗のデジタル化を支援するDXソリューションカンパニーです。
特に沖縄地域においては、クラウド活用や情報共有基盤の整備、顧客データ活用など、地域企業に寄り添ったDX支援にも積極的に取り組んでいます。
ポイント統合・交換サービス「Point Hub」、会員アプリ「ワックアプリ」、LINE公式アカウント連携サービス「LINE Hub」、など、顧客とのつながりを深める独自のサービスを提供しています。
また、Zoho公式パートナーとして、CRM(顧客管理)やマーケティングオートメーションを中心とした「Zoho導入・運用支援」も行い、企業の業務効率化や情報基盤整備、データ活用をサポートしています。
地域企業に寄り添いながら、“現場に定着するDX”を支援しています。
▶️ 会社概要を見る




