mcpField
@
@frihet/mcp Server

@frihet/mcp Server

リモート
github.com/Frihet-io金融データ12今日更新
リポジトリ

@frihet/mcp Server について

@frihet/mcp Serverは、MCP対応クライアントをFrihetに接続し、請求書、経費、顧客、見積もりなどの業務記録を管理します。ローカル接続とホスト型接続を選べます。

主な機能

  1. 01請求書と見積もりの作成・照会
  2. 02業務経費の記録と確認
  3. 03顧客とCRM活動の管理
  4. 04製品および業務記録の操作
  5. 05税務および電子請求書への対応

活用シーン

  1. 01顧客とサービス内容から請求書を下書き
  2. 02経費を記録して支出を確認
  3. 03顧客情報の更新とやり取りの記録
  4. 04見積もりの作成と保留中業務の確認

MCP 対応

Frihetの業務管理操作をMCPツールとして公開し、ローカルプロファイルではリソースとプロンプトも提供します。クライアントはAPIキーまたはOAuthで、ローカルnpmパッケージかホスト型エンドポイントに接続できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.frihet.io/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npm@frihet/mcp-server1.17.0

ツール

詳細

frihet-mcp

ビジネス管理向けのAIネイティブなMCPサーバー。
AIネイティブなビジネス管理向けMCPサーバー。

Claude · ChatGPT · Cursor · Windsurf · Cline · Antigravity · Codex · Copilot · Gemini CLIに対応 — MCP互換クライアントならどれでも利用できます。

npm version npm downloads Smithery installs MCP Registry Listed in GitHub MCP Registry license 156 canonical catalogue operations Node 22.23.4+ (22.x), 24.22.1+ (24.x), or 26.12.1+ (26.x) TypeScript

Frihet MCP — ERPと自然な言葉でやり取り


配布

チャネル状態インストール
npm公開中npx @frihet/mcp-server
リモートエンドポイント公開中https://mcp.frihet.io/mcp(インストール不要、OAuth または API キー)
Smithery公開中smithery.ai/servers/frihet/frihet-mcp
MCP Registry公開中registry.modelcontextprotocol.io
GitHub MCP Registry公開中github.com/mcp/io.frihet/erp
Glama公開中glama.ai/mcp/servers/Frihet-io/frihet-mcp
mcp.so自動インデックス(未検証)mcp.so — npm と GitHub からインデックスを作成
PulseMCP自動インデックス(未検証)pulsemcp.com — npm と GitHub からインデックスを作成
Cursor Marketplace近日公開cursor.com/marketplace
ChatGPT Apps近日公開chatgpt.com
Anthropic Claude Directory近日公開claude.ai/settings/connectors

実際の提供内容: カタログには156個の正規オペレーションが含まれています。ローカルのフルプロファイルでは161個のツール名、11個のリソース、10個のプロンプトが提供されます(156個の正規オペレーションと5個の財務エイリアス)。ホスト型のグループ化プロファイルでは164個のツール名、7個のリソース、10個のプロンプトが提供されます(同じツール名に検出用ツール3個を追加し、API 連携リソースはローカル専用のままです)。個別にレビューされた OpenAI プロファイルでは33個のツール名、0個のリソース、0個のプロンプトが提供されます。カタログに含まれているからといって、すべてのワークスペースで対応する API が有効になっているとは限りません。


これは何ですか

AI アシスタントをFrihetに接続する MCP サーバーです。話しかけるだけで請求書を作成できます。自然言語で経費を検索できます。IDE からビジネス全体を管理できます。

You:     "Create an invoice for TechStart SL, 40 hours of consulting at 75 EUR/hour, due March 1st"
Claude:  Done. Invoice INV-2026-089 created. Total: 3,000.00 EUR + 21% IVA = 3,630.00 EUR.

156個の正規オペレーション。5個の財務エイリアス。10個のプロンプト。ローカルパッケージでは11個のリソースを提供し、ホスト型 Worker では静的リソース7個のみを意図的に提供します。API 連携されたワークスペースリソースはローカルプロファイル専用です。


すぐに試す(サインアップ不要)

設定不要で、すぐに試せます。アカウントも API キーも必要ありません。

FRIHET_DEMO=1 npx -y @frihet/mcp-server

デモモードでは、サーバーは現実的なサンプルデータ(IVA/IGIC 対応のスペインの請求書、経費、クライアント、商品、銀行口座など)を使用して応答します。各レコードの ID にはdemo_が付き、起動時にサーバーはDEMO MODEのバナーを表示します。データは一切保存されず、ネットワーク呼び出しも行われません。書き込みはシミュレーションされ、電子請求書、VeriFactu、TicketBAI、FACe、給与計算などの税務処理は、シミュレーションであることが明記された結果を返します。税務当局への実際の送信は行われません。

実際のデータを使う準備ができたら、フラグを外してキーを追加してください(app.frihet.io → Settings → API keys)。下記のインストールをご覧ください。


AI エージェント向け

このリポジトリをページではなくエージェントとして読んでいる場合、必要な情報はすべて実行中のサーバーから生成され、機械可読形式で提供されています。この README を解析する必要はありません。

内容場所
オンボーディング契約:クライアントごとのクイックスタート、認証、安全なワークフロー、人間の権限が必要なツール一覧、エラーからの復旧docs/agent-onboarding.json — npm パッケージにも同梱
ツールごとの機能情報:callability、writesFrihet、externalInteraction、externalSideEffectstools/list のすべてのエントリーにある _meta["io.frihet/capability"]
接続後の動作方法initialize が返す instructions 文字列 — クライアントから自動的に渡されます

