非エンジニアの経理担当が、Claude Desktopからマネフォ会計Plusを動かすまでの2日間と完全詳細ステップ&エラーポイント

🚀 同じことをやろうとしている方へ(最初に読んでください)

この記事は、私が実際にたどった道のりを時系列でまとめたものです。ハマりどころとその乗り越え方、最終的に動いた設定、全部書いてあります。

もしこの記事と同じことを再現したいなら、最高の近道があります。

この記事自体をそのままClaude(またはClaude Desktop)に読み込ませたうえで、「この記事に沿って、自分の環境でセットアップを手伝って」とお願いする。

これで、あなたは私が費やした試行錯誤を全部スキップできます。Claudeはこの記事を読み込んだ状態で、あなたの画面エラーを見ながら、ちょうど私にしてくれたように伴走してくれます。しかも、私が踏んだ全地雷の位置をClaudeは事前に知っている状態で始められる。

つまり、私が暗闇の森を歩いて作った地図を、あなたは最初から持ってスタートできるということです。

はじめに

中堅企業で経理をしています。プログラミングは触ったことがない、PowerShellって何?ターミナル?コマンドライン? 全部なんとなく怖いレベルの非エンジニアです。

日々の仕事は、月次決算、部門別PL分析、仕訳レビュー、請求書処理、振込データ作成…。会計Plusをブラウザで開いて、画面をポチポチして、Excelに落として、また別の画面を開いて、また落として。この繰り返しに、ずっと違和感がありました。

Claudeに話しかけるだけで、会計データを呼び出したり、仕訳の下書きができたりしたらいいのに

そう思った私は、Claude Desktopを会計Plusに直接繋ぐという、自分にはまったく不相応な挑戦を始めました。

この記事は、途中で何回も頭がホーリー・モーリーとなって、壁にぶつかりまくり、相棒のClaudeと共に歩んだ旅の記録です。

後半では、同じことを再現したい方のための完全手順をまとめました。同じ壁にぶつかる経理担当者が、もう同じ苦労をしなくて済むように。

🎯 完成後にできるようになること

こんな会話がClaude Desktopでできるようになります。

例1:請求書処理と支払準備の一括自動化

私: 「添付した請求書について、過去の仕訳履歴に倣って
     仕訳を下書きして。あと支払準備もして」

Claude: 仕訳を下書きしました。
        伝票番号: J-2026-0412(会計Plusで確認:直リンク)

        借方:旅費交通費 120,000 / 貸方:未払金 120,000
        部門:営業部 / 取引先:◯◯交通 / 税区分:課税仕入10%

        また、支払準備として全銀協フォーマットのCSVを
        抽出しました。月末の振込データとしてご利用ください:
        全銀協抽出ファイル(zenginkyou_20260430.csv)

例2:月次決算の分析

私: 「今期の販管費のうち、前期比で大きく増えた科目トップ5を教えて」

Claude: [会計Plusから実データを取得して分析]
        前期比で増加が顕著な販管費は以下です。
        1. 旅費交通費 +120万円(+45%)
        2. 広告宣伝費 +80万円(+30%)
        ...

例3:データ抽出・チェック

私: 「全取引先の中で、インボイス登録番号が未登録のものを抽出して」

Claude: [取引先マスタを全件取得してチェック]
        23件の取引先でインボイス登録番号が未登録です:
        ...

これらが全部、自作のプログラム経由で、リアルタイムに、直接、会計Plusに繋がって動きます

Yoom などの外部ツールを経由しない、「ダイレクト連携」と呼ばれる方式です。

まず用語の話(怖くないよ)

ここから先、いくつか聞き慣れない言葉が出てきます。最初に全部、経理の世界のたとえで説明させてください。


これ以外は覚えなくて大丈夫です。たとえが完璧ではないものもありますが、イメージだけ掴めれば十分です。

🎬 第1部:物語編

無謀な挑戦のはじまり

Claudeという相棒がいれば、自分でもできるんじゃないか、PCの前に座りました。目の前の課題はシンプルです。

Claude Desktopから話しかけて、会計Plusを自由に操作したい

公式には、マネーフォワードさんが「リモートMCPサーバー」という便利な仕組みを提供してくれています。でも、それは 会計(無印)版が対象。我々が使っている 会計Plus は、まだ対象外。

つまり、「公式の便利ツールは使えない。自分で作るしかない」という状況でした。

とはいえ、私には自作プログラムを作る知識がゼロ。そこで頼ったのが、Claudeとの対話でした。

:「非エンジニアでも、Claudeに相談しながらなら、MCPサーバーって作れるもの?」

Claude:「できます。ただし、会計Plus APIの仕様が部分的に一般公開されていないので、そこだけは試行錯誤が必要かもしれません」

