{
  "markdown": "# freee-mcp\n\nfreee会計、人事労務、請求書、工数管理、販売、IT管理、固定資産、業務委託管理、サーベイ、申告、サイン（電子契約）を AI Agent から操作できるようにする freee 公式の MCP サーバーと Agent Skills です。\n\n- MCP サーバー: freee API の呼び出し・認証・リクエスト検証を担当\n- Agent Skills: API リファレンスと操作レシピを AI Agent のコンテキストに注入し、正確な API 利用をガイド\n\n[![npm version](https://badge.fury.io/js/freee-mcp.svg)](https://www.npmjs.com/package/freee-mcp)\n\n## 特徴\n\n- 複数 API 対応: 会計・人事労務・請求書・工数管理・販売・IT管理・固定資産・業務委託管理・サーベイ・申告の10個の freee API をサポート\n- 対応操作数: <!-- API-STATS-TOTAL-START -->485<!-- API-STATS-TOTAL-END --> 操作（サイン（電子契約）含む、`scripts/generate-references.ts` が自動更新）\n- 利用条件: サーベイ・申告は、対応する接続環境、OAuth クライアント、契約プラン、利用者権限が必要\n- サイン（電子契約）対応: freee サインの文書管理 API を専用コマンド（`freee-sign-mcp`）でサポート\n- OAuth 2.0 + PKCE: セキュアな認証フロー、トークン自動更新\n- 複数事業所対応: 事業所の動的切り替えが可能\n\n## Agent Skills と MCP の通信の流れ\n\nAgent Skills（API リファレンス・操作レシピ）と MCP サーバー（API 呼び出し）を組み合わせて利用します。\n\n```mermaid\nsequenceDiagram\n    participant User as ユーザー\n    participant Agent as AI Agent\n    participant Skill as Agent Skills<br/>(API リファレンス・操作レシピ)\n    participant MCP as MCP サーバー\n    participant API as freee API\n\n    User->>Agent: リクエスト<br/>「取引一覧を取得して」\n\n    Note over Agent,Skill: 1. Agent Skills からリファレンスを取得\n    Agent->>Skill: freee-api-skill 呼び出し\n    Skill-->>Agent: API リファレンス注入<br/>(エンドポイント、パラメータ仕様)\n\n    Note over Agent,MCP: 2. MCP Tool で API を実行\n    Agent->>MCP: freee_api_get 呼び出し<br/>path: /api/1/deals\n    MCP->>MCP: OpenAPI スキーマで検証\n    MCP->>MCP: 認証トークン付与\n\n    Note over MCP,API: 3. freee API への通信\n    MCP->>API: GET /api/1/deals<br/>Authorization: Bearer xxx\n    API-->>MCP: JSON レスポンス\n\n    MCP-->>Agent: 取引データ\n    Agent-->>User: 結果を整形して表示\n```\n\nこの仕組みにより：\n- Agent Skills: 必要な API リファレンスや操作レシピを段階的にコンテキストに注入（コンテキスト効率化）\n- MCP: 認証・リクエスト検証・API 呼び出しを担当\n\n## クイックスタート\n\n### 方法 1: Remote MCP で接続する（推奨）\n\nfreee が提供する Remote MCP サーバーに接続する方法です。ローカルでのセットアップが不要で、すぐに利用を開始できます。\n\nClaude 及び Claude Desktop では「カスタマイズ」より「カスタムコネクタを追加」を開き、以下を設定してください。\n\n- 名前: `freee`\n- URL: `https://mcp.freee.co.jp/mcp`\n\n> ⚠️ freee 公式以外の URL を入力しないようにご注意ください。\n\n<img src=\"docs/images/claude-desktop-custom-connector.png\" width=\"600\" alt=\"Claude Desktop でカスタムコネクタを追加\">\n\nその他の AI ツールでは、それぞれの案内に従って Remote MCP サーバーを追加してください。\n\n### 方法 2: ローカルで MCP サーバーを起動する\n\nfreee アプリケーションを自分で登録し、ローカルで MCP サーバーを起動する方法です。\n\n#### 2-1. freee アプリケーションの登録\n\n[freee アプリストア](https://app.secure.freee.co.jp/developers) で新しいアプリを作成:\n\n- コールバックURL: `http://127.0.0.1:54321/callback`\n- Client ID と Client Secret を取得\n- 必要な権限にチェック\n\n#### 2-2. セットアップ\n\n```bash\nnpx freee-mcp configure\n```\n\n対話式ウィザードが認証情報の設定、OAuth認証、事業所選択を行います。\n\n#### 2-3. Claude Desktop に追加\n\n`configure` が出力する設定を Claude Desktop の設定ファイルに追加:\n\n```json\n{\n  \"mcpServers\": {\n    \"freee\": {\n      \"command\": \"npx\",\n      \"args\": [\"freee-mcp\"]\n    }\n  }\n}\n```\n\nWindows Store (Microsoft Store) 版の Claude Desktop をご利用の場合、設定ファイルのパスが異なります。`freee-mcp configure` は自動的に適切なパスを検出します。\n## Agent Skills をインストールする\n\nClaude 及び Claude Desktop では「カスタマイズ」より「スキル」を開き、最新の `freee-api-skill.zip` をダウンロードしてアップロードしてください。\n\n- [最新版をダウンロード (freee-api-skill.zip)](https://github.com/freee/freee-mcp/releases/latest/download/freee-api-skill.zip)\n- バージョン履歴から選ぶ: [Releases ページ](https://github.com/freee/freee-mcp/releases)\n\n<img src=\"docs/images/claude-desktop-skill-upload.png\" width=\"600\" alt=\"Claude Desktop でスキルをアップロード\">\n\nClaude Code 等のコーディングエージェント（Cursor, OpenCode など）では、[skills](https://www.npmjs.com/package/skills) でインストールできます。\n\n```bash\nnpx skills add freee/freee-mcp\n```\n\nグローバルインストール(`-g`)や特定スキルのみのインストール(`-s`)も可能です。\n\nGitHub CLI（v2.90.0 以降）の [`gh skill`](https://cli.github.com/manual/gh_skill) コマンドからもインストールできます。\n\n```bash\ngh skill install freee/freee-mcp freee-api-skill\n```\n\n`--agent`（例: `claude-code`, `copilot`, `cursor`, `codex`, `gemini-cli`）や `--scope user`／`--scope project` の指定、`--pin` による特定タグ/コミットへの固定にも対応しています。\n\n[Agent Package Manager (APM)](https://github.com/microsoft/apm) を利用している場合は、以下のコマンドでもインストールできます。GitHub Copilot / Claude Code / Cursor / OpenCode / Codex など、プロジェクトに存在する対象ディレクトリに自動でデプロイされます。\n\n```bash\napm install freee/freee-mcp/skills/freee-api-skill\n```\n\n## Claude Code Plugin として使う\n\nClaude Code でプラグインとしてインストールすると、MCP サーバーと Agent Skills（API リファレンス・操作レシピ）がまとめて利用できます。\n\n以下の2つのコマンドを順に実行してください:\n\n```bash\nclaude plugin marketplace add freee/freee-mcp\nclaude plugin install freee-mcp@freee-mcp-marketplace\n```\n\nClaude Code のプロンプト内からも実行できます:\n\n```\n/plugin marketplace add freee/freee-mcp\n/plugin install freee-mcp@freee-mcp-marketplace\n```\n\n## Codex Plugin として使う\n\nOpenAI Codex のプラグインマーケットプレース（[公式ドキュメント](https://developers.openai.com/codex/plugins)）にも対応しており、MCP サーバーと Agent Skills（API リファレンス・操作レシピ）をまとめて利用できます。\n\nCodex CLI からマーケットプレースを追加します:\n\n```bash\ncodex plugin marketplace add freee/freee-mcp\n```\n\nその後 Codex を起動し、`/plugins` スラッシュコマンドでプラグイン一覧を開き、`freee-mcp` を選択して `Install plugin` を実行してください。\n\nプラグイン定義は `.codex-plugin/plugin.json`、マーケットプレースカタログは `.agents/plugins/marketplace.json` にあります。\n\n## Agent Skills の内容\n\n| API          | 内容                                                     | ファイル数 |\n| ------------ | -------------------------------------------------------- | ---------- |\n| 会計         | 取引、勘定科目、取引先、請求書、経費申請など             | 33         |\n| 人事労務     | 従業員、勤怠、給与明細、年末調整など                     | 28         |\n| 請求書       | 請求書、見積書、納品書、領収書、発注書、支払通知書       | 6          |\n| 工数管理     | プロジェクト、チーム、パートナー、工数、ユーザーなど     | 9          |\n| 販売         | 案件、受注、マスタ                                       | 13         |\n| IT管理       | メンバー、SaaSアカウント、備品                           | 3          |\n| 固定資産     | 固定資産の一覧、詳細、登録、更新、削除                   | 1          |\n| 業務委託管理 | 業務委託先の企業ユーザー、部門、取引先                    | 3          |\n| サーベイ     | サーベイ企画、実施回（freee-mcp リモート版限定）         | 3          |\n| 申告         | 法人税申告データ、帳票（別表・決算書など）               | 58         |\n| サイン       | 文書、フォルダ、テンプレート、マイ印鑑など               | 8          |\n\nAI Agent との会話中に freee API の操作を依頼すると、これらのリファレンスやレシピを参照して正確に実行します。\n\n## データ作成のベストプラクティス\n\n請求書や経費精算など、同じ形式のデータを繰り返し作成する場合は、以前に作成したデータを参照することで効率的に作業できます：\n\n- 請求書作成: 過去の請求書を取得して、取引先・品目・税区分などを参考にする\n- 経費精算: 過去の申請を参照して、勘定科目や部門の指定を正確に行う\n- 取引登録: 類似の取引を参考にして、入力ミスを防ぐ\n\n```\n例: 「先月の○○社への請求書を参考に、今月分を作成して」\n```\n\n## 利用可能なツール\n\n### 管理ツール\n\n| ツール                     | 説明               | 備考             |\n| -------------------------- | ------------------ | ---------------- |\n| `freee_authenticate`       | OAuth 認証を実行   | stdio のみ       |\n| `freee_auth_status`        | 認証状態を確認     |                  |\n| `freee_clear_auth`         | 認証情報をクリア   |                  |\n| `freee_set_current_company`| 事業所を切り替え   |                  |\n| `freee_get_current_company`| 現在の事業所を表示 |                  |\n| `freee_list_companies`     | 事業所一覧を取得   |                  |\n| `freee_current_user`       | 現在のユーザー情報 |                  |\n| `freee_server_info`        | サーバー情報取得   |                  |\n| `freee_file_upload`        | ファイルアップロード | stdio のみ     |\n\n### API ツール\n\nHTTPメソッドごとのシンプルなツール構成:\n\n| ツール                 | 説明               | 例                 |\n| ---------------------- | ------------------ | ------------------ |\n| `freee_api_get`        | データ取得         | `/api/1/deals`     |\n| `freee_api_post`       | 新規作成           | `/api/1/deals`     |\n| `freee_api_put`        | 更新               | `/api/1/deals/123` |\n| `freee_api_delete`     | 削除               | `/api/1/deals/123` |\n| `freee_api_patch`      | 部分更新           | `/api/1/deals/123` |\n| `freee_api_list_paths` | エンドポイント一覧 | -                  |\n\nパスは OpenAPI スキーマに対して自動検証されます。\n\n## freee サイン（電子契約）\n\nfreee サインの API は専用コマンド `freee-sign-mcp` で利用できます。\n\n> Remote MCP での提供は現在準備中です。ローカルでの MCP サーバー起動のみサポートしています。\n\n### セットアップ\n\n```bash\nnpx --package=freee-mcp -- freee-sign-mcp configure\n```\n\n対話式ウィザードが認証情報の設定と OAuth 認証を行います。\n\n### MCP 設定\n\n```json\n{\n  \"mcpServers\": {\n    \"freee-sign-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"--package=freee-mcp\", \"--\", \"freee-sign-mcp\"]\n    }\n  }\n}\n```\n\n### サイン用ツール\n\n| ツール | 説明 |\n| --- | --- |\n| `sign_authenticate` | OAuth 認証を実行 |\n| `sign_auth_status` | 認証状態を確認 |\n| `sign_clear_auth` | 認証情報をクリア |\n| `sign_api_get` | データ取得 |\n| `sign_api_post` | 新規作成 |\n| `sign_api_put` | 更新 |\n| `sign_api_patch` | 部分更新 |\n| `sign_api_delete` | 削除 |\n\n### company_id の取り扱い\n\nリクエスト（パラメータまたはボディ）に `company_id` を含める場合、現在の事業所と一致している必要があります。不一致の場合はエラーになります。\n\n- 事業所の確認: `freee_get_current_company`\n- 事業所の切り替え: `freee_set_current_company`\n- company_id を含まない API（例: `/api/1/companies`）はそのまま実行可能\n\n## コントリビューション\n\n詳しくは [CONTRIBUTING.md](./CONTRIBUTING.md) をご覧ください。\n\n### Contributors\n\n<!-- CONTRIBUTORS-START -->\n<a href=\"https://github.com/him0\"><img src=\"https://github.com/him0.png\" width=\"40\" height=\"40\" alt=\"@him0\"></a>\n<a href=\"https://github.com/dais0n\"><img src=\"https://github.com/dais0n.png\" width=\"40\" height=\"40\" alt=\"@dais0n\"></a>\n<a href=\"https://github.com/HikaruEgashira\"><img src=\"https://github.com/HikaruEgashira.png\" width=\"40\" height=\"40\" alt=\"@HikaruEgashira\"></a>\n<a href=\"https://github.com/nakanoasaservice\"><img src=\"https://github.com/nakanoasaservice.png\" width=\"40\" height=\"40\" alt=\"@nakanoasaservice\"></a>\n<a href=\"https://github.com/tackeyy\"><img src=\"https://github.com/tackeyy.png\" width=\"40\" height=\"40\" alt=\"@tackeyy\"></a>\n<a href=\"https://github.com/worldscandy\"><img src=\"https://github.com/worldscandy.png\" width=\"40\" height=\"40\" alt=\"@worldscandy\"></a>\n<a href=\"https://github.com/akhr77\"><img src=\"https://github.com/akhr77.png\" width=\"40\" height=\"40\" alt=\"@akhr77\"></a>\n<a href=\"https://github.com/trpfrog\"><img src=\"https://github.com/trpfrog.png\" width=\"40\" height=\"40\" alt=\"@trpfrog\"></a>\n<a href=\"https://github.com/hoshinotsuyoshi\"><img src=\"https://github.com/hoshinotsuyoshi.png\" width=\"40\" height=\"40\" alt=\"@hoshinotsuyoshi\"></a>\n<a href=\"https://github.com/JeongJaeSoon\"><img src=\"https://github.com/JeongJaeSoon.png\" width=\"40\" height=\"40\" alt=\"@JeongJaeSoon\"></a>\n<a href=\"https://github.com/norimura114\"><img src=\"https://github.com/norimura114.png\" width=\"40\" height=\"40\" alt=\"@norimura114\"></a>\n<a href=\"https://github.com/akiras-ssrd\"><img src=\"https://github.com/akiras-ssrd.png\" width=\"40\" height=\"40\" alt=\"@akiras-ssrd\"></a>\n<a href=\"https://github.com/inoue2002\"><img src=\"https://github.com/inoue2002.png\" width=\"40\" height=\"40\" alt=\"@inoue2002\"></a>\n<a href=\"https://github.com/jacknocode\"><img src=\"https://github.com/jacknocode.png\" width=\"40\" height=\"40\" alt=\"@jacknocode\"></a>\n<a href=\"https://github.com/tnj\"><img src=\"https://github.com/tnj.png\" width=\"40\" height=\"40\" alt=\"@tnj\"></a>\n<a href=\"https://github.com/jaxx2104\"><img src=\"https://github.com/jaxx2104.png\" width=\"40\" height=\"40\" alt=\"@jaxx2104\"></a>\n<a href=\"https://github.com/kbyk004\"><img src=\"https://github.com/kbyk004.png\" width=\"40\" height=\"40\" alt=\"@kbyk004\"></a>\n<a href=\"https://github.com/k4200\"><img src=\"https://github.com/k4200.png\" width=\"40\" height=\"40\" alt=\"@k4200\"></a>\n<a href=\"https://github.com/fukumayuta\"><img src=\"https://github.com/fukumayuta.png\" width=\"40\" height=\"40\" alt=\"@fukumayuta\"></a>\n<a href=\"https://github.com/kenchan\"><img src=\"https://github.com/kenchan.png\" width=\"40\" height=\"40\" alt=\"@kenchan\"></a>\n<a href=\"https://github.com/EijiSugiura\"><img src=\"https://github.com/EijiSugiura.png\" width=\"40\" height=\"40\" alt=\"@EijiSugiura\"></a>\n<a href=\"https://github.com/ryuuuuma\"><img src=\"https://github.com/ryuuuuma.png\" width=\"40\" height=\"40\" alt=\"@ryuuuuma\"></a>\n<a href=\"https://github.com/toyamagu-2021\"><img src=\"https://github.com/toyamagu-2021.png\" width=\"40\" height=\"40\" alt=\"@toyamagu-2021\"></a>\n<a href=\"https://github.com/YasuakiOmokawa\"><img src=\"https://github.com/YasuakiOmokawa.png\" width=\"40\" height=\"40\" alt=\"@YasuakiOmokawa\"></a>\n<a href=\"https://github.com/Ryosuke-Watanabe9\"><img src=\"https://github.com/Ryosuke-Watanabe9.png\" width=\"40\" height=\"40\" alt=\"@Ryosuke-Watanabe9\"></a>\n<a href=\"https://github.com/Kitamura777\"><img src=\"https://github.com/Kitamura777.png\" width=\"40\" height=\"40\" alt=\"@Kitamura777\"></a>\n<a href=\"https://github.com/yuyohi\"><img src=\"https://github.com/yuyohi.png\" width=\"40\" height=\"40\" alt=\"@yuyohi\"></a>\n<a href=\"https://github.com/sakura20260508\"><img src=\"https://github.com/sakura20260508.png\" width=\"40\" height=\"40\" alt=\"@sakura20260508\"></a>\n<a href=\"https://github.com/bxg06523-cell\"><img src=\"https://github.com/bxg06523-cell.png\" width=\"40\" height=\"40\" alt=\"@bxg06523-cell\"></a>\n<a href=\"https://github.com/ryoya1122\"><img src=\"https://github.com/ryoya1122.png\" width=\"40\" height=\"40\" alt=\"@ryoya1122\"></a>\n<a href=\"https://github.com/Kanahiro\"><img src=\"https://github.com/Kanahiro.png\" width=\"40\" height=\"40\" alt=\"@Kanahiro\"></a>\n<a href=\"https://github.com/kagemeka\"><img src=\"https://github.com/kagemeka.png\" width=\"40\" height=\"40\" alt=\"@kagemeka\"></a>\n<a href=\"https://github.com/carrotRakko\"><img src=\"https://github.com/carrotRakko.png\" width=\"40\" height=\"40\" alt=\"@carrotRakko\"></a>\n<a href=\"https://github.com/kouiso\"><img src=\"https://github.com/kouiso.png\" width=\"40\" height=\"40\" alt=\"@kouiso\"></a>\n<a href=\"https://github.com/jimokada\"><img src=\"https://github.com/jimokada.png\" width=\"40\" height=\"40\" alt=\"@jimokada\"></a>\n<a href=\"https://github.com/yuta-takase-ui\"><img src=\"https://github.com/yuta-takase-ui.png\" width=\"40\" height=\"40\" alt=\"@yuta-takase-ui\"></a>\n<a href=\"https://github.com/at-k\"><img src=\"https://github.com/at-k.png\" width=\"40\" height=\"40\" alt=\"@at-k\"></a>\n<a href=\"https://github.com/paveg\"><img src=\"https://github.com/paveg.png\" width=\"40\" height=\"40\" alt=\"@paveg\"></a>\n<a href=\"https://github.com/yoneda1013\"><img src=\"https://github.com/yoneda1013.png\" width=\"40\" height=\"40\" alt=\"@yoneda1013\"></a>\n<a href=\"https://github.com/kojamam\"><img src=\"https://github.com/kojamam.png\" width=\"40\" height=\"40\" alt=\"@kojamam\"></a>\n<a href=\"https://github.com/nabechindesu\"><img src=\"https://github.com/nabechindesu.png\" width=\"40\" height=\"40\" alt=\"@nabechindesu\"></a>\n<a href=\"https://github.com/Hamada-Hiroshi\"><img src=\"https://github.com/Hamada-Hiroshi.png\" width=\"40\" height=\"40\" alt=\"@Hamada-Hiroshi\"></a>\n<a href=\"https://github.com/kitasan04\"><img src=\"https://github.com/kitasan04.png\" width=\"40\" height=\"40\" alt=\"@kitasan04\"></a>\n<a href=\"https://github.com/Junpei-Nakasone\"><img src=\"https://github.com/Junpei-Nakasone.png\" width=\"40\" height=\"40\" alt=\"@Junpei-Nakasone\"></a>\n<a href=\"https://github.com/sakakibara-setu\"><img src=\"https://github.com/sakakibara-setu.png\" width=\"40\" height=\"40\" alt=\"@sakakibara-setu\"></a>\n<a href=\"https://github.com/takutin-f\"><img src=\"https://github.com/takutin-f.png\" width=\"40\" height=\"40\" alt=\"@takutin-f\"></a>\n<a href=\"https://github.com/byplayer\"><img src=\"https://github.com/byplayer.png\" width=\"40\" height=\"40\" alt=\"@byplayer\"></a>\n<a href=\"https://github.com/inomata137\"><img src=\"https://github.com/inomata137.png\" width=\"40\" height=\"40\" alt=\"@inomata137\"></a>\n<a href=\"https://github.com/10965401\"><img src=\"https://github.com/10965401.png\" width=\"40\" height=\"40\" alt=\"@10965401\"></a>\n<a href=\"https://github.com/nfphys\"><img src=\"https://github.com/nfphys.png\" width=\"40\" height=\"40\" alt=\"@nfphys\"></a>\n<a href=\"https://github.com/analyn-cajocson\"><img src=\"https://github.com/analyn-cajocson.png\" width=\"40\" height=\"40\" alt=\"@analyn-cajocson\"></a>\n<a href=\"https://github.com/RaphaelP07\"><img src=\"https://github.com/RaphaelP07.png\" width=\"40\" height=\"40\" alt=\"@RaphaelP07\"></a>\n<!-- CONTRIBUTORS-END -->\n\n## 開発者向け\n\n```bash\ngit clone https://github.com/freee/freee-mcp.git\ncd freee-mcp\nbun install\n\nbun run dev           # 開発サーバー（ウォッチモード）\nbun run build         # ビルド\nbun run typecheck    # 型チェック\nbun run lint          # リント\nbun run test:run      # テスト\n\n# API リファレンスの再生成\nbun run generate:references\n```\n\n### 技術スタック\n\nTypeScript / Model Context Protocol SDK / OAuth 2.0 + PKCE / Zod / Bun\n\n### アーキテクチャ詳細\n\nプロジェクトのアーキテクチャ、内部構造、開発ガイドラインについては [CLAUDE.md](./CLAUDE.md) を参照してください。\n\n## License / ライセンス\n\n[Apache-2.0](./LICENSE)\n\n## コミュニティ\n\n質問や情報交換は Discord サーバーで行っています。お気軽にご参加ください。\n\n- [Discord サーバー](https://discord.gg/9ddTPGyxPw)\n\n## 関連リンク\n\n- [紹介記事: Public API を MCP化するとき Agent Skill 併用が良さそう with freee-mcp](https://zenn.dev/him0/articles/766798ca1315e0)\n- [freee API ドキュメント](https://developer.freee.co.jp/docs)\n- [Model Context Protocol](https://modelcontextprotocol.io)\n",
  "bytes": 16027,
  "sha": "3f006c375827fc69cf3c7f5418f829f04a37b36a49f4d0407f6a7fe313949f06",
  "repo_slug": "freee/freee-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_freee_freee_mcp_freee_api_skill_69908de9/readme"
}