この契約に含まれるルールを、3つにまとめると次のとおりです。

  1. 行動する前に状況を把握します。 get_business_context と frihet://tax/rates リソースを使って、適切な税務処理を判断します。スペインの税率を記憶に頼ってはいけません。
  2. 下書きを作成し、提示して、そこで止めます。 create_invoice、create_quote、create_credit_note は、すべてデフォルトで status=draft です。税務番号もハッシュもなく、税務当局にも何も送信されません。下書きを提示して、判断を人に委ねます。
  3. 人間の権限を自分のものと見なしてはいけません。 externalSideEffects が空でないツールは、クライアントの受信トレイ、Webhook、資金、または AEAT/VeriFactu/TicketBAI/FACe に影響します。さらに、confirm=true も指定するツールがいくつかあります。このフラグは人間の決定を記録するためのものです。自分の計画を実行するために設定してはいけません。

docs/agent-onboarding.json は npm run generate:agent-onboarding によって稼働中のサーバーの情報から再生成され、CI では npm run gate:agent-onboarding によって検証されるため、ツール一覧や件数がサーバーと食い違うことはありません。


インストール

ローカルの npm/stdio インストールには、2026年10月の Node セキュリティ修正に対応した Node 22.23.4+(22.x)、24.22.1+(24.x)、または 26.12.1+(26.x) が必要です。Node 20 はサポート終了です。サーバーを起動する前に、MCP クライアントが使用する Node ランタイムをアップグレードしてください。CI では Node 22.23.4 を使用しています。

このソースの変更によって、公開済みの npm パッケージメタデータやユーザーがインストール済みの Node ランタイムが更新されることはありません。パッケージメタデータの更新には別途 npm リリースが必要ですが、ユーザーは今すぐランタイムをアップグレードできます。リモートの Cloudflare Worker には、独立したランタイムとリリースプロセスがあります。

ワンライナー(Claude Code、Cursor、Copilot、Codex、Windsurf、Gemini CLI など)
npx skills add Frihet-io/frihet-mcp
Claude Code プラグイン(スキルと MCP サーバーをまとめてインストール)

このリポジトリは Claude Code プラグイン(frihet-erp)でもあります。インストールすると、業務管理スキルと MCP サーバーの両方が設定されます。

# Try it locally
claude --plugin-dir /path/to/frihet-mcp

マーケットプレイスでの提供は準備中です。今すぐ接続するには、上記のローカルプラグインコマンド、または下記の Claude Code MCP コマンドを使用してください。

スキルの呼び出し:/frihet-erp:frihet-mcp。同梱の .mcp.json は npx 経由で @frihet/mcp-server を起動します。環境に FRIHET_API_KEY を設定してください(app.frihet.io → Settings → API keys で取得できます)。

Claude プラグインのポータブルプレビューには、既存の公開リモート MCP と連携する、実際の売掛金、書類作成、月次レビューのスキルが同梱されています。Claude Code で plugins/claude/frihet-erp を読み込むか、チャット/Cowork にそのフォルダーの ZIP をアップロードしてください。スキルは動作をガイドしますが、ホストされたカタログをフィルタリングしたり、Directory の承認を得たりするものではありません。上記のルートのローカル MCP 設定では、従来の API キー設定が引き続き使用されます。

Claude Code — ワンコマンド
claude mcp add frihet -s user -e FRIHET_API_KEY=fri_your_key_here -- npx -y @frihet/mcp-server
claude mcp list          # verify: frihet ✓ Connected

設定ファイルは CLI が管理するため、手作業で編集する必要はなく、パスを間違えることもありません。(ユーザースコープでは ~/.claude/mcp.json ではなく ~/.claude.json に書き込みます。)

Codex CLI — ワンコマンド
codex mcp add frihet --env FRIHET_API_KEY=fri_your_key_here -- npx -y @frihet/mcp-server
codex mcp list           # verify

Codex の設定形式は JSON ではなく TOML です。codex mcp add は次の内容を書き込みます。

[mcp_servers.frihet]
command = "npx"
args = ["-y", "@frihet/mcp-server"]

[mcp_servers.frihet.env]
FRIHET_API_KEY = "fri_your_key_here"

JSON の mcpServers ブロックを ~/.codex/config.toml に貼り付けると、TOML の解析エラーが発生し、このサーバーだけでなく Codex の設定全体が使えなくなります。上記のコマンドを使用してください。

Claude Desktop、Cursor、Windsurf、Cline — JSON 設定
{
  "mcpServers": {
    "frihet": {
      "command": "npx",
      "args": ["-y", "@frihet/mcp-server"],
      "env": {
        "FRIHET_API_KEY": "fri_your_key_here"
      }
    }
  }
}
ツール設定ファイル
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json
Cursor.cursor/mcp.json or ~/.cursor/mcp.json
Windsurf~/.windsurf/mcp.json
ClineVS Code settings or .cline/mcp.json

上記の JSON はこの 4 つのクライアントで同一です。異なるのはファイルパスだけです。Claude Code と Codex はこの表には含まれていません。上記に示した CLI コマンドを使って、それぞれ独自の設定を管理します。

リモート(インストール不要)

ホストされたエンドポイント mcp.frihet.io を使用します。ローカルの依存関係は不要で、Cloudflare Workers 上で動作します。

API キーを使用する場合:

