Zoho Catalystを使ったMCP連携の実装方法

2026/10/10 1:17

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に担当させる処理は、非常にシンプルです。

  1. ClaudeからMCPリクエストを受け取る
  2. Mf-Api-Key を追加する
  3. Money Forward MCPへそのまま転送する
  4. 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月の損益推移表を取得してください。と指示すると、

  1. 対象事業者を確認
  2. 事業者番号を特定
  3. 損益推移表の取得ツールを実行

という処理を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”を支援しています。




▶️ 会社概要を見る