0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

freee MCP を Claude Code で使えるようにする

0
Posted at

freee MCP でできること

freee MCP は、Claude Code から freee の会計・人事労務・請求書などの API を直接操作できる MCP サーバーだ。
たとえば「今月の売上を教えて」「この取引を振替伝票で登録して」といった自然言語の指示で、freee 上の仕訳や口座情報を読み書きできる。

この記事では、freee MCP を Claude Code で使えるようにするまでの手順を書く。

前提

  • Claude Code がインストール済みであること
  • freee のアカウントを持っていること
  • Node.js(v18 以上)がインストール済みであること

1. freee Developer にアプリを登録する

freee API を使うには、OAuth 用のクライアント ID とクライアントシークレットが必要になる。
freee アプリストア の開発者ページにアクセスし、アプリを作成する。

アプリの作成手順

  1. 「アプリ管理」から「新規作成」を選ぶ
  2. アプリ名を入力する(自分がわかる名前でよい)
  3. コールバック URL に http://localhost:54321/callback を設定する
  4. 作成後、表示される Client IDClient Secret を控える

コールバック URL のポート番号 54321 は freee-mcp のデフォルト値。変更する場合は後述の設定ファイルで callbackPort を合わせる。

2. Claude Code に MCP サーバーを追加する

Claude Code のターミナルで次のコマンドを実行する。

claude mcp add freee \
  -e FREEE_CLIENT_ID=<取得したClient ID> \
  -e FREEE_CLIENT_SECRET=<取得したClient Secret> \
  -- npx freee-mcp

<取得したClient ID><取得したClient Secret> は、手順 1 で控えた値に置き換える。

設定が成功すると、~/.claude.jsonmcpServers に次のようなエントリが追加される。

{
  "mcpServers": {
    "freee": {
      "type": "stdio",
      "command": "npx",
      "args": ["freee-mcp"],
      "env": {
        "FREEE_CLIENT_ID": "xxxxxxxxxxxxxxx",
        "FREEE_CLIENT_SECRET": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

3. Claude Code を再起動して認証する

MCP サーバーを追加したら、Claude Code を再起動する(/quit して再度 claude を起動)。

起動後、freee の API を呼ぶツールが使えるようになっている。
まず認証状態を確認するため、Claude Code に次のように聞く。

freee の認証状態を確認して

初回はトークンが存在しないため、「期限切れ」や「未認証」と表示される。
次に、実際に API を呼ぶ指示を出す。

freee の事業所一覧を表示して

すると、ブラウザが自動的に開き、freee の OAuth 認可画面が表示される。
「許可する」を押すと、ローカルのコールバック URL にリダイレクトされ、トークンが自動的に保存される。

トークンは ~/.config/freee-mcp/tokens.json に保存される。
有効期限が切れても、次回の API 呼び出し時に自動でリフレッシュされる。

4. 事業所を設定する

認証が通ったら、操作対象の事業所を設定する。

freee の事業所一覧を表示して

複数の事業所がある場合は、操作対象を指定する。

事業所「○○」を現在の事業所に設定して

5. 使ってみる

ここまでで準備は完了。あとは自然言語で freee を操作できる。

登録されている口座を確認する

登録されている銀行口座名を教えて

Claude Code が freee_api_get ツールで /api/1/walletables を呼び出し、口座名を返してくれる。

取引を検索する

2024年1月の入金を一覧で見せて

銀行明細(wallet_txns)から該当期間の入金を検索し、日付・金額・摘要を表示する。

振替伝票を登録する

管理費や手数料が差し引かれた入金を正しく仕訳したい場合、振替伝票として登録できる。

2024年1月15日の入金198,285円を以下の内訳で振替伝票として登録して
- 賃貸料(総額)210,000円
- 管理費 11,385円
- 振込手数料 330円

Claude Code は勘定科目の ID を調べ、manual_journals API で振替伝票を作成する。

freee MCP で使える主なツール

ツール名 用途
freee_auth_status 認証状態の確認
freee_list_companies 事業所一覧の取得
freee_set_current_company 操作対象の事業所を切り替え
freee_api_get GET リクエスト(データ取得)
freee_api_post POST リクエスト(データ作成)
freee_api_put PUT リクエスト(データ更新)
freee_api_delete DELETE リクエスト(データ削除)

freee_api_get などの汎用ツールは、service パラメータで対象サービス(accountinghrinvoice など)を指定し、freee API のパスをそのまま渡す形になっている。
Claude Code が API ドキュメントの知識をもとに適切なパスやパラメータを組み立ててくれるため、利用者が API の仕様を覚える必要はない。

ハマりどころ

deals API で借方・貸方を混在できない

freee の deals(取引)API は、income タイプの取引で借方と貸方を混在させた仕訳を作れない。
管理費や手数料を差し引いた入金のように、複合仕訳が必要な場合は manual_journals(振替伝票)API を使う。

自動で経理から登録された取引の制約

「自動で経理」で銀行明細と紐付けられた取引は、金額の変更や決済行の削除ができない。
修正するには取引自体を削除してから振替伝票として再登録し、元の銀行明細は「明細を無視」で処理する。

tax_code: 0 は「未選択」

税区分コードに 0 を指定すると、freee 上では「未選択」と表示される。
「対象外」にしたい場合は tax_code: 2 を指定する。

freee の税区分コード一覧を取得して

と聞けば、利用可能な税区分コードの一覧を確認できる。

まとめ

freee MCP を使うと、Claude Code から freee の会計データを直接操作できる。
セットアップは、freee Developer でアプリを作り、claude mcp add で MCP サーバーを登録するだけで完了する。
仕訳の登録や修正のような定型作業を自然言語で指示できるため、freee の画面を何度も開いて手入力する手間が省ける。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?