{
  "mcpServers": {
    "frihet": {
      "type": "streamable-http",
      "url": "https://mcp.frihet.io/mcp",
      "headers": {
        "Authorization": "Bearer fri_your_key_here"
      }
    }
  }
}

OAuth 2.0 + PKCE を使用する場合(ブラウザーでログイン、API キーは不要):

OAuth に対応しているクライアント(Claude Desktop、Smithery など)は、https://mcp.frihet.io/mcp に直接接続し、ブラウザーで認証できます。サーバーは、PKCE を用いた OAuth 2.1 の認可コードフロー全体を実装しています。

API キーを取得する
  1. app.frihet.io にログインします
  2. Settings > API に移動します
  3. Create API key をクリックします
  4. キー(fri_ で始まります)をコピーします。一度しか表示されません

できること

ERP と対話できます。以下は宣伝文句ではなく、実際のプロンプトです。

請求書
"Show me all unpaid invoices"
"Create an invoice for Acme SL with 10h of consulting at 95/hour"
"Mark invoice abc123 as paid"
"How much has ClientName been invoiced this year?"
経費
"Log a 59.99 EUR expense for Adobe Creative Cloud, category: software, tax-deductible"
"List all expenses from January"
"What did I spend on travel last quarter?"
クライアント
"Add a new client: TechStart SL, NIF B12345678, email [email protected]"
"Show me all my clients"
"Update ClientName's address to Calle Mayor 1, Madrid 28001"
CRM
"Add a contact to Acme SL: Ana Garcia, CTO, [email protected]"
"Log a call with TechStart: discussed Q2 proposal, they're interested in upgrade"
"Add a note to ClientName: prefers invoices in English, payment NET 30"
"Show me all activities for Acme SL"
見積もり
"Create a quote for Design Studio: logo design (2000 EUR) + brand guidelines (3500 EUR)"
"Show me all pending quotes"
Webhook
"Set up a webhook to notify https://my-app.com/hook when invoices are paid"
"List all my active webhooks"

期待できること

この MCP は構造化データインターフェースです。自然言語で実行したいことを伝えると、AI が Frihet の業務記録を作成、検索、または変更します。156 件の標準操作の大半は REST API を介した CRUD 操作で、残りは読み取り専用の概要と、税務・電子請求書関連の操作です。別名と検出名は個別に数えられています。

優れた機能:

"Create an invoice for TechStart SL, 40h consulting at 75 EUR/h"   --> creates the invoice
"Show unpaid invoices over 1,000 EUR"                               --> queries and filters
"Log a 120 EUR expense for the Madrid train, category: travel"      --> records the expense
"Update client Acme's email to [email protected]"                     --> modifies the record

対応していない機能:

  • OCR や PDF のスキャン — 請求書の画像をアップロードして読み取らせることはできません
  • ファイルのアップロードや添付ファイルの処理
  • あらゆる種類の画像処理

紙の請求書や領収書をデジタル化する必要がある場合は、まずデータを抽出します(例:Claude Vision API、専用の OCR サービス、または手動入力)。その後、MCP を使って記録を作成します。

1. Scan/photograph the invoice
2. Use Claude Vision: "Read this invoice image and extract the vendor, items, amounts, and dates"
3. Then: "Create an expense in Frihet for [extracted data]"

カタログの操作(156)