この時はまだ、「部分的に公開されていない」の意味を甘く見ていました。

**オーケイ、**始めよう。

最初のホーリー・モーリー 〜「APIキー」が見つからない〜

Claudeから最初に提案されたのは、「APIキー認証」というシンプルな方式。アプリポータル(会計Plus の管理画面)から「APIキー」という長い文字列を発行して、それをコードに書くだけ、というもの。

アプリポータルを開きました。「APIキー管理」というメニューはあります。「APIキーを作成」ボタンを押します。利用対象サービスを選ぶドロップダウンが表示されますが...

会計Plusが、選択肢にない。

クラウド経費、クラウド債務支払、クラウド給与、会計(無印)、請求書... 会計Plusだけ、ない。

┌─ 利用対象サービス選択 ──────┐
│  ▢ クラウド経費              │
│  ▢ クラウド債務支払          │
│  ▢ クラウド給与              │
│  ▢ クラウド会計・確定申告    │
│  ▢ クラウド請求書            │
│                              │
│  会計Plusは…無い…!          │
└──────────────────────────────┘

ファッジ。ファッジファッジファッジ。「5分で終わる」と思っていた最初の一歩で、もうつまずいている。

Claudeに報告すると、「なるほど、APIキー方式は会計Plus未対応のようです。OAuth 2.0 方式に切り替えましょう」とのこと。

なにそれ。オーなんとか? 早くも別ルートへ迂回開始です。

2回目のホーリー・モーリー 〜OAuth認証の壁〜

Claudeの説明によると、OAuth 2.0 というのは「このアプリに自分の代わりに会計Plusを操作する許可を与える」ための、ちゃんとした仕組みらしい。Googleアカウントで他のサイトにログインするときの、あの「◯◯に以下の権限を与えます:メールアドレス、名前…」という画面、あれだそうです。

「なるほど、あれね」とイメージはできました。実装するとは言っていない

ここから、Claudeが書いたPythonのプログラムを、私がPowerShellで動かすという共同作業が始まりました。

Claudeが書いて、私がコピペして実行して、エラーが出たらそのエラーをClaudeに貼って相談。これの繰り返しです。

最初のエラー。

invalid_scope

「スコープが無効です」と言われています。ワット? スコープって何?と思いながらClaudeに聞くと、「どの操作まで許可するかの範囲ですね。たとえば『仕訳を読む』『仕訳を書く』みたいな」。なるほど委任状みたいなもんか。オーケイ。

次のエラー。

invalid_client

「クライアント認証が間違っている」。Client ID と Client Secret の送り方が、マネーフォワードさんが期待している方法と違うらしい。

Claudeが「あ、それは僕のコードのバグです」と素直に認めて、コードを修正。

「バグがあるなら最初からそう書いておいてくれよ」と軽口を叩きたいところですが、まあ、君がいなきゃ僕はなにもできないもんな。オーケイ、オーケイ、気を取り直して次

こうしてエラーを1つずつ潰していきますが、正直、画面に英語のエラーが出るたびに心の中では なんでーーーー! と叫んでいます。

「エラーが出るたびに苦しくても、必ず次の手が存在する」という安心感だけが、救いでした。分からなかったら相棒のClaudeがいる。

認証成功!...と思いきや

何度か試行錯誤を経て、ついに画面にこのメッセージが出ました。

✅ トークン取得成功!
💾 token.json に保存しました

ヘル・イェス! 手を上げて、小さくガッツポーズ。認証フローが動いている!プログラムが、ちゃんとマネーフォワードさんと握手した!

さっそく、「実際に会計Plusのデータが取れるか」の疎通確認をしてみます。

❌ /offices の取得失敗: HTTP 404 Not Found

は?

はは!……オーケイ。オーケイオーケイオーケイ。

3回目のホーリー・モーリーきたぜ。

404 Not Found。「そんなページはありません」のエラー。つまり、Claudeが「このURLに送ればデータが取れるはず」と言っていたURLは、実在しなかったわけです。

Claudeに言うと、「ごめんなさい、推測で書いたURLでした。正しいURLを調べましょう」。

そうだった。君だって万能じゃないよな。学習済みの知識にないものは、本人も推測で言っているだけ。そう思うと少し人間味があって憎めないけれど、この推測URLに私は1時間くらい費やしたわけです。

人類の知の結晶みたいな顔して、うっかりだってやってくれる。愛すべき相棒だ。

公式Swagger UIを発見

Claudeと一緒に、Google検索、公式ドキュメント、技術ブログ、GitHub、あらゆる場所を探し回りました。

