Skip to content

freee請求書APIでcompany_idが自動的に追加されない #169

Description

@ARUOHTA

問題の概要

freee請求書API(/invoicesなど)にリクエストを送信する際、company_idがクエリパラメータとして自動的に追加されないため、401エラー(company_not_found)が発生します。

再現手順

  1. freee-mcpを設定し、認証を完了する
  2. freee会計APIは正常に動作することを確認(例: /api/1/companies
  3. freee請求書APIにアクセスする:
    freee_api_get { "service": "invoice", "path": "/invoices" }
    

期待される動作

現在設定されているcompany_idが自動的にクエリパラメータとして追加され、請求書一覧が取得できる。

実際の動作

以下のエラーが返される:

{
  "status_code": 401,
  "errors": [
    {
      "codes": ["company_not_found"],
      "type": "status",
      "messages": ["アクセス権限がありません。", "存在しないかすでに削除された事業所です。"]
    }
  ]
}

回避策

明示的にcompany_idをクエリパラメータとして渡すと正常に動作します:

freee_api_get { "service": "invoice", "path": "/invoices", "query": {"company_id": 11730956} }

原因の推測

dist/openapi/minimal/invoice.jsonを確認すると、freee請求書APIの各エンドポイントはcompany_idを必須のクエリパラメータとして要求しています(例: /invoicesのGETリクエスト)。

しかし、APIリクエスト処理(L関数)では、company_idがクエリパラメータやボディに既に含まれている場合のバリデーションは行っていますが、自動的に追加する処理がありません

freee会計APIではリクエストヘッダーやセッションから事業所が認識されるようですが、freee請求書APIではクエリパラメータとして明示的に渡す必要があるようです。

提案

freee請求書API(および他のサービス)へのリクエスト時に、必須のcompany_idパラメータを自動的に追加する処理を実装することを提案します。

環境

  • freee-mcp: npx経由で最新版を使用
  • OS: macOS

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions