Frihet ERP

io.frihet由 frihet.io 發布官方發布者v2.0.0更新於 Nov 7, 2026

Frihet ERP over MCP: invoices, quotes, expenses, clients, CRM, banking and Spanish tax summaries

已驗證Streamable HTTP可網頁執行效率與工作流金融商業與電商

概覽

AI 產生的概覽

將 AI 助理連接到 Frihet ERP,可建立與查詢發票、報價、費用、客戶、CRM 紀錄、銀行與西班牙稅務彙總。

可以做什麼
  • 建立、修改、搜尋與刪除發票、報價、貸項通知單與週期性發票範本,並寄送給客戶
  • 記錄與管理費用、產品、客戶、聯絡人、CRM 活動與備註
  • 讀取營運資料:業務快照、月度損益、季度稅務準備、應收帳款帳齡
  • 處理電子發票與稅務申報,以及工時、人事請假與出勤、團隊角色和 Webhook
  • 執行月度結帳、季度稅務準備、逾期追蹤、現金流預測等引導式提示
適用情境
適合已在 Frihet 記帳的企業,希望用自然語言讓助理草擬發票、登記費用、查詢客戶或取得稅務與利潤數據,而不必在應用程式裡逐項操作。
執行需求
可使用託管的遠端端點並以 OAuth 登入,或以 npx 執行本機 npm 套件;本機方式需要 Node 22.23.4+、24.22.1+ 或 26.12.1+,並在 FRIHET_API_KEY 提供 API 金鑰。需要 Frihet 帳號;示範模式不需帳號,僅以範例資料回應。
安裝前請注意
API 金鑰(FRIHET_API_KEY)對應單一工作區,且只顯示一次。許多工具會寫入、寄送、刪除或作廢紀錄,寄信給客戶、觸發 Webhook 或提交至稅務機關,部分需要 confirm=true。發票與報價預設存為草稿,但週期性產生與電子發票提交可能造成稅務後果。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Frihet ERP,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.frihet%2Ferp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "frihet-erp": {
      "type": "http",
      "url": "https://mcp.frihet.io/mcp"
    }
  }
}

README

[frihet-mcp]

AI-native MCP server for business management.
Servidor MCP nativo con IA para gestión empresarial.

Works with Claude · ChatGPT · Cursor · Windsurf · Cline · Antigravity · Codex · Copilot · Gemini CLI — and any MCP-compatible client.

[npm version] [npm downloads] [MCP Registry] [156 canonical catalogue operations] [license]

[Frihet MCP — talk to your ERP in natural language]


What is this

An MCP server that connects your AI assistant to Frihet, the AI-native ERP for businesses of any size. Ask for invoices, expenses, clients, quotes, banking and tax figures in plain language, from the tools you already use.

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 canonical operations. Five fiscal aliases. Ten prompts. The local package serves 11 resources; the hosted Worker deliberately serves the 7 static resources, while API-backed workspace resources remain local-profile only.


Quick start

Remote, one step. Add https://mcp.frihet.io/mcp as a remote MCP server in any client that supports OAuth. You sign in with your browser; there is nothing to install and no key to copy.

Local, with your API key (create one in app.frihet.io under Settings > API):

bash
claude mcp add frihet -s user -e FRIHET_API_KEY=fri_your_key_here -- npx -y @frihet/mcp-server

No account yet? Try demo mode. It answers from example data, persists nothing and makes no network calls:

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

Local installs need Node 22.23.4+, 24.22.1+ or 26.12.1+. Other clients are covered under Client setup.


Distribution

Where to get it

ChannelStatusEntry point
npmPublished@frihet/mcp-server · npx -y @frihet/mcp-server
Remote MCPLive, OAuth or API keyhttps://mcp.frihet.io/mcp (running version at /health)
ChatGPT appLiveFrihet in ChatGPT
RaycastComing to the Raycast StoreSubmission
Official MCP RegistryListedio.frihet/erp
GitHub MCP RegistryListedFrihet ERP

Also listed on Glama, Cursor Directory, mcp.so, mcpservers.org and the ToolSDK registry.

Surface truth: the catalogue contains 156 canonical operations. The local full profile serves 161 tool names, 11 resources, and 10 prompts (156 canonical operations plus 5 fiscal aliases). The hosted grouped profile serves 164 tool names, 7 resources, and 10 prompts (the same names plus 3 discovery tools, with API-backed resources kept local-only). The separately reviewed OpenAI profile serves 33 tool names, 0 resources, and 0 prompts. These counts describe the current source release; the hosted server reports the version it is running at /health. Catalogue membership is not a promise that a backing API is enabled for every workspace.