そして偶然、会計Plus の公式APIドキュメント(Swagger UIというもの)を発見。

https://api-doc-enterprise-accounting.moneyforward.com/v3/index.html

ここに、会計PlusのAPI仕様がちゃんと公開されていました!

  • 正しい接続先のURL

  • 使えるコマンド一覧(仕訳取得、勘定科目取得、試算表取得…)

  • それぞれのデータの形式

「これで勝った!」と思ったのもつかの間。

こういう時が一番フラグなんですよね。

最大のホーリー・モーリー 〜スコープ名の謎〜

新しい正しいURLで、もう一度会計Plusにアクセスしてみます。

❌ 403 insufficient_scopes:
   API利用に必要な権限が足りません

ホーリー・モーリー

今日一番の大きい奴が来ました。

権限不足。つまり、「この作業をするには、ちゃんとした権限を申請してから来てね」という意味。

「じゃあ、どの権限名を申請すればいいの?」と思ってSwagger UIを見返しますが、パッと見た範囲では権限名が見つからない。

ここから、権限名を推測で当てる賽の河原ゲームが始まりました。

マネーフォワードさんの他のサービスの権限名のパターンから類推して、Claudeと一緒に順番に試します:

  1. mfc/accounting-plus/data.read → ❌

  2. mfc/ac_plus/data.read → ❌

  3. mfc/ac-plus/data.read → ❌

  4. mfc/accounting_plus/data.read → ❌

  5. mfc/enterprise_accounting/data.read → ❌

  6. mfc/ac_plus/accounts.read → ❌

  7. mfc/ac_plus/masters.read → ❌

全部、「scopeパラメータが設定されていないか無効です」のエラーで弾かれる

ファッジ。ファッジファッジファッジファッジ

「推測で当てるのはもう無理」と、Claudeも私も判断しました。これは、正式に問い合わせるしかない

マネーフォワードさんに問い合わせる

Claudeに問い合わせメールの文面を作ってもらい、マネーフォワードのサポートセンターに送信しました。

クラウド会計Plus のAPIを呼び出すために必要な、 OAuth スコープ名を教えていただけますでしょうか...

そしてその日はいったん終了。「ここまで進めただけでも十分だ」と自分を褒めてあげました。寝て待つのも立派な戦略です。

神回答が届いた

翌日、マネーフォワードさんから丁寧な返信が届きました。

社内確認を行いましたところ、各エンドポイントの鍵マークを クリックすると、scopeを確認可能とのことでございました。

鍵マーク?

Swagger UIに戻って、よく目を凝らして見ると... ありました。各エンドポイント(機能)の行の右端に、ちっちゃい鍵アイコン(🔒)。

今まで完全にスルーしていました。画面の端っこにあるグレーの小さいアイコンなので、言われなければ気づかないやつです。 鍵アイコンよ、もっと「おれをクリックしろ」と主張してくれ。

クリックすると、ポップアップが開いて、そこに書いてありました。

Scopes:
 mfc/enterprise-accounting/master.read
  ─ マスタの参照権限

ヘル・イェス! 見つけた!

他のエンドポイントも順番に鍵マークをクリックしていくと、必要な権限名が全部判明:

  • mfc/enterprise-accounting/office.read(事業者情報の参照)

  • mfc/enterprise-accounting/master.read(マスタの参照)

  • mfc/enterprise-accounting/journal.read(仕訳の参照)

  • mfc/enterprise-accounting/journal.write(仕訳の登録・更新)

  • mfc/enterprise-accounting/report.read(帳票の参照)

この5つで、会計Plus APIの全機能をカバーできる。これが、ずっと探し求めていた「宝の地図」でした。

マネーフォワードさんには本当に感謝です。非エンジニアの問い合わせに、丁寧に「鍵マークを見てね」と案内してくれた担当者さんに、心の中でお辞儀をしました。

ついに、繋がった

設定ファイルに5つの権限名を書き込み、認証を取り直します。

✅ トークン取得成功!

続いて疎通確認。

json

{
  "departments": [
    { "code": "1001", "name": "営業部" },
    { "code": "1002", "name": "開発部" },
    { "code": "2001", "name": "店舗A" },
    { "code": "2002", "name": "店舗B" }
  ]
}

✅ 部門マスタの取得に成功

うちの会社の実際の部門マスタが、プログラムから見えている。

この瞬間、「ホーリー・モーリー」が「キターーーー!」に変わりました。

最後にClaude Desktopに接続して、

:「うちの部門一覧を取得して」

Claudeが承認ダイアログを出し、「Allow Once」を押すと...

Claude:「部門マスタを取得しました。主な部門は以下です:営業部、開発部、店舗A、店舗B...」

完成。