請求書(12)
ツール機能
list_invoicesページネーションを使用して請求書を一覧表示します
get_invoiceID を指定して請求書の全詳細を取得します
create_invoice明細項目を含む新しい請求書を作成します
update_invoice請求書の任意の項目を更新します
delete_invoice下書きの請求書を削除します。送信済みまたは支払い済みの請求書は削除されず、キャンセルされます(confirm=true が必要)
search_invoicesクライアント名、日付、またはステータスで請求書を検索します
send_invoice請求書をメールでクライアントに送信します(PDF 添付)— 第三者に届くため、confirm=true が必要です
mark_invoice_paidオプションで支払日を指定して、請求書を支払い済みにします
get_invoice_pdf上限付きの請求書 PDF バイト列を Base64 形式で取得します
get_invoice_einvoice請求書の上限付き XML または Factur-X PDF バイト列を取得します
create_credit_note既存の請求書に紐付いたクレジットノートを作成します
apply_late_fee支払期限を過ぎた請求書に遅延手数料を適用します
経費(5)
ツール機能
list_expensesページネーションを使用して経費を一覧表示します
get_expense経費の詳細を取得します
create_expense新しい経費を記録します
update_expense経費を変更します
delete_expense経費を削除します
クライアント(5)
ツール機能
list_clientsすべてのクライアントを一覧表示します
get_clientクライアントの詳細を取得します
create_client新しいクライアントを登録します
update_clientクライアント情報を更新します
delete_clientクライアントを削除します
CRM:連絡先(3)
ツール機能
list_client_contactsクライアントのすべての連絡先を一覧表示します
create_client_contactクライアントに担当者を追加します
delete_client_contactクライアントから連絡先を削除します
CRM:アクティビティ(2)
ツール説明
list_client_activitiesCRM アクティビティ(通話、メール、会議、タスク)を一覧表示します
log_client_activityクライアントとの通話、メール、会議、タスクを記録します
CRM:メモ(3)
ツール説明
list_client_notesクライアントのすべてのメモを一覧表示します
create_client_noteクライアントに自由形式のメモを追加します
delete_client_noteクライアントのメモを削除します
製品(5)
ツール説明
list_products製品とサービスを一覧表示します
get_product製品の詳細を取得します
create_product製品またはサービスを追加します
update_product価格または詳細を更新します
delete_product製品を削除します
見積書(6)
ツール説明
list_quotesすべての見積書を一覧表示します
get_quote見積書の詳細を取得します
create_quote新しい見積書の下書きを作成します
update_quote見積書を変更します
delete_quote配信、返信、添付ファイル、または変換の証拠がない、問題のない下書きのみを削除します。保護対象の下書きは拒否し、下書き以外はキャンセルします(confirm=true が必要)
send_quoteクライアントに見積書をメールで送信し、承認を求めます
Webhook(6)
ツール説明
list_webhooks設定済みの Webhook を一覧表示します
get_webhookWebhook の詳細を取得します
create_webhook新しい Webhook エンドポイントを登録します
update_webhookイベントまたは URL を変更します
delete_webhookWebhook を削除します
test_webhook設定済みの Webhook エンドポイントにテスト用ペイロードを送信します
インテリジェンス(4)
ツール説明
get_business_context全体のスナップショット:プロフィール、プラン、最近のアクティビティ、上位クライアント、当月の情報
get_monthly_summary月次損益:収益、経費、利益、納税額、収益別の上位クライアント
get_quarterly_taxes四半期の税務準備:Modelo 303/130 の項目、徴収額と控除可能額、納税額
duplicate_invoice請求書を複製して定期請求に使用します(項目、クライアント、税をコピーし、下書きとして作成)
電子請求書(10)
ツール説明
send_einvoice11 種類の形式(XRechnung、Factur-X、FatturaPA、PEPPOL、Facturae、UBL、CII)で、メール/Chorus Pro/SDI/PEPPOL/ダウンロード経由で請求書を送信します
get_einvoice_status成功または失敗するまで Hatchet ワークフローの実行状態をポーリングします。ackId、XML URL、PDF/A-3 URL を返します
validate_einvoice_xml生の XML を形式スキーマおよび Schematron ルール(KOSIT/Mustang/XSD/Schematron)に照らして検証します
export_datevCP1252 エンコーディングの DATEV EXTF(Buchungsstapel/Debitoren/Kreditoren)として会計データをエクスポートします
einvoice_exportアーカイブまたは統合向けに、機械可読形式(JSON/XML)で電子請求書データをエクスポートします
face_submit請求書を FACe(スペインの企業間取引向け政府電子請求書プラットフォーム)に送信します
face_status送信済み請求書の FACe での送信状態をポーリングします
ticketbai_submitTicketBAI の税務記録をバスク地方の税務当局(Hacienda)に送信します
ticketbai_statusバスク地方の税務当局における TicketBAI の送信状態をポーリングします
ksef_submitNOT_DEPLOYED — 請求書を KSeF(ポーランド)に送信します — スタブ:Frihet-ERP では転送機能がインフラレベルで準備されていますが、稼働中のエンドポイントとしてはまだ公開されていません(本番環境での利用は KSeF 証明書の取得が条件です)。有効化されるまでは「利用不可」と明記したエラーを返します
時間追跡(6)
ツール説明
list_time_entriesユーザー、プロジェクト、期間、請求対象かどうかで絞り込んで時間記録を一覧表示します
get_time_entryID を指定して、単一の時間記録の詳細を取得します
create_time_entryプロジェクトの作業時間を記録します(請求対象フラグ、説明、日付)
update_time_entry既存の時間記録の任意の項目を更新します(PATCH セマンティクス)
delete_time_entry時間記録を論理削除します(confirm=true が必要)
get_time_summary期間の合計時間、請求対象時間、請求対象外時間を集計します。必要に応じて groupBy(ユーザー/プロジェクト/日)を指定できます
定期請求書(8)
ツール機能
list_recurring_invoices定期請求書テンプレートをすべて一覧表示します(有効/一時停止で絞り込み可能)
get_recurring_invoiceIDを指定して、定期請求書テンプレートの詳細を取得します
create_recurring_invoice定期請求書テンプレートを新規作成します(日次/週次/月次/四半期ごと/年次)
update_recurring_invoiceテンプレートの項目を更新します。変更は今後生成される請求書にのみ反映されます
pause_recurring_invoice有効なテンプレートを一時停止します。一時停止中は請求書が生成されません
resume_recurring_invoice一時停止中のテンプレートを再開します。次回の請求書は、次の予定サイクルに生成されます
delete_recurring_invoiceテンプレートを完全に削除します(confirm=true が必要です)
run_recurring_now全体モードおよびグループモードで、明示的に confirm=true を指定して次の定期請求書を生成します。ワークスペースの設定によっては、税務上の発行、提出、Webhook が実行される場合があります
チーム管理(4)
ツール機能
list_team_members有効なメンバーと保留中の招待を一覧表示します(オーナーを除く)
invite_team_memberメールアドレスとロール(admin/editor/accountant/viewer)を指定して、新しいメンバーを招待します
update_team_member_role既存メンバーのロール(admin/editor/accountant/viewer)を変更します
remove_team_memberワークスペースからメンバーを削除します(confirm=true が必要です)
Gestoria — 会計士(5)
ツール機能
gestoria_message_sendコンテキストに応じたスレッド(documentRequest/filingItem/obligation)にメッセージを送信します
gestoria_messages_listスレッド内のメッセージを新しい順に一覧表示します。before を使って過去にさかのぼってページネーションできます
gestoria_template_create変数と期限日のオフセットを指定して、再利用可能な書類依頼テンプレートを作成します
gestoria_template_bulk_send1回の呼び出しで、最大500件のクライアントワークスペースにテンプレートを一括送信します
gestoria_aging_consolidatedクライアント横断の売掛金滞留レポート(区分、ワークスペース別の内訳、期限超過額の上位項目)を取得します
監査 GL(3)
ツール機能
frihet_gl_entry_approveGL仕訳を承認します(gestor/admin のみ — TRUST AREA)
frihet_gl_entry_rejectGL仕訳を必須の理由とともに却下します(TRUST AREA)
frihet_gl_entry_audit_logGL仕訳の完全な監査証跡を取得します
ホワイトラベルポータルのドメイン(3)
ツール機能
frihet_portal_domain_addクライアントポータルにカスタムドメインを追加します(DNS CNAME レコードを返します)
frihet_portal_domain_verifyカスタムポータルドメインの DNS 伝播を検証します
frihet_portal_domain_removeカスタムポータルドメインを削除します(デフォルトの Frihet サブドメインに戻ります)
セルフオンボーディングと VIES(2)
ツール機能
frihet_portal_onboard_link_generateクライアント候補者向けに、有効期限付きのセルフオンボーディングリンクを生成します
frihet_tax_id_vies_lookupVIES を通じて EU VAT 番号(CIF intracomunitario)を検証します
IGIC — カナリア諸島の間接税(4)
ツール機能
frihet_modelo_415_summaryM415 年間取引(€3,005超。M347に相当するカナリア諸島の申告) — 未デプロイのため、NOT_DEPLOYED を返します
frihet_modelo_425_summaryカナリア諸島の事業者向け M425 年間 IGIC 概要 — 未デプロイのため、NOT_DEPLOYED を返します
frihet_modelo_418_summary企業グループ特別制度における M418 月次個別 IGIC 申告 — 未デプロイのため、NOT_DEPLOYED を返します
frihet_aiem_calculateカナリア諸島向け AIEM(輸入税)の計算 — 未デプロイのため、NOT_DEPLOYED を返します
Impuesto sobre Sociedades — 法人税(2)
ツール機能
frihet_modelo_200_summaryModelo 200 年次 IS 申告 — 未デプロイのため、NOT_DEPLOYED を返します
frihet_modelo_202_summaryModelo 202 分割納付(1P/2P/3P) — 未デプロイのため、NOT_DEPLOYED を返します
銀行のカテゴリ分類ルール(2)
ツール内容
frihet_bank_rules_list銀行の自動カテゴリ分類ルール(条件+アクション+ステータス)をすべて一覧表示します
frihet_bank_rule_create摘要、金額、取引先に基づいて取引を自動カテゴリ分類する新しいルールを作成します
入金(7)
ツール内容
list_depositsページネーションを使用して入金を一覧表示します
get_depositID を指定して入金の詳細を取得します
create_depositクライアントからの新しい入金を記録します
update_deposit入金のフィールドを更新します
delete_deposit入金を削除します(confirm=true が必要です)
apply_deposit入金残高を請求書に充当します
refund_depositconfirm=true を指定して、Frihet の帳簿に入金の返金を記録します。任意の amount を指定するとその金額分を記録し、省略すると返金可能な残額を記録します。送金は行いません
仕入先(5)
ツール内容
list_vendorsすべての仕入先/サプライヤーを一覧表示します
get_vendor仕入先の詳細を取得します
create_vendor新しい仕入先を追加します
update_vendor仕入先情報を更新します
delete_vendor仕入先を削除します
銀行取引(5)
ツール内容
list_bank_accounts接続済みの銀行口座を一覧表示します
get_bank_account銀行口座の詳細を取得します
list_transactionsフィルターを使用して銀行取引を一覧表示します
categorize_transaction取引にカテゴリと費用/収入の種別を割り当てます
match_transaction_to_invoice銀行取引を既存の請求書に紐付けます
税務 — スペインの税務モデル(7)
ツール内容
get_modelo_303_summary四半期ごとの IVA 申告(Modelo 303)— 受領分と控除可能分、納付純額
get_modelo_130_summary自営業者向け四半期ごとの IRPF 予定納税(Modelo 130)
get_modelo_390_summary年次 IVA サマリー(Modelo 390)
get_modelo_180_summary賃貸に関する年次源泉徴収サマリー(Modelo 180)— デプロイされていません。NOT_DEPLOYED を返します
get_modelo_347_summary3,005€ を超える第三者との年間取引(Modelo 347)
verifactu_status税務記録の VeriFactu 送信ステータスを取得します
verifactu_resubmit却下された VeriFactu 税務記録を再送信します
ticketbai_statusTicketBAI の送信ステータスを確認します — 電子請求(10)からの相互参照。このセクションの 7 には含まれません
バケーションレンタル/宿泊(5)
ツール内容
list_reservationsフィルターを使用してレンタル予約を一覧表示します
get_reservation予約の詳細を取得します
create_reservation新しい予約を作成します
list_propertiesすべてのレンタル物件を一覧表示します
sync_channelOTA チャネルの同期を開始します(Airbnb、Booking.com など)
POS — 販売時点管理(4)
ツール内容
list_terminals登録済みの POS 端末を一覧表示します
get_salePOS の販売取引の詳細を取得します
list_salesページネーションを使用して POS の売上を一覧表示します
refund_salePOS の販売取引を返金します
キッチン/レストラン(6)
ツール内容
list_kitchen_ticketsステータスまたは担当ステーションで絞り込み、ライブボード用のキッチン注文チケットを一覧表示します
get_kitchen_ticketID を指定して、すべての品目と各品目のステータスを含む単一のキッチンチケットを取得します
update_kitchen_ticketチケットのステータスを次の段階に進めます(queued → preparing → ready → served)。または、別のステーションに再割り当てします
list_kitchen_stationsID、名前、アクティブ状態を含むすべてのキッチンステーションを一覧表示します
list_menu_itemsフリーテキスト検索とアクティブ/非アクティブのフィルターを使用して、キッチンメニューのカタログを一覧表示します
kitchen_flow_summary遅延しているステーションを検出します。ステーションごとに未完了チケットを集計し、ボトルネックを特定します
HR — 人事(9)
ツール内容
leave_request_create休暇申請(休暇、病気休暇、私用休暇)を作成します
leave_approve保留中の休暇申請を承認します
leave_reject理由を添えて休暇申請を却下します
leave_cancel承認済みまたは保留中の休暇申請を取り消します
leave_listフィルター(ユーザー、ステータス、期間)を指定して休暇申請を一覧表示します
attendance_clock_in従業員の出勤を記録します
attendance_clock_out従業員の退勤を記録します
overtime_report選択した YYYY または YYYY-MM の記録をもとに計算された、日次・週次の残業時間、合計分数・時間、コンプライアンス警告を読み取ります
anomaly_list勤怠の異常(打刻漏れ、過度な残業)を一覧表示します
給与計算(2)
ツール内容
payroll_export給与計算に対応した形式に正規化された従業員データを読み取ります。format の値は出力先のラベルをそのまま返すものであり、ファイルは生成されません
payroll_checklist給与支払い対象の従業員を、給与プロフィールの準備状況、未入力項目、月次レビューの状態とともに一覧表示します
オンボーディング — #124 により取り下げ