What you can do

Real prompts, grouped by area.

AreaTry asking
Invoicing"Show me all unpaid invoices" · "Create an invoice for Acme SL with 10h of consulting at 95/hour" · "Mark invoice abc123 as paid"
Expenses"Log a 59.99 EUR expense for Adobe Creative Cloud, category: software, tax-deductible" · "What did I spend on travel last quarter?"
Clients and CRM"Add a new client: TechStart SL, NIF B12345678" · "Log a call with TechStart: discussed Q2 proposal" · "Show all activities for Acme SL"
Quotes"Create a quote for Design Studio: logo design (2000 EUR) + brand guidelines (3500 EUR)"
Tax and reporting"Prepare my quarterly tax summary" · "Give me this month's profit and loss"
Webhooks"Set up a webhook to notify https://my-app.com/hook when invoices are paid"

Beyond these, the catalogue covers banking, e-invoicing, time tracking, recurring invoices, HR and payroll, POS and more. See the full catalogue.


Client setup

Claude Code

bash
claude mcp add frihet -s user -e FRIHET_API_KEY=fri_your_key_here -- npx -y @frihet/mcp-serverclaude mcp list          # verify: frihet ✓ Connected

Or use the hosted server: claude mcp add --transport http frihet https://mcp.frihet.io/mcp.

Codex CLI

bash
codex mcp add frihet --env FRIHET_API_KEY=fri_your_key_here -- npx -y @frihet/mcp-server

Codex reads TOML, not JSON. Pasting a JSON mcpServers block into ~/.codex/config.toml is a parse error that breaks the whole file, so use the command above.

Claude Desktop, Cursor, Windsurf, Cline

json
{  "mcpServers": {    "frihet": {      "command": "npx",      "args": ["-y", "@frihet/mcp-server"],      "env": {        "FRIHET_API_KEY": "fri_your_key_here"      }    }  }}
ClientConfig file
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

Remote server with an API key

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

Clients that support OAuth 2.1 with PKCE can connect to the same URL and sign in through the browser instead.

ChatGPT

Open Frihet in ChatGPT and connect your account.

Skill for coding agents

bash
npx skills add Frihet-io/frihet-mcp

Installs the Frihet skill for Claude Code, Cursor, Codex, Windsurf, Gemini CLI and others. It routes requests to the MCP tools and asks for confirmation before writes. Tax figures come from your Frihet data, not from the skill. Skill docs.

Get your API key

  1. Log into app.frihet.io
  2. Go to Settings > API
  3. Click Create API key
  4. Copy the key (starts with fri_). It is only shown once.

For AI agents

If you are an agent reading this repository, the contract is machine-readable and generated from the running server.

WhatWhere
Onboarding contract: quickstart per client, auth, safe workflow, human-authority tool lists, error recoverydocs/agent-onboarding.json, also shipped in the npm package
Per-tool capability truth: callability, writesFrihet, externalInteraction, externalSideEffects_meta["io.frihet/capability"] on every entry of tools/list
How to behave once connectedthe instructions string returned by initialize
  1. Orient before acting. get_business_context and the frihet://tax/rates resource decide the correct fiscal treatment. Do not recall a tax rate from memory.
  2. Draft, show, stop. create_invoice, create_quote and create_credit_note default to status=draft: no fiscal number, no hash, nothing sent to a tax authority.
  3. Human authority is not yours to assume. Any tool with a non-empty externalSideEffects reaches a client's inbox, a webhook, money, or a tax authority. Several also take confirm=true; that flag records a human decision.

What to expect

This MCP is a structured data interface -- you describe what you want in natural language, and the AI creates, queries, or modifies business records in Frihet. Most of the 156 canonical operations are CRUD operations over the REST API; the rest are read-only summaries and fiscal/e-invoice actions. Alias and discovery names are counted separately.

It does not do OCR, PDF scanning, file upload or image processing. To digitize a paper invoice, extract the data first (a vision model, an OCR service, or manual entry), then ask the assistant to create the record. One API key maps to one Frihet workspace, and you need a Frihet account at app.frihet.io.


Full catalogue

All 156 canonical operations, resources and prompts

Invoices (12)