経理のPCの前で、小さくガッツポーズしました。この瞬間のために、2日間ホーリー・モーリーと言い続けてきたわけです。全て価値があった

🛠️ 第2部:完全再現手順

ここからは、同じことを再現したい方のための完全ステップバイステップ手順です。

物語部分を読んで「これ自分には無理」と思った方、安心してください。実際の作業は、用意された文字列をコピペして画面を操作するだけです。ひとつずつやれば、非エンジニアでも完走できます。

そして冒頭で書いた通り、この記事自体をClaudeに読み込ませたうえで始めれば、私が踏んだ地雷を全部スキップできます

全体像:7ステップ

┌─────────────────────────────────────────┐
│ STEP 1  準備物チェック(10分)          │
│    ↓                                    │
│ STEP 2  アプリポータルで                │
│         OAuthアプリ登録(15分)         │
│    ↓                                    │
│ STEP 3  Pythonインストール(10分)      │
│    ↓                                    │
│ STEP 4  プロジェクトファイル配置        │
│         .env 編集(15分)               │
│    ↓                                    │
│ STEP 5  初回認証(10分)                  │
│    ↓                                    │
│ STEP 6  API疎通確認(5分)              │
│    ↓                                    │
│ STEP 7  Claude Desktop接続(15分)      │
│    ↓                                    │
│           🎉 完成 🎉                    │
└─────────────────────────────────────────┘

全体像の図解:何と何を繋ぐ話なのか

┌──────────────┐          ┌───────────────┐
│              │          │               │
│   あなた     │  話す    │    Claude     │
│  (経理)    │─────────▶│   Desktop     │
│              │          │               │
└──────────────┘          └───────┬───────┘
                                   │
                                   │ 指示を渡す
                                   ▼
                          ┌───────────────┐
                          │               │
                          │   自作MCP     │
                          │   サーバー    │  ← 今回作るもの
                          │               │
                          └───────┬───────┘
                                   │
                                   │ 会計Plusの
                                   │ APIを呼ぶ
                                   ▼
                          ┌───────────────┐
                          │               │
                          │  会計Plus     │
                          │  (本番データ) │
                          │               │
                          └───────────────┘

真ん中の「自作MCPサーバー」が、今日作る部分です。このサーバーが、Claudeの言葉を会計Plusが理解できる形に通訳してくれます。

STEP 1:準備物チェック

下記を揃えてください:

  • Windows 10/11 のPC

  • マネーフォワード クラウド会計Plusの契約

  • アプリポータルで「システム管理」「アプリ開発」権限が付いているユーザー

  • Claude Desktopがインストール済み

  • 一緒に伴走してくれる相棒のClaude(最低でもUSD100/月推奨)

コードは、Claudeに「この記事に沿って、非エンジニア向けにOAuth方式でマネーフォワード会計Plus用のMCPサーバーを作って」とお願いすれば、この記事と同等のものを作ってくれます。

STEP 2:アプリポータルでOAuthアプリ登録

2-1. アプリポータルにアクセス

ブラウザで https://app-portal.moneyforward.com/ を開きます。

会計Plus契約のある事業者を選びます。

2-2. 「アプリ開発[開発者向け]」メニューを選択

左メニューから アプリ開発[開発者向け] をクリック。

⚠️ 「APIキー管理」ではありません。「アプリ開発[開発者向け]」です。私は最初これで迷いました(そしてホーリー・モーリーを召喚しました)。

┌─ 左メニュー ───────────────┐
│  📱 連携中アプリ            │
│  👥 ユーザー                │
│  🏢 事業者                  │
│  🔑 APIキー管理  ← ❌違う!│
│  ⚙️ アプリ開発[開発者向け] │
│                  ↑ ✅こっち│
└────────────────────────────┘

2-3. 新規登録

右上の「新規登録」ボタンをクリック。フォームに入力:

項目入力内容アプリ名称Claude連携(会計Plus) など任意リダイレクトURIhttp://localhost:####/callback(#にホスト番号を入れてコピペ)クライアント認証方式CLIENT_SECRET_BASIC を選択

⚠️ リダイレクトURIは1文字でも違うと動きません。http:// で始まる(https://ではない)、末尾が /callback。

2-4. Client IDとClient Secretをメモ

登録完了後の画面で発行される Client IDClient Secret を、メモ帳などに保存してください。

⚠️ Client Secretはパスワードと同等の扱い。絶対に他人と共有せず、スクリーンショットに映らないように。もし誰かに見られた場合は、同じ画面の「再発行」ボタンですぐに無効化できます(私もやらかして再発行しました。オーケイ、誰でもやる)。

STEP 3:Pythonインストール

3-1. Pythonダウンロード

https://www.python.org/downloads/ から Python 3.12.x をダウンロード。

3-2. インストール時の超重要ポイント

インストーラー画面の下部、Add python.exe to PATH のチェックボックスに必ずチェックを入れてから Install Now をクリック。

┌────────────────────────────────────────┐
│ Python 3.12.x (64-bit) Setup           │
│                                        │
│  [Install Now]                         │
│  [Customize installation]              │
│                                        │
│  ☑ Install launcher for all users      │
│  ☑ Add python.exe to PATH              │
│    ↑↑↑ 絶対にここチェック!↑↑↑      │
└────────────────────────────────────────┘

⚠️ これを忘れると詰みます。忘れた場合はアンインストールしてやり直してください。私は幸い忘れませんでしたが、これを忘れてホーリー・モーリーと叫んでいる人を想像すると胸が痛みます。

3-3. 確認

Windowsキーを押して「powershell」と入力して Enter。

開いた黒い画面(これがPowerShellです)に、下記を入力して Enter:

python --version

→ Python 3.12.x と表示されればOK。

もし python は認識されません みたいなエラーが出たら、チェックボックス忘れの疑いがあるので再インストール。

STEP 4:プロジェクトファイル配置と .env 編集

4-1. フォルダ作成

デスクトップに mf-accounting-plus-mcp-oauth というフォルダを作ります。このフォルダをプロジェクトフォルダと呼びます。

⚠️ OneDrive配下での注意:OneDriveの同期対象フォルダ内で作業すると、OneDriveが勝手に同期を始めて動作が不安定になることがあります。もし問題が出たら、C:\dev\mf-oauth\ のようなシンプルなパスに移すことを検討してください。

4-2. ファイル構成

プロジェクトフォルダの中に、下記のファイルとフォルダを配置します:

mf-accounting-plus-mcp-oauth/
├── .env                      ← 秘密情報(このあと作る)
├── .gitignore
├── requirements.txt
└── src/
    ├── __init__.py
    ├── config.py
    ├── setup.py              ← 初回認証スクリプト
    ├── mf_oauth_client.py    ← 認証と通信の本体
    ├── server.py             ← Claudeから使う機能一覧
    └── test_connection.py    ← 疎通確認用

コードについて:この記事では全ファイルは載せきれないので、Claudeに「この記事に沿って、OAuth 2.0 でマネーフォワード会計Plus と繋ぐMCPサーバーのPythonコード一式を作って」と頼むと、この記事の構成に沿った形で生成してくれます。

4-3. PowerShellでフォルダに移動&仮想環境作成

Windowsキー+「powershell」で新しい窓を開いて、下記を1行ずつコピペして Enter:

powershell

cd "C:\Users\あなたのユーザー名\Desktop\mf-accounting-plus-mcp-oauth"

powershell

python -m venv .venv

powershell

.venv\Scripts\Activate.ps1

3つ目のコマンドの後、行頭に (.venv) が付いたら成功です。

before: PS C:\Users\xxx\Desktop\mf-accounting-plus-mcp-oauth>
after:  (.venv) PS C:\Users\xxx\Desktop\mf-accounting-plus-mcp-oauth>
         ↑↑↑ これが付いたらOK

続けて:

powershell

pip install -r requirements.txt

たくさんの文字がブワッと流れて、最後に Successfully installed ... が表示されればOK。

⚠️ もし Activate.ps1 で「このシステムではスクリプトの実行が無効...」エラーが出たら、下記を実行してから Activate をやり直し:

powershell

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

「続行しますか?」には Y と入力して Enter。これは「自分のユーザーでだけ、スクリプト実行を許可する」という、穏当な設定変更です。オーケイ、大丈夫

4-4. .env ファイル作成(ここが超重要)

プロジェクトフォルダ直下に .env というファイル(ファイル名の先頭にドット)を作成します。

手順:

  1. エクスプローラーで mf-accounting-plus-mcp-oauth フォルダを開く

  2. エクスプローラーの「表示」タブで「ファイル名拡張子」と「隠しファイル」にチェック

  3. 空の場所を右クリック → 新規作成 → テキストドキュメント

  4. ファイル名を .env に変更(「拡張子を変更しますか?」に「はい」)

.env をメモ帳で開いて、下記をコピペ:

