@frihet/mcp Server
About
AI-native MCP server for business management. 31 tools for invoicing, expenses, clients, products, quotes, and tax compliance. Multi-currency (40 currencies), VeriFactu ready, OAuth 2.0 + PKCE. Works with Claude, GPT, and custom agents.
Details
- Author
- Frihet-io
- Downloads
- 265
- Categories
- Productivity, Other, Finance, Automation, AI
Jump to
- 31 tools covering invoicing, expenses, and more
- Multi-currency support (40 currencies)
- VeriFactu compliance ready
- OAuth 2.0 + PKCE authentication
- Works with Claude, GPT, and custom agents
Use the server with AI agents such as Claude, GPT, or custom agents via the Model Context Protocol. Authentication uses OAuth 2.0 with PKCE.
AI-native MCP server for business management.
Servidor MCP nativo con IA para gestión empresarial.
Works withClaude·ChatGPT·Cursor·Windsurf·Cline·Antigravity·Codex·Copilot·Gemini CLI— and any MCP-compatible client.
Surface truth:the catalogue contains 157 canonical operations. The local full profile serves those plus 5 fiscal alias names (162 names). The hosted grouped profile also adds 3 local discovery names (165 names). Catalogue membership is not a promise that a backing API is enabled for every workspace.
An MCP server that connects your AI assistant toFrihet. Create invoices by talking. Query expenses in natural language. Manage your entire business from your 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.
157 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.
Kick the tires with zero setup — no account, no API key:
In demo mode the server answers from realisticexample fixtures(Spanish invoices with IVA/IGIC, expenses, clients, products, a bank account, and more) — every record usesdemo_-prefixed IDs and the server prints aDEMO MODEbanner on startup.Nothing is persistedand no network call is ever made. Writes are simulated and fiscal actions (e-invoice, VeriFactu, TicketBAI, FACe, payroll) return a clearly-labeled simulation — never a real submission to any tax authority.
When you're ready for your real data, drop the flag and add your key (app.frihet.io→ Settings → API keys). SeeInstallbelow.
One-line (Claude Code, Cursor, Copilot, Codex, Windsurf, Gemini CLI, and more)
Claude Code plugin (skill + MCP server in one install)
This repository is also a Claude Code plugin (frihet-erp): installing it wires up both the business-management skill and the MCP server.
# Try it locally claude --plugin-dir /path/to/frihet-mcp
Once available in the community marketplace:
/plugin marketplace add anthropics/claude-plugins-community /plugin install frihet-erp@claude-community
Skill invocation:/frihet-erp:frihet-mcp. The bundled.mcp.jsonlaunches@frihet/mcp-servervianpx— setFRIHET_API_KEYin your environment (get one atapp.frihet.io→ Settings → API keys).
{ "mcpServers": { "frihet": { "command": "npx", "args": ["-y", "@frihet/mcp-server"], "env": { "FRIHET_API_KEY": "fri_your_key_here" } } } }
The JSON config is identical for all tools. Only the file path changes.
Use the hosted endpoint atmcp.frihet.io-- zero local dependencies, runs on Cloudflare Workers.
{ "mcpServers": { "frihet": { "type": "streamable-http", "url": "https://mcp.frihet.io/mcp", "headers": { "Authorization": "Bearer fri_your_key_here" } } } }
With OAuth 2.0 + PKCE(browser-based login, no API key needed):
Clients that support OAuth (Claude Desktop, Smithery, etc.) can connect directly tohttps://mcp.frihet.io/mcpand authenticate via browser. The server implements the full OAuth 2.1 authorization code flow with PKCE.
- Log intoapp.frihet.io
- Go toSettings > API
- ClickCreate API key
- Copy the key (starts withfri_) -- it's only shown once
Talk to your ERP. These are real prompts, not marketing copy.
"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 admin@techstart.es" "Show me all my clients" "Update ClientName's address to Calle Mayor 1, Madrid 28001"
"Add a contact to Acme SL: Ana Garcia, CTO, ana@acme.es" "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"
"Set up a webhook to notify https://my-app.com/hook when invoices are paid" "List all my active webhooks"
This MCP is astructured data interface-- you describe what you want in natural language, and the AI creates, queries, or modifies business records in Frihet. Most of the 157 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.
"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 billing@acme.es" --> modifies the record
- OCR or PDF scanning -- you cannot upload an invoice image and have it read
- File upload or attachment handling
- Image processing of any kind
If you need to digitize paper invoices or receipts, extract the data first (e.g., Claude Vision API, a dedicated OCR service, or manual entry), then use the MCP to create the record:
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]"
Impuesto sobre Sociedades — Corporate Tax (2)
All canonical operations (and their aliases) returnstructured outputviaoutputSchema-- typed JSON, not raw text. List response shapes follow their API family; not every list endpoint is paginated.
On the full MCP surfaces, everytools/listentry includes_meta["io.frihet/capability"]:
- registeredmeans the name and handler exist in this server build;
- callabilityisapi_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, orlocal—never an unconditional “available” claim;
- writesFrihet,externalInteraction, andexternalSideEffectsdistinguish 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/OpenAI host is a separately reviewed surface: 53 reviewed business operations plus 3 discovery names, with 0 prompts and 0 resources. It must not be inferred from the full catalogue.
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.
Pre-built workflows the AI can execute as guided multi-step operations.
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
The server translates tool calls into REST API requests. It handles authentication, rate limiting (automatic retry with backoff on 429), pagination, and error mapping.
- stdio(local) --npx @frihet/mcp-serverwithFRIHET_API_KEY
- Streamable HTTP(remote) --https://mcp.frihet.io/mcpwith Bearer token or OAuth 2.0+PKCE
Frihet's differentiator isdepth— full ES/EU fiscal coverage plus native compliance (VeriFactu, TicketBAI, Facturae/FACe; KSeF Poland infra-ready, activation pending), banking, CRM, HR/payroll, stay/PMS and POS. But a flat list of every tool, loaded into an agent's context up front, is the 2026 context-rot problem: it crowds out the task and degrades tool selection before any work begins.
FRIHET_TOOL_MODElets you choose how that depth is exposed.
Ingroupedmode operation names, input schemas and handlers are unchanged. Descriptors also expose the same conservative capability and action truth as the full profile. Discovery flows through three meta-tools:
- list_tool_groups()— the domain map (invoicing, expenses, fiscal/compliance, banking, CRM, HR/payroll, stay/PMS, POS, intelligence, products, platform) with a one-line blurb and tool count for each.
- search_tools(query)— free-text search across tool name, title, summary and group; returns matching tools with their group, summary, read-only flag and input fields. Optionalgroupfilter andlimit.
- describe_tool(name)— the full original description and input fields for one tool, on demand, before you call it.
// 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 exposure changes description density, not operation behavior. The frozen OpenAI-reviewed profile is composed separately and remains independently gated.
Rate limiting is handled automatically with exponential backoff.
Beyond raw MCP tools, this repo includes aClaude Code skillthat adds business context: Spanish tax rules, workflow recipes, financial reports, and natural language commands.
git clone https://github.com/Frihet-io/frihet-mcp.git ln -s "$(pwd)/frihet-mcp/skill" ~/.claude/skills/frihet
The skill knows about IVA rates, IRPF retention, Modelo 303 prep, expense deductibility rules, and VeriFactu compliance.
Full documentation: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
npx @modelcontextprotocol/inspector node dist/index.js
Contributions are welcome. Please open an issue first to discuss what you'd like to change.
git clone https://github.com/Frihet-io/frihet-mcp.git cd frihet-mcp npm install npm run build # must pass before submitting
- No OCR or file upload-- the MCP works with structured data, not images or PDFs.
- Single company-- one API key maps to one Frihet workspace.
- Frihet account required-- you need an active account atapp.frihet.ioand an API key (starts withfri_).
- Frihet-- The product
- Documentation-- Full docs
- API reference-- REST API
- MCP server docs-- Setup guides, troubleshooting
- npm-- Package registry
- Smithery-- Smithery marketplace
- MCP Registry-- Anthropic official registry
- Remote endpoint-- Hosted MCP server (Cloudflare Workers)
- OpenAPI spec-- Machine-readable API definition
- Security policy-- Private vulnerability reporting guidance
MCP server for Pohoda accounting software (Czech) - read and create invoices, orders, inventory, contacts via mServer XML API.
MCP server for Fiken — Norway's popular accounting software. Manage invoices, contacts, journal entries, and bank accounts via AI agents.
Contract and template management for drafting, reviewing, and sending binding contracts.
Australian trade business OS with 67 MCP tools across 23 domains — autonomous business formation, lead management, quoting, job scheduling, invoicing, crypto payments, and growth analytics for tradies.
ClearPolicy is a document signing and compliance tracking tool for organizations. Once connected, your AI assistant can import documents, send signature requests, track who has and hasn't signed, and manage your contacts — all by prompt.
MCP-enabled invoicing platform for invoice creation, PDF export, and billing operations.
An assistant API to help find and apply for funding opportunities.
Integrate the SpotDraft API into agentic workflows. Requires SpotDraft API credentials.
The Company Formation MCP for AI coding tools.
Paid remote MCP for agentic workflow budget quotes, policy checks, spend approvals, usage receipts, and cost evidence exports.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