onboarding_status および onboarding_persona_set ツールは、今回のリリース時点で Frihet-ERP の /v1/onboarding/* 系統が存在しないため、取り下げられました。監査と前例については、issue #124 を参照してください(src/tools/igic.ts には、バックエンドの API がまだ提供されていない系統で使用するインラインの NOT_DEPLOYED スタブのパターンが示されています。オンボーディングでは、稼働中のハンドラーがないツールをカタログで過大に約束すべきではないため、代わりに全面的な取り下げが選択されました)。

今後の Frihet-ERP リリースでこの系統が提供された場合は、src/tools/onboarding.ts、src/tools/shared.ts の onboardingStatusOutput/onboardingPersonaResultOutput スキーマ、IFrihetClient の getOnboardingStatus/setOnboardingPersona メソッド、および src/tools/register-all.ts での登録を復元してください(src/__tests__/d4b-hr-payroll-onboarding-tools.test.ts の Onboarding tools — withdrawn via #124 テストがゲートとなり、失敗して次のメンテナーに以前の内容を知らせます)。

権限(2)
ツール内容
permissions_matrix文書化された RBAC モデルのスナップショットを取得します(実行時の認可を保証するものではありません)
permissions_meRBAC モデルのフィールドを、実際の API キーのスコープおよび既知のスコープ拒否と比較します(網羅的ではありません)
期間締め(3)
ツール内容
period_close_status現在または選択した YYYY 会計年度の期間、開閉状態、null 許容の締め処理詳細を取得します
period_close会計期間を締めます(gestor/管理者のみ — 信頼領域)
period_reopen必須の理由を指定して、締め済みの期間を再開します(信頼領域)

すべての正規操作(およびそのエイリアス)は、outputSchema を介して構造化出力を返します。生テキストではなく、型付き JSON です。一覧レスポンスの形式は API 系統に準拠します。すべての一覧エンドポイントがページネーションに対応しているわけではありません。

機能と副作用の明示

すべての MCP サーフェスで、各 tools/list エントリーには _meta["io.frihet/capability"] が含まれます。

  • registered は、このサーバービルドに名前とハンドラーが存在することを意味します。
  • callability は api_dependent(ハンドラーが API を呼び出します。デプロイ状況、ワークスペースでの有効化、認可によって引き続き実行可否が決まります)、runtime_checked(ハンドラーがバックエンドの不在とデータが空である状態を明示的に区別します)、deferred、unavailable、または local のいずれかです。「利用可能」と無条件に主張することはありません。
  • writesFrihet、externalInteraction、externalSideEffects は、状態の変更や外部のエンティティ/プロバイダーへの呼び出しを区別します。
  • MCP のアクション注釈は、読み取り専用、破壊的、冪等、オープンワールドに関するヒントを示す標準的な情報源として引き続き使用されます。

ChatGPT/OpenAI ホストは、個別にレビューされたサーフェスです。完全な説明を備えたビジネス操作がちょうど 33 件、検出用メタツールが 0 件、プロンプトが 0 件、リソースが 0 件あります。17 件の読み取り操作と 16 件の書き込み操作は意図的に範囲を限定しており、すべての書き込み操作でリテラルの confirm=true が必要です。10 件の書き込み操作では、ワークスペースの所有者が事前に設定した有効なエンドポイントへ、完全なビジネスイベントを送信する場合があります。Webhook の管理自体は対象外です。直接のメール送信、従来の月次サマリー、生の請求書 PDF、請求書のライフサイクル遷移、既存の見積書の更新、規制対象の申告、クライアントの親レコードの削除、関連ファイルとともに経費を削除する操作、製品の削除、ベンダーの削除も対象外です。このサーフェスの内容を、カタログ全体にも当てはまるものと推測してはいけません。


リソース

AI がより適切な判断を下せるよう、読み取り可能なコンテキストを提供します。

ローカルパッケージは、静的リファレンス 7 件と API 連携ワークスペースリソース 4 件の、合計 11 件のリソースを提供します。ホスト型 Worker は静的リソース 7 件を提供します。OpenAI レビュー済みホストが提供するリソースは 0 件です。

静的(参照データ。API 呼び出しはありません):

リソースURI提供内容
API スキーマfrihet://api/schemaOpenAPI の概要:エンドポイント、認証、レート制限、ページネーション、エラーコード
税率frihet://tax/ratesスペインの税区分別の税率:IVA、IGIC、IPSI、EU のリバースチャージ、IRPF
税務カレンダーfrihet://tax/calendar記載されているスペインの税務モデルに関する四半期ごとおよび年間の申告期限
経費カテゴリfrihet://config/expense-categories損金算入ルール、IVA の取り扱い、償却を含む 8 カテゴリ
請求書のステータスfrihet://config/invoice-statusesステータスのフロー(draft > sent > paid/overdue > cancelled)、遷移ルール、Webhook イベント
通貨frihet://config/currenciesISO コード、記号、小数点以下の桁数、ロケール別書式を含む、サポート対象の 40 通貨
国frihet://config/countries税区分、既定税率、通貨、請求書のプレフィックスを含む、サポート対象の 61 か国

動的(アカウントのライブデータ):

リソースURI提供内容
ビジネスプロフィールfrihet://business-profile事業情報、プラン、既定値、最近のアクティビティ、主要クライアント
月次スナップショットfrihet://monthly-snapshot当月の損益、収益、経費、納税額
期限超過の請求書frihet://overdue-invoices支払期限を過ぎたすべての請求書(最大 100 件)
プランの上限frihet://status/plan-limitsライブのプラン階層、使用量カウンター、月あたりの請求書数、API レート制限

プロンプト(10)

AI がガイド付きの複数ステップの操作として実行できる、事前構築済みのワークフローです。

プロンプト内容引数
monthly-close月次締めを行います:未払い請求書の確認、経費の分類、税務上の義務の確認、サマリーの作成month?(YYYY-MM)
onboard-client所在地に応じた適切な税率で新規クライアントを設定し、必要に応じてウェルカム見積書を作成しますclientName、country?、region?
quarterly-tax-prep四半期の税務申告を準備します:IVA/IGIC の計算、控除対象の特定、Modelo 303/130/420 のプレビューquarter?、fiscalZone?
overdue-followup支払期限を過ぎた請求書を探し、フォローアップメッセージの下書きを作成し、支払いのリマインダーを提案します--
new-client-invoice税率を調べながら、1 つのワークフローでクライアントと最初の請求書を作成しますclientName、country?
expense-report控除対象の合計を含む、カテゴリー別の経費レポートを作成しますmonth?(YYYY-MM)
year-end-close年次締めを一通り行います:四半期の確認、未払い請求書の確認、未分類経費の確認、年末チェックリストyear(YYYY)
cash-flow-forecast今後数か月のキャッシュフローを予測します:定期収入、経費、支払期限超過の売掛金、納税期限months?(デフォルト:3)
invoice-aging-review売掛金の滞留期間を分析します:未払い請求書を期間別(0~30/31~60/61~90/90 日超)に分類し、上位の債務者と回収アクションを確認します--
expense-batch経費を一括処理します:分類、税率の適用、領収書の不足のフラグ付けfiscalZone?

仕組み

graph LR
    AI["Your AI assistant"]
    MCP["frihet-mcp"]
    API["api.frihet.io"]
    DB["Frihet ERP"]

    AI -- "create_invoice()" --> MCP
    MCP -- "POST /v1/invoices" --> API
    API --> DB
    DB -- "201 + invoice data" --> API
    API -- "structured JSON" --> MCP
    MCP -- "typed response + suggestions" --> AI

    style AI fill:#09090b,stroke:#4ade80,color:#fafafa
    style MCP fill:#09090b,stroke:#fafafa,color:#fafafa
    style API fill:#09090b,stroke:#3f3f46,color:#a1a1aa
    style DB fill:#09090b,stroke:#3f3f46,color:#a1a1aa

サーバーはツール呼び出しを REST API リクエストに変換します。認証、レート制限(429 の場合はバックオフ付きで自動再試行)、ページネーション、エラーのマッピングを処理します。

トランスポートは 2 種類です:

  • stdio(ローカル) -- FRIHET_API_KEY を指定して npx @frihet/mcp-server
  • Streamable HTTP(リモート) -- Bearer トークンまたは OAuth 2.0+PKCE を使用して https://mcp.frihet.io/mcp
環境変数
変数必須デフォルト
FRIHET_API_KEYはい(stdio)--
FRIHET_API_URLいいえhttps://api.frihet.io/v1
FRIHET_TOOL_MODEいいえfull
FRIHET_CLAUDE_MODEいいえ(未リリースのローカル候補版)false

ソースのみの Claude 候補版を使用するには、このチェックアウトをビルドして dist/index.js を実行する必要があります。既存の npm リリースがこのフラグに対応しているとは限りません。 候補版の対象範囲、除外事項、確認項目を参照してください。 FRIHET_OPENAI_MODE=true と併用することはできず、デプロイ済み Worker では有効になっていません。

ツール公開:必要に応じて詳細を提供

Frihetの差別化要因は網羅性です。ES/EUの税務を全面的にカバーし、コンプライアンス(VeriFactu、TicketBAI、Facturae/FACe、KSeFはポーランドのインフラ対応済み・有効化待ち)、銀行、CRM、人事・給与、宿泊施設/PMS、POSにネイティブ対応しています。しかし、すべてのツールをフラットな一覧としてエージェントのコンテキストにあらかじめ読み込むと、2026年におけるコンテキスト肥大化の問題を招きます。タスクに使える余地が狭まり、作業を始める前からツールの選択精度が低下します。

FRIHET_TOOL_MODEで、この網羅性の公開方法を選択できます。

モード動作
full(デフォルト)標準ツールと税務上のエイリアスを、完全な説明とスキーマとともに公開します。公開用ディスクリプターには、保守的な呼び出し可否と副作用に関する正確な情報が追加されます。操作名、スキーマ、ハンドラーは変更されません。
grouped**段階的な開示。**各ツールの説明は[group] summary — full schema via describe_tool('name')という1行にまとめられ、軽量な探索ツールが3つ追加されます。エージェントは、実際に必要なツールの詳細だけを読み込みます。

groupedモードでも、操作名、入力スキーマ、ハンドラーは変更されません。ディスクリプターには、fullプロファイルと同じ保守的な機能情報とアクション情報も公開されます。探索には、次の3つのメタツールを使用します。

  • list_tool_groups() — ドメインの一覧(請求書、経費、税務/コンプライアンス、銀行、CRM、人事/給与、宿泊施設/PMS、POS、インテリジェンス、製品、プラットフォーム)。各ドメインについて、1行の説明とツール数を返します。
  • search_tools(query) — ツール名、タイトル、概要、グループを対象にしたフリーテキスト検索です。一致したツールについて、グループ、概要、読み取り専用フラグ、入力フィールドを返します。groupによる絞り込みとlimitを指定できます。
  • describe_tool(name) — 1つのツールについて、呼び出す前に必要に応じて、元の完全な説明と入力フィールドを返します。
// claude_desktop_config.json — opt in to grouped mode
{
  "mcpServers": {
    "frihet": {
      "command": "npx",
      "args": ["@frihet/mcp-server"],
      "env": {
        "FRIHET_API_KEY": "fri_...",
        "FRIHET_TOOL_MODE": "grouped"
      }
    }
  }
}

grouped公開は説明の情報密度を変えるものであり、操作の動作は変えません。バージョン管理されたOpenAIレビュー済みプロファイルは別途構成され、独立したゲートによって管理されます。


API制限

制限値
1分あたりのリクエスト数APIキーごとに100
1ページあたりの結果数最大100(デフォルト50)
リクエスト本文最大1 MB
Webhookペイロード最大100 KB
アカウントあたりのWebhook数最大20

レート制限には、指数バックオフが自動的に適用されます。


Claude Codeスキル

生のMCPツールに加えて、このリポジトリにはビジネスコンテキストを補うClaude Codeスキルが含まれています。スペインの税法、ワークフローのレシピ、財務レポート、自然言語コマンドを利用できます。

スキルをインストールする
git clone https://github.com/Frihet-io/frihet-mcp.git
ln -s "$(pwd)/frihet-mcp/skills/frihet-mcp" ~/.claude/skills/frihet-mcp

ユニバーサルインストーラーを使用する場合:

npx skills add Frihet-io/frihet-mcp

このスキルは、リクエストをFrihet MCPツール(請求書、見積書、経費、クライアント、月次レビュー)に振り分け、書き込みを行う前に確認を求めるタイミングをエージェントに伝えます。単独で使える/frihetサブコマンドは追加されず、VAT税率や控除ルールも含まれません。税額などの数値はスキルではなく、Frihetのデータから取得されます。

詳しいドキュメント:docs.frihet.io/desarrolladores/skill-claude-code


開発

git clone https://github.com/Frihet-io/frihet-mcp.git
cd frihet-mcp
npm install
npm run build

ローカルで実行する:

FRIHET_API_KEY=fri_xxx node dist/index.js

MCP Inspectorでテストする:

npx @modelcontextprotocol/inspector node dist/index.js

貢献

貢献を歓迎します。変更したい内容について、まずIssueを作成してご相談ください。

git clone https://github.com/Frihet-io/frihet-mcp.git
cd frihet-mcp
npm install
npm run build   # must pass before submitting

現在の制限事項

  • OCRとファイルのアップロードには対応していません -- MCPが扱うのは構造化データであり、画像やPDFではありません。
  • 1社のみ対応 -- 1つのAPIキーは、1つのFrihetワークスペースに紐づきます。
  • Frihetアカウントが必要です -- app.frihet.ioの有効なアカウントと、APIキー(fri_で始まる)が必要です。

エコシステム

パッケージ概要
@frihet/mcp-serverこの MCP サーバー(156 個の標準操作と 5 個の別名、11 個のローカルリソース、10 個のプロンプト)
@frihet/sdkTypeScript SDK(frihet.invoices.create())
frihetCLI(frihet invoices list --status overdue)
n8n-nodes-frihetワークフロー自動化向けの n8n コミュニティノード
REST APIapi.frihet.io/v1 の OpenAPI 3.1
リモート MCPCloudflare Workers 上のホスト型エンドポイント(インストール不要)
ウェブフックHMAC-SHA256 によるリアルタイムイベント

リンク


ライセンス

MIT。LICENSE を参照してください。

Frihet が開発しました。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。