MF_CLIENT_ID=(STEP 2-4でメモしたClient ID)
MF_CLIENT_SECRET=(STEP 2-4でメモしたClient Secret)
MF_REDIRECT_URI=http://localhost:####/callback 👈###は個別に番号を入力
MF_OFFICE_ID=(あなたの会社の事業者番号、例:xxxx-xxxx)
MF_SCOPES=mfc/enterprise-accounting/office.read mfc/enterprise-accounting/master.read mfc/enterprise-accounting/journal.read mfc/enterprise-accounting/journal.write mfc/enterprise-accounting/report.read
MF_ACCOUNTING_PLUS_BASE_URL=https://api-enterprise-accounting.moneyforward.com/api/v3
MF_AUTHORIZE_URL=https://api.biz.moneyforward.com/authorize
MF_TOKEN_URL=https://api.biz.moneyforward.com/token
MF_TOKEN_FILE=token.json

🌟 ここがこの記事のハイライトです

MF_SCOPES の行、mfc/enterprise-accounting/... というスコープ名は、Swagger UI内の各エンドポイントの「鍵マーク」アイコンをクリックしないと表示されない仕組みになっています。公式ドキュメントの一覧ページには記載がないので、私は推測ゲームで延々ハマってホーリー・モーリーを連呼しました。

この5つがあれば、会計Plus API の全機能にアクセスできます:

| mfc/enterprise-accounting/office.read:事業者情報の参照(会計期間など) | mfc/enterprise-accounting/master.read:マスタの参照(勘定科目・部門・取引先)
| mfc/enterprise-accounting/journal.read: 仕訳の参照
| mfc/enterprise-accounting/journal.write:仕訳の作成・更新・削除
| mfc/enterprise-accounting/report.read:帳票の参照(BS・PL・試算表)

5つを半角スペース区切りで、1行で記述してください。改行を入れるとダメです。

STEP 5:初回認証

PowerShellで((.venv) が頭に付いている状態で):

powershell

python -m src.setup

このコマンドを実行すると:

① PowerShellに情報が表示される
   ↓
② ブラウザが自動で開く
   ↓
③ マネーフォワードの認可画面が表示
  「このアプリは以下の権限を要求しています:
   ・事業者情報の参照
   ・マスタの参照
   ・仕訳の参照
   ・仕訳の更新
   ・帳票の参照」
   ↓
④ [許可] をクリック
   ↓
⑤ ブラウザに「認証完了!」が表示
   ↓
⑥ PowerShellに戻ると ✅ トークン取得成功!

プロジェクトフォルダに token.json というファイルが生成されていれば成功です。ヘル・イェス

⚠️ 絶対に他人と共有してはいけないファイル

  • .env(Client Secret が入っている)

  • token.json(アクセス権限そのもの)

STEP 6:API疎通確認

PowerShellで続けて:

powershell

python -m src.test_connection

成功すると、勘定科目や部門の一覧がズラッと表示されます。自分の会社の実データが出てきたら、この瞬間が「自作MCPが会計Plusに繋がった歴史的瞬間」です🎉

STEP 7:Claude Desktop接続

7-1. 設定ファイルを開く

Claude Desktop → 設定 → 開発者 → 「構成を編集」

→ claude_desktop_config.json がメモ帳で開きます。

7-2. 中身を置き換え

メモ帳の中身を全削除して、下記を貼り付け:

{
  "mcpServers": {
    "mf-accounting-plus": {
      "command": "C:\\Users\\あなたのユーザー名\\Desktop\\mf-accounting-plus-mcp-oauth\\.venv\\Scripts\\python.exe",
      "args": ["-m", "src.server"],
      "cwd": "C:\\Users\\あなたのユーザー名\\Desktop\\mf-accounting-plus-mcp-oauth",
      "env": {
        "PYTHONPATH": "C:\\Users\\あなたのユーザー名\\Desktop\\mf-accounting-plus-mcp-oauth"
      }
    }
  }
}

⚠️ 重要ポイント

  • パス区切りは \\(バックスラッシュ2つ)。これはこの種のファイル(JSON)の仕様です

  • あなたのユーザー名 を実際のユーザー名に書き換え(3箇所)

  • env の PYTHONPATH 指定は必須。これがないと繋がりません(後述のハマり6参照。私はここで1回叫びました)

7-3. Claude Desktopを完全再起動

  • ×ボタンで閉じる

  • タスクトレイ(画面右下)にアイコンが残っていたら右クリック → 終了

  • もう一度起動

7-4. 接続確認

新しい会話を開いて、入力欄下の🔌アイコンをクリック。

mf-accounting-plus と表示されて緑のチェックマークが付いていれば、接続成功です。

7-5. 最初のテスト

mf-accounting-plusのlist_departmentsを使って、
うちの会社の部門一覧を取得して

Claudeが承認ダイアログを出すので、必ず Allow Once(今回だけ許可) を押してください。

⚠️ とても大事な運用ルール

Always Allow(常に許可)は絶対に押さないでください。