ToolWhat it does
list_invoicesList invoices with pagination
get_invoiceGet full invoice details by ID
create_invoiceCreate a new invoice with line items
update_invoiceUpdate any invoice field
delete_invoiceDelete a draft invoice; a sent/paid one is cancelled, not destroyed (confirm=true required)
search_invoicesFind invoices by client name, date, or status
send_invoiceEmail invoice to client (PDF attachment) — reaches a third party, confirm=true required
mark_invoice_paidMark an invoice as paid with optional payment date
get_invoice_pdfGet bounded invoice PDF bytes as base64
get_invoice_einvoiceGet bounded XML or Factur-X PDF bytes for an invoice
create_credit_noteCreate a credit note linked to an existing invoice
apply_late_feeApply a late payment fee to an overdue invoice

Expenses (5)

ToolWhat it does
list_expensesList expenses with pagination
get_expenseGet expense details
create_expenseRecord a new expense
update_expenseModify an expense
delete_expenseDelete an expense

Clients (5)

ToolWhat it does
list_clientsList all clients
get_clientGet client details
create_clientRegister a new client
update_clientUpdate client info
delete_clientRemove a client

CRM: Contacts (3)

ToolWhat it does
list_client_contactsList all contacts for a client
create_client_contactAdd a contact person to a client
delete_client_contactRemove a contact from a client

CRM: Activities (2)

ToolWhat it does
list_client_activitiesList CRM activities (calls, emails, meetings, tasks)
log_client_activityLog a call, email, meeting, or task against a client

CRM: Notes (3)

ToolWhat it does
list_client_notesList all notes for a client
create_client_noteAdd a free-form note to a client
delete_client_noteRemove a note from a client

Products (5)

ToolWhat it does
list_productsList products and services
get_productGet product details
create_productAdd a product or service
update_productUpdate pricing or details
delete_productRemove a product

Quotes (6)

ToolWhat it does
list_quotesList all quotes
get_quoteGet quote details
create_quoteDraft a new quote
update_quoteModify a quote
delete_quoteDelete only a clean draft with no delivery, response, attachment, or conversion evidence; refuse protected drafts; cancel non-drafts (confirm=true required)
send_quoteEmail quote to client for acceptance

Webhooks (6)

ToolWhat it does
list_webhooksList configured webhooks
get_webhookGet webhook details
create_webhookRegister a new webhook endpoint
update_webhookModify events or URL
delete_webhookRemove a webhook
test_webhookSend a test payload to a configured webhook endpoint

Intelligence (4)

ToolWhat it does
get_business_contextFull snapshot: profile, plan, recent activity, top clients, current month
get_monthly_summaryMonthly P&L: revenue, expenses, profit, tax liability, top clients by revenue
get_quarterly_taxesQuarterly tax prep: Modelo 303/130 fields, collected vs deductible, liability
duplicate_invoiceClone an invoice for recurring billing (copies items/client/tax, starts as draft)

E-Invoicing (10)

ToolWhat it does
send_einvoiceDispatch an invoice in 11 formats (XRechnung, Factur-X, FatturaPA, PEPPOL, Facturae, UBL, CII) via email / Chorus Pro / SDI / PEPPOL / download
get_einvoice_statusPoll an e-invoice dispatch until it succeeds or fails; returns ackId, XML URL and PDF/A-3 URL
validate_einvoice_xmlValidate raw XML against format schema + schematron rules (KOSIT / Mustang / XSD / Schematron)
export_datevExport accounting data as DATEV EXTF (Buchungsstapel / Debitoren / Kreditoren) in CP1252 encoding
einvoice_exportExport e-invoice data in machine-readable formats (JSON/XML) for archival or integration
face_submitSubmit invoice to FACe (Spain B2G government e-invoicing platform)
face_statusPoll submission status from FACe for a submitted invoice
ticketbai_submitSubmit TicketBAI fiscal record to Basque Country tax authority (Hacienda)
ticketbai_statusPoll TicketBAI submission status from the Basque tax authority
ksef_submitNOT_DEPLOYED: submit an invoice to KSeF (Poland). Returns a labeled "unavailable" error until activated

Time Tracking (6)

ToolWhat it does
list_time_entriesList time entries with filter by user, project, date range, billable status
get_time_entryGet full details of a single time entry by ID
create_time_entryLog hours for a project (billable flag, description, date)
update_time_entryUpdate any field on an existing time entry (PATCH semantics)
delete_time_entrySoft-delete a time entry (confirm=true required)
get_time_summaryAggregate total/billable/non-billable hours for a period, with optional groupBy (user/project/day)

Recurring Invoices (8)

