使用说明
freee-mcp-solo
個人事業主・フリーランスの日常経理に特化した freee会計 用 MCP (Model Context Protocol) サーバー。
Claude Code や Claude Desktop から、仕訳登録・請求書作成・月次確認をシンプルなツール呼び出しで実行できます。
特徴
- ユースケース駆動 — freee API の 1:1 ラッパーではなく、「仕訳」「請求書作成」「月次確認」という実際の業務に最適化
- 名前ベースの操作 — 勘定科目・取引先・口座を名前で指定。ID への変換はサーバーが自動処理
- 設定ファイルで柔軟に — 振込先、入金期日ルール、件名テンプレートを YAML で管理
- 全角/半角を自動正規化 — 「PayPay銀行」で「PayPay銀行(API)」にマッチ
ツール一覧
| ツール | 用途 |
|---|---|
authenticate |
OAuth認証・状態確認 |
pending_transactions |
未処理の口座明細を一覧表示 |
create_deal |
取引(仕訳)を登録 |
monthly_summary |
月次の収支を勘定科目別に集計 |
list_deals |
登録済みの取引を科目・期間で絞込表示 |
create_invoice |
請求書を作成(下書き) |
list_invoices |
請求書の一覧を表示 |
注意:
pending_transactionsが返す「未処理明細」は 未仕訳の明細ではありません。freee は取引を登録しても口座明細の消し込み(マッチング)を自動では行わないため、仕訳済みの明細も一覧に残り続けます。一覧をそのままcreate_dealでループ処理すると二重計上になります。仕訳前にlist_dealsで既存取引を確認し、突合してから登録してください。
前提条件
- Node.js 20 以上
- freee 会計アカウント(個人事業主プラン以上)
- freee 開発者アプリの Client ID / Client Secret(開発者ページで取得)
セットアップ
1. インストール
npm install -g freee-mcp-solo
または、ソースからビルド:
git clone https://github.com/kogasura/freee-mcp-solo.git
cd freee-mcp-solo
npm install
npm run build
2. 設定ファイルの作成
mkdir -p ~/.config/freee-mcp-solo
cp config.example.yaml ~/.config/freee-mcp-solo/config.yaml
config.yaml に freee アプリの認証情報と振込先を設定:
# freee API 認証情報
auth:
client_id: "your_client_id" # freee 開発者ページで取得
client_secret: "your_client_secret"
callback_port: 54321
# company_id, company_name は初回認証時に自動設定されます
# 振込先情報(請求書に記載)
payment:
bank_info: "○○銀行 △△支店 普通 1234567 カ)サンプル"
# 請求書のデフォルト設定
invoice:
tax_entry_method: exclusive # exclusive(外税) / inclusive(内税)
default_account_item: "売上高"
layout: default_classic
message: "下記の通りご請求申し上げます。"
# 取引先ごとの設定
partners:
株式会社サンプル:
due_date_rule: "+1month_end" # 翌月末
partner_title: "御中"
subject_template: "開発費_{YY}年{MM}月"
入金期日ルール (due_date_rule)
| ルール | 意味 |
|---|---|
+1month_end |
翌月末日 |
+2months_15 |
翌々月15日 |
+1month_20 |
翌月20日 |
+30days |
30日後 |
件名テンプレート (subject_template)
| 変数 | 展開結果 |
|---|---|
{YYYY} |
4桁の年(例: 2026) |
{YY} |
2桁の年(例: 26) |
{MM} |
2桁の月(例: 03) |
{M} |
月(例: 3) |
3. Claude Code / Claude Desktop に登録
.mcp.json に以下を追加:
{
"mcpServers": {
"freee-solo": {
"type": "stdio",
"command": "freee-mcp-solo"
}
}
}
ソースからビルドした場合:
{
"mcpServers": {
"freee-solo": {
"type": "stdio",
"command": "node",
"args": ["/path/to/freee-mcp-solo/dist/index.js"]
}
}
}
Claude Desktop の場合は claude_desktop_config.json に同様の設定を追加:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
4. 初回認証
Claude Code で authenticate ツールを実行すると、ブラウザで freee のログイン画面が開きます。ログイン・認可すると OAuth トークンが保存され、事業所情報が config.yaml に自動設定されます。
使い方
仕訳作業
ユーザー: 未処理の明細を仕訳して
Claude: pending_transactions() を実行
→ 未処理明細 5件:
#1 03/25 出金 ¥1,100 さくらインターネット
#2 03/25 出金 ¥2,200 ANTHROPIC
...
Claude: list_deals(account_item: "通信費") で既存取引と突合
→ #2 の ¥2,200 は登録済み。残り4件が未計上
Claude: 以下の仕訳でよいですか?
#1 通信費 / さくらインターネット / レンタルサーバー
...
ユーザー: ok
Claude: create_deal() x 4 を実行 → 登録完了
Claude: monthly_summary() で件数・金額が想定どおりか検算
請求書作成
ユーザー: 今月の請求書を30万で作って
Claude: create_invoice(
partner_name: "株式会社サンプル",
issue_date: "2026-03-31",
items: [{ description: "開発費_26年03月", qty: 1, unit_price: 300000 }]
)
→ 請求書を作成しました (ID: 12345)
請求番号: INV-0000000001
金額: ¥300,000(税抜) / ¥330,000(税込)
入金期日: 2026-04-30(自動計算)
月次確認
ユーザー: 今月の収支は?
Claude: monthly_summary()
→ 2026年3月 収支サマリー
収入: ¥990,000
支出: ¥234,567
差引利益: ¥755,433
内訳の確認
monthly_summary は科目別の合計しか返しません。内訳を見るには list_deals を使います。
ユーザー: 3月の支払手数料の中身は?
Claude: list_deals(
start_date: "2026-03-01",
end_date: "2026-03-31",
account_item: "支払手数料"
)
→ 取引一覧: 4件(2026-03-01 〜 2026-03-31/科目: 支払手数料)
#1 (id:xxx) 03-01 支出 ¥145 支払手数料 [PayPay銀行]
#2 (id:xxx) 03-09 支出 ¥145 支払手数料 [PayPay銀行]
...
表示分合計: ¥580
使用する freee API
| API | エンドポイント | 用途 |
|---|---|---|
| 会計 API | https://api.freee.co.jp/api/1/ |
仕訳・口座明細・マスタデータ |
| 請求書 API | https://api.freee.co.jp/iv/ |
請求書の作成・一覧 |
ライセンス
MIT