特に書き込み系(仕訳作成・削除、取引先削除など)は、Claudeが意図しない操作をしてしまった場合、会計データに直接影響します。毎回ダイアログで内容を確認してから承認する習慣を徹底しましょう。

仕訳の誤爆で決算が止まる事態は、ホーリー・モーリーでは済みません

🚨 第3部:ハマりどころと対処法(全10パターン)

実際につまずいた場所を全部共有します。同じエラーに出会ったら、ここを見てください。

ちなみに、冒頭で書いた通り、この記事をClaudeに読み込ませてから作業を始めれば、Claudeがここを事前に参照して、地雷を事前に避けるようサポートしてくれます

ハマり1:APIキー発行画面に会計Plusが出てこない

症状:アプリポータルの「APIキー管理」→「作成」で、利用対象サービスに会計Plusが出てこない。

対処:APIキー方式は使えないので、「アプリ開発[開発者向け]」メニューからOAuth 2.0方式で登録しましょう。

ハマり2:invalid_client エラー

症状:認可コードは取れたのに、その次のトークン取得で invalid_client エラー。

原因:Client Secretの送り方が、アプリポータルで選択した「クライアント認証方式」と一致していない。

対処:CLIENT_SECRET_BASIC を選んだ場合、コード側もそれに合わせた送り方にする必要があります。Claudeに「CLIENT_SECRET_BASIC方式で送るように直して」と伝えると対応してくれます。

ハマり3:invalid_scope エラー(最大のハマり)

症状:認可画面で「scopeパラメータが設定されていないか無効です」というエラー。

原因:.env で指定したスコープ名(権限名)が存在しない。