ToolWhat it does
list_recurring_invoicesList all recurring invoice templates (filter by active/paused)
get_recurring_invoiceGet full details of a recurring template by ID
create_recurring_invoiceCreate a new recurring invoice template (daily/weekly/monthly/quarterly/yearly)
update_recurring_invoiceUpdate template fields — affects future generated invoices only
pause_recurring_invoicePause an active template — no invoices generated while paused
resume_recurring_invoiceResume a paused template — next invoice on next scheduled cycle
delete_recurring_invoicePermanently delete a template (confirm=true required)
run_recurring_nowGenerate the next recurring invoice with explicit confirm=true in full and grouped modes; workspace settings may trigger fiscal issuance, submission and webhooks

Team Management (4)

ToolWhat it does
list_team_membersList active members + pending invites (owner excluded)
invite_team_memberInvite a new member by email with role (admin/editor/accountant/viewer)
update_team_member_roleChange an existing member's role (admin/editor/accountant/viewer)
remove_team_memberRemove a member from the workspace (confirm=true required)

Gestoria — Accountants (5)

ToolWhat it does
gestoria_message_sendSend a message in a contextual thread (documentRequest / filingItem / obligation)
gestoria_messages_listList messages in a thread, newest first; paginate backwards with before
gestoria_template_createCreate a reusable document request template with variables + due-date offset
gestoria_template_bulk_sendBulk send a template to up to 500 client workspaces in one call
gestoria_aging_consolidatedCross-client AR aging report (buckets, per-workspace breakdown, top overdue)

Audit GL (3)

ToolWhat it does
frihet_gl_entry_approveApprove a GL journal entry (gestor/admin only, restricted)
frihet_gl_entry_rejectReject a GL entry with a mandatory reason (restricted)
frihet_gl_entry_audit_logRetrieve full audit trail for a GL entry

White-label Portal Domain (3)

ToolWhat it does
frihet_portal_domain_addAdd a custom domain to the client portal (returns DNS CNAME records)
frihet_portal_domain_verifyVerify DNS propagation for a custom portal domain
frihet_portal_domain_removeRemove a custom portal domain (reverts to default Frihet subdomain)

Self-onboard & VIES (2)

ToolWhat it does
frihet_portal_onboard_link_generateGenerate a time-limited self-onboard link for a prospective client
frihet_tax_id_vies_lookupValidate an EU VAT number (CIF intracomunitario) via VIES

IGIC — Canary Islands Indirect Tax (4)

ToolWhat it does
frihet_modelo_415_summaryM415 annual operations >€3,005 (Canarias equivalent of M347) — not deployed, returns NOT_DEPLOYED
frihet_modelo_425_summaryM425 annual IGIC recap for Canary Islands businesses — not deployed, returns NOT_DEPLOYED
frihet_modelo_418_summaryM418 monthly individual IGIC return, régimen especial del grupo de entidades — not deployed, returns NOT_DEPLOYED
frihet_aiem_calculateAIEM (Arbitrio Importación) calculation for Canarias — not deployed, returns NOT_DEPLOYED

Impuesto sobre Sociedades — Corporate Tax (2)

ToolWhat it does
frihet_modelo_200_summaryModelo 200 annual IS return — not deployed, returns NOT_DEPLOYED
frihet_modelo_202_summaryModelo 202 installment payments (1P/2P/3P) — not deployed, returns NOT_DEPLOYED

Bank Categorization Rules (2)

ToolWhat it does
frihet_bank_rules_listList all bank auto-categorization rules (conditions + actions + status)
frihet_bank_rule_createCreate a new rule to auto-categorize transactions by description, amount, counterparty

Deposits (7)

ToolWhat it does
list_depositsList deposits with pagination
get_depositGet deposit details by ID
create_depositRecord a new client deposit
update_depositUpdate deposit fields
delete_depositDelete a deposit (confirm=true required)
apply_depositApply a deposit balance against an invoice
refund_depositRecord a deposit refund in Frihet bookkeeping with confirm=true; optional amount records that portion, omission records the remaining refundable balance. Does not transfer money

Vendors (5)

ToolWhat it does
list_vendorsList all vendors/suppliers
get_vendorGet vendor details
create_vendorAdd a new vendor
update_vendorUpdate vendor info
delete_vendorRemove a vendor

Banking (5)

ToolWhat it does
list_bank_accountsList connected bank accounts
get_bank_accountGet details for a bank account
list_transactionsList bank transactions with filters
categorize_transactionAssign a category and expense/income type to a transaction
match_transaction_to_invoiceLink a bank transaction to an existing invoice

Fiscal — Spanish Tax Models (7)

ToolWhat it does
get_modelo_303_summaryQuarterly IVA return (Modelo 303) — collected vs deductible, net payable
get_modelo_130_summaryQuarterly IRPF installment for self-employed (Modelo 130)
get_modelo_390_summaryAnnual IVA summary (Modelo 390)
get_modelo_180_summaryAnnual withholding summary for rentals (Modelo 180) — not deployed, returns NOT_DEPLOYED
get_modelo_347_summaryAnnual third-party transactions >€3,005 (Modelo 347)
verifactu_statusGet VeriFactu submission status for a fiscal record
verifactu_resubmitResubmit a rejected VeriFactu fiscal record

Vacation Rentals / Stay (5)

ToolWhat it does
list_reservationsList rental reservations with filters
get_reservationGet reservation details
create_reservationCreate a new reservation
list_propertiesList all rental properties
sync_channelTrigger OTA channel sync (Airbnb, Booking.com, etc.)

POS — Point of Sale (4)

ToolWhat it does
list_terminalsList registered POS terminals
get_saleGet details for a POS sale transaction
list_salesList POS sales with pagination
refund_saleIssue a refund for a POS sale

Kitchen / Restaurant (6)

ToolWhat it does
list_kitchen_ticketsList kitchen order tickets for the live board, filtered by status or station
get_kitchen_ticketGet a single kitchen ticket by ID with all items and their individual statuses
update_kitchen_ticketAdvance a ticket's status (queued → preparing → ready → served) or reassign it to another station
list_kitchen_stationsList all kitchen stations with id, name, and active status
list_menu_itemsList the kitchen menu catalog with free-text search and active/inactive filter
kitchen_flow_summarySlow-station detection: aggregate open tickets per station and flag the bottleneck

HR — Human Resources (9)

ToolWhat it does
leave_request_createCreate a leave request (vacation, sick, personal)
leave_approveApprove a pending leave request
leave_rejectReject a leave request with a reason
leave_cancelCancel an approved or pending leave request
leave_listList leave requests with filters (user, status, date range)
attendance_clock_inRecord clock-in for an employee
attendance_clock_outRecord clock-out for an employee
overtime_reportRead daily/weekly overtime, aggregate minutes/hours, and compliance alerts computed over the selected YYYY or YYYY-MM records
anomaly_listList attendance anomalies (missing punches, excessive overtime)

Payroll (2)

ToolWhat it does
payroll_exportRead normalized payroll-ready employee data; the format value is an echoed destination label, not a generated file
payroll_checklistList payable employees with payroll-profile readiness, missing fields, and monthly review state

Permissions (2)

ToolWhat it does
permissions_matrixGet the documented RBAC-model snapshot (not a runtime authorization guarantee)
permissions_meCompare RBAC-model fields with actual API-key scopes and known scope denials (non-exhaustive)

Period Close (3)

ToolWhat it does
period_close_statusGet the current or selected YYYY fiscal-year range, open/closed state, and nullable closing details
period_closeClose an accounting period (gestor/admin only, restricted)
period_reopenReopen a closed period with a mandatory reason (restricted)

All canonical operations (and their aliases) return structured output via outputSchema -- typed JSON, not raw text. List response shapes follow their API family; not every list endpoint is paginated.

Capability and side-effect truth

On the full MCP surfaces, every tools/list entry includes _meta["io.frihet/capability"]:

  • registered means the name and handler exist in this server build;
  • callability is api_dependent (the handler calls the API; deployment, workspace enablement, and authorization still decide), runtime_checked (the handler explicitly distinguishes an absent backend from empty data), deferred, unavailable, or local—never an unconditional “available” claim;
  • writesFrihet, externalInteraction, and externalSideEffects distinguish state changes and calls to external entities/providers;
  • MCP action annotations remain the standard source for read-only, destructive, idempotent, and open-world hints.

The ChatGPT app uses a separately reviewed profile of 33 business operations, with no discovery meta-tools, prompts or resources. Its 17 reads and 16 writes are deliberately narrow, and every write requires literal confirm=true. Do not infer it from the full catalogue.

Resources

Context the AI can read to make smarter decisions.

The local package serves 11 resources: 7 static references plus 4 API-backed workspace resources. The hosted Worker serves the 7 static resources. The OpenAI-reviewed host serves 0 resources.

Static (reference data, no API calls):

