freee MCP Server
freee会計APIとClaude MCPを連携するサーバー。
概要
目的: Claudeからfreee会計データを操作(取引作成・口座確認・証憑アップロード・財務諸表取得等)
認証: OAuth 2.0 PKCE(ブラウザ認証)
token管理: 暗号化保存 + 自動リフレッシュ
実装言語: Python 3.13+
機能
MCPツール
ツール名 | 説明 | freee API |
| 事業所一覧取得 | GET /api/1/companies |
| 勘定科目一覧 | GET /api/1/account_items |
| 口座一覧 | GET /api/1/walletables |
| 口座明細一覧(元明細テキスト含む) | GET /api/1/wallet_txns |
| 取引一覧 | GET /api/1/deals |
| 請求書一覧 | GET /api/1/invoices |
| 取引先一覧 | GET /api/1/partners |
| 取引作成 | POST /api/1/deals |
| 証憑アップロード | POST /api/1/receipts |
| 貸借対照表(BS) | GET /api/1/reports/trial_bs |
| 損益計算書(PL) | GET /api/1/reports/trial_pl |
OAuth 2.0 PKCE認証フロー
セットアップ
1. freee Developersでアプリ登録
https://developer.freee.co.jp/
アプリケーション名: 任意(例:
freee-mcp-server)リダイレクトURI:
http://localhost:8080/callback必要なスコープ:
read:companies- 事業所情報read:accounts- 勘定科目read:walletables- 口座情報read:wallet_txns- 口座明細read:deals- 取引参照write:deals- 取引作成read:invoices- 請求書参照read:partners- 取引先参照write:receipts- 証憑アップロードread:reports- 財務諸表
CLIENT_ID と CLIENT_SECRET を取得してください。
2. 環境変数設定
暗号化キーの生成:
3. 依存関係のインストール
4. 初回認証
ブラウザが開き、freeeログイン → tokenが ~/.freee-mcp/tokens.enc に保存されます。
5. MCPサーバー起動
6. Claude側設定
Claude Desktop の claude_desktop_config.json または Claude Code の .mcp.json:
Claude Code Skills
Claude Codeで使える便利なSkillを同梱しています。
subscription-analyzer
口座明細からサブスクリプションを自動検出・分析します。
機能:
80+サービスの自動検出(AI/ML, 開発ツール, クラウド等)
カテゴリ別コスト集計
重複課金・解約候補の提案
検出対象例:
カテゴリ | サービス |
AI/ML | ANTHROPIC, OPENAI, MIDJOURNEY, CURSOR |
クラウド | AWS, GCP, AZURE, VERCEL, FLY.IO |
開発ツール | GITHUB, NEON, SUPABASE, UPSTASH |
生産性 | NOTION, SLACK, ASANA, FIGMA |
詳細: .claude/skills/subscription-analyzer/SKILL.md
ディレクトリ構成
使用例
口座明細の取得(サブスク分析に便利)
→ list_wallet_txns で明細テキスト(例: "ANTHROPIC_カード13")を含む明細を取得
財務諸表の確認
→ get_trial_balance_pl で損益計算書を取得
取引の作成
→ create_deal で取引を自動作成
技術仕様
token暗号化
暗号化方式: Fernet(symmetric encryption)
保存場所:
~/.freee-mcp/tokens.encキー管理: 環境変数
TOKEN_ENCRYPTION_KEY(32 bytes)
エラーハンドリング
401 Unauthorized: 自動リフレッシュ → 再実行
429 Too Many Requests: 指数バックオフ(2^n秒)
500 Server Error: 3回リトライ
ライセンス
MIT License - 詳細は LICENSE を参照
貢献
Issue・Pull Request歓迎です。