対処推測で当てるのは無理です(私は8回試してゼロ勝でした)。Swagger UI (https://api-doc-enterprise-accounting.moneyforward.com/v3/index.html) の各機能の行の右端にある鍵マーク🔒をクリックして、正確なスコープ名を確認してください。会計Plusは mfc/enterprise-accounting/xxx という命名規則です。

正解は以下の5つ:

  • mfc/enterprise-accounting/office.read

  • mfc/enterprise-accounting/master.read

  • mfc/enterprise-accounting/journal.read

  • mfc/enterprise-accounting/journal.write

  • mfc/enterprise-accounting/report.read

ハマり4:403 has_no_contract

症状:API呼び出しで has_no_contract エラー。

原因:会計Plusの契約がない、または事業者選択が間違っている。

対処:アプリ登録時に選択した事業者が、会計Plus 契約のある事業者か確認してください。

ハマり5:403 insufficient_scopes

症状:API呼び出しで insufficient_scopes エラー。

原因:アクセストークンに、必要な権限が付与されていない。

対処:.env のスコープを正しい5つに修正し、python -m src.setup を再実行してトークンを取り直してください。スコープを変えただけだと、古いトークンが残っているので認識されません。

ハマり6:Claude DesktopでMCPサーバーが繋がらない

症状:「Could not attach to MCP server」エラー。ログには ModuleNotFoundError: No module named 'src' と書かれている。

原因:Claude Desktop が src フォルダの場所を見つけられない。

対処:claude_desktop_config.json に env セクションを追加して、PYTHONPATH で場所を明示的に指定してください(STEP 7-2参照)。これがないと動きません。これを見つけるのに小1時間、静かにぶつぶつ言っていました

ハマり7:claude_desktop_config.json のJSON構文エラー

症状:Claude Desktop起動時に「アプリ設定を読み込めませんでした」「Unexpected token 'j'」。

原因:コピペするときに、コードブロックの囲み文字(```json の「json」の部分)まで含めてしまった。

対処:ファイルの1文字目が {(波かっこ)になっているか確認。先頭に json という文字があったら削除。私もやりました。オーケイ、誰でもやる。

ハマり8:フォルダが2重になっている

症状:ZIPを展開したら mf-accounting-plus-mcp-oauth\mf-accounting-plus-mcp-oauth\src\... みたいに同じ名前のフォルダが2重に入れ子になっている。

対処:エクスプローラーで中身を確認し、実際にファイルが入っている階層に cd で移動してください。cd コマンドのパスを、現実のフォルダ構造に合わせて調整すればOK。

ハマり9:PowerShellが毎回違う場所から始まる

症状:PowerShellを再度開くと C:\WINDOWS\system32 からスタートしていて、「そんなフォルダに src はない」とエラー。

原因:PowerShellは起動するたびに毎回初期位置(system32)にリセットされます。cd や Activate.ps1 はPowerShellを閉じると効果が消えます。

対処PowerShellを開くたびに、最初に以下の2つを毎回実行してください:

powershell

cd "プロジェクトのパス"
.venv\Scripts\Activate.ps1

ハマり10:Client Secretをうっかり画面に映してしまった

対処即座にアプリポータルで「再発行」ボタンを押してください。古いSecretは瞬時に無効化されます。その後、新しいSecretで .env を書き換え。私も1回やりました。再発行ボタンで対応できるので、深呼吸してオーケイと言いながら押す

🎊 第4部:運用編

毎日の使い方

Claude Desktopを起動するだけでMCPサーバーが自動起動します。PowerShellを開く必要はありません。

普通にClaudeに話しかけるだけで、会計Plusを操作できます。

実際にできる便利な使い方の例

「今月の販管費のうち、前月比で大きく増えた科目トップ5を教えて」

「部門別のPL比較を作って、どの部署が利益貢献しているか分析して」

「全取引先の中で、インボイス登録番号が未登録のものを抽出して」

「2026年3月の仕訳で、摘要が空のものを一覧化して」

「添付した請求書について、過去の仕訳履歴に倣って
 仕訳を下書きして。あと支払準備もして」

「先月計上された『旅費交通費』の仕訳の一覧を、部門別にまとめて」

これ、全部、SQLもVBAも書かずに、日本語で話しかけるだけで実行されます。

Claudeを起点に動かすことができるようになった今、ここから実務レベルでどんなタスクへ広げてつなげていけるのかワクワクです!

運用上の大事なルール

🔐 秘密情報の管理

  • .env と token.json は絶対に共有しない・Gitに上げない

  • バックアップを取る場合は暗号化(またはパスワード付きZIP)

  • USBメモリやクラウドに保存する場合も慎重に

⚠️ 書き込み操作の事故防止

  • Claude Desktopの承認ダイアログは必ず Allow Once(今回だけ許可)

  • Always Allow(常に許可)は絶対に押さない

  • 仕訳作成は必ず status: draft(下書き)で作り、画面で目視確認してから承認するフローを徹底

🔄 トークンの有効期限について

アクセストークンは通常1時間で失効しますが、自動で更新されるので気にしなくてOK。ただし、数ヶ月経過すると再認証が必要になる場合があります。その場合は python -m src.setup をもう一度実行するだけです。

おわりに:非エンジニアが学んだこと

この2日間の旅で、私は一つのことを確信しました。

AIとの対話は、非エンジニアに「自分でシステムを組み立てる力」を与えてくれる。

Claudeと一緒にコードを書き、エラーをClaudeに貼って相談し、仕様書をClaudeに読み込ませて次の一手を決める。このサイクルを回せば、非エンジニアでも、OAuth 2.0 のような(本来なら分厚い技術書を読まないと理解できない)仕組みを、使いこなせるようになります。

ただし、Claudeも万能ではありません。学習データに入っていない情報(今回で言えば、会計Plus固有のスコープ名)については、Claudeも推測で答えるしかなく、それが外れることがあります。

そんな時は、「人間が公式サポートに直接問い合わせる」という判断が必要でした。マネーフォワードさんの親切な回答があったおかげで、この壁は乗り越えられました。

「AIで自動化できる部分は自動化し、人間の判断が必要な部分は人間が決める」というワークフロー。これが、これからの経理業務の姿なんじゃないかと思います。

月次決算が、もっと短く、もっと分析的になる。ルーティン作業が減って、本当に考えるべきことに時間を使える。そんな経理の未来を、皆さんもぜひ、自分の手で作ってみてください。

ホーリー・モーリーと叫んでも大丈夫。ファッジと呟いても大丈夫。相棒のClaudeがいます。

そして冒頭でも書いた通り、この記事自体をClaudeに読み込ませたうえで始めれば、あなたは私がぶつかった壁の9割を事前回避できます。私が2日かかったものが、あなたは半日で終わるはずです。

この記事が、同じ壁にぶつかっている誰かの助けになれば嬉しいです。

謝辞

  • マネーフォワード クラウドコンタクトセンターの皆さま:スコープ名の確認方法を丁寧にご案内いただき、本当にありがとうございました。非エンジニアの素朴な問い合わせにも親身に対応してくださる姿勢に感謝しています。

  • Anthropic:Claudeという、本当に頼れる相棒をありがとうございます。僕みたいにうっかりなところもありますが、君がいなければ挑戦しようなんてことすら思いもしなかった。

参考リンク

この記事が役に立ったら、ハート❤️を押していただけると励みになります。

同じように会計Plusと連携している方、質問・フィードバックはコメント欄でお待ちしています。他のマネーフォワード製品(経費、債務支払、請求書)との連携事例も、ぜひ共有してください。

Live long and prosper ──壁にぶちあたっても、オーケイと言い続けよう。

いいなと思ったら応援しよう!