ResourceURIWhat it provides
API Schemafrihet://api/schemaOpenAPI summary: endpoints, auth, rate limits, pagination, error codes
Tax Ratesfrihet://tax/ratesTax rates by Spanish fiscal zone: IVA, IGIC, IPSI, EU reverse charge, IRPF
Tax Calendarfrihet://tax/calendarQuarterly and annual filing deadlines for the listed Spanish tax models
Expense Categoriesfrihet://config/expense-categories8 categories with deductibility rules, IVA treatment, amortization
Invoice Statusesfrihet://config/invoice-statusesStatus flow (draft > sent > paid/overdue > cancelled), transition rules, webhook events
Currenciesfrihet://config/currencies40 supported currencies with ISO codes, symbols, decimal places, locale formatting
Countriesfrihet://config/countriesSupported countries with fiscal zones, default tax rates, currencies, invoice prefixes

Dynamic (live data from your account):

ResourceURIWhat it provides
Business Profilefrihet://business-profileYour business info, plan, defaults, recent activity, top clients
Monthly Snapshotfrihet://monthly-snapshotCurrent month P&L, revenue, expenses, tax liability
Overdue Invoicesfrihet://overdue-invoicesAll invoices past due date (up to 100)
Plan Limitsfrihet://status/plan-limitsLive plan tier, usage counters, invoices/month, API rate limits

Prompts (10)

Pre-built workflows the AI can execute as guided multi-step operations.

PromptWhat it doesArguments
monthly-closeClose the month: review unpaid invoices, categorize expenses, check tax obligations, generate summarymonth? (YYYY-MM)
onboard-clientSet up a new client with correct tax rates by location, optionally create a welcome quoteclientName, country?, region?
quarterly-tax-prepPrepare quarterly tax filing: calculate IVA/IGIC, identify deductibles, preview Modelo 303/130/420quarter?, fiscalZone?
overdue-followupFind overdue invoices, draft follow-up messages, suggest payment reminders--
new-client-invoiceCreate a client + first invoice in one workflow with tax rate lookupclientName, country?
expense-reportGenerate expense report grouped by category with deductible totalsmonth? (YYYY-MM)
year-end-closeFull annual closing: quarterly review, pending invoices, uncategorized expenses, year-end checklistyear (YYYY)
cash-flow-forecastProject cash flow for coming months: recurring income, expenses, overdue receivables, tax deadlinesmonths? (default: 3)
invoice-aging-reviewAR aging analysis: group unpaid invoices by bucket (0-30/31-60/61-90/90+ days), top debtors, collection actions--
expense-batchProcess expenses in bulk: categorize, apply tax rates, flag missing receiptsfiscalZone?

Configuration

VariableRequiredDefault
FRIHET_API_KEYYes (stdio)--
FRIHET_API_URLNohttps://api.frihet.io/v1
FRIHET_TOOL_MODENofull

FRIHET_TOOL_MODE=grouped is progressive disclosure: each tool description collapses to one line and three discovery tools (list_tool_groups, search_tools, describe_tool) are added, so an agent loads full schemas only for the tools it needs. Operation names, input schemas and handlers do not change. The hosted server runs in grouped mode.

json
{  "mcpServers": {    "frihet": {      "command": "npx",      "args": ["@frihet/mcp-server"],      "env": { "FRIHET_API_KEY": "fri_...", "FRIHET_TOOL_MODE": "grouped" }    }  }}

Rate limits depend on your plan; the server retries with exponential backoff on 429. See the API reference.


Development and contributing

bash
git clone https://github.com/Frihet-io/frihet-mcp.gitcd frihet-mcpnpm installnpm run build   # must pass before submittingFRIHET_API_KEY=fri_xxx node dist/index.js

Test with the MCP Inspector: npx @modelcontextprotocol/inspector node dist/index.js. Open an issue before large changes. Report vulnerabilities as described in SECURITY.md.


Ecosystem

PackageWhat it is
@frihet/mcp-serverThis MCP server (156 canonical operations + 5 alias names; 11 local resources; 10 prompts)
@frihet/sdkTypeScript SDK (frihet.invoices.create())
frihetCLI (frihet invoices list --status overdue)
n8n-nodes-frihetn8n community node for workflow automation
REST APIOpenAPI 3.1 at api.frihet.io/v1
WebhooksReal-time events with HMAC-SHA256

Frihet · Documentation · MCP server docs · OpenAPI spec

License

MIT. See LICENSE.

Built by Frihet.

來源:README.md,提交 073cc52

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

2
  1. v2.0.0最新Nov 7, 2026
  2. v1.17.0Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分