Skip to main content
Glama
berthelius

Frihet MCP Server


What is this

An MCP server that connects your AI assistant to Frihet ERP. 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.

31 tools. 6 resources. Zero boilerplate.


Install

One line. Pick your tool.

Claude Code / Claude Desktop

{
  "mcpServers": {
    "frihet": {
      "command": "npx",
      "args": ["-y", "@frihet/mcp-server"],
      "env": {
        "FRIHET_API_KEY": "fri_your_key_here"
      }
    }
  }
}

Tool

Config file

Claude Code

~/.claude/mcp.json

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json

Cursor

.cursor/mcp.json or ~/.cursor/mcp.json

Windsurf

~/.windsurf/mcp.json

Cline

VS Code settings or .cline/mcp.json

Codex CLI

~/.codex/config.toml (MCP section)

The JSON config is identical for all tools. Only the file path changes.

Remote (no install)

If you prefer not to install anything locally, use the hosted endpoint at mcp.frihet.io:

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

Same 31 tools, zero local dependencies. Runs on Cloudflare Workers.

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's only shown once


What you can do

Talk to your ERP. These are real prompts, not marketing copy.

Invoicing

"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?"

Expenses

"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?"

Clients

"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"

Quotes

"Create a quote for Design Studio: logo design (2000 EUR) + brand guidelines (3500 EUR)"
"Show me all pending quotes"

Webhooks

"Set up a webhook to notify https://my-app.com/hook when invoices are paid"
"List all my active webhooks"

Tools reference

Invoices / Facturas

Tool

What it does

list_invoices

List invoices with pagination

get_invoice

Get full invoice details by ID

create_invoice

Create a new invoice with line items

update_invoice

Update any invoice field

delete_invoice

Permanently delete an invoice

search_invoices

Find invoices by client name

Expenses / Gastos

Tool

What it does

list_expenses

List expenses with pagination

get_expense

Get expense details

create_expense

Record a new expense

update_expense

Modify an expense

delete_expense

Delete an expense

Clients / Clientes

Tool

What it does

list_clients

List all clients

get_client

Get client details

create_client

Register a new client

update_client

Update client info

delete_client

Remove a client

Products / Productos

Tool

What it does

list_products

List products and services

get_product

Get product details

create_product

Add a product or service

update_product

Update pricing or details

delete_product

Remove a product

Quotes / Presupuestos

Tool

What it does

list_quotes

List all quotes

get_quote

Get quote details

create_quote

Draft a new quote

update_quote

Modify a quote

delete_quote

Delete a quote

Webhooks

Tool

What it does

list_webhooks

List configured webhooks

get_webhook

Get webhook details

create_webhook

Register a new webhook endpoint

update_webhook

Modify events or URL

delete_webhook

Remove a webhook


How it works

Your AI assistant          frihet-mcp           Frihet API
      |                        |                    |
      |-- "create invoice" --> |                    |
      |                        |-- POST /invoices ->|
      |                        |<-- 201 Created ----|
      |<-- "Invoice created" --|                    |

The MCP server translates natural language tool calls into REST API requests. It handles authentication, rate limiting (automatic retry on 429), pagination, and error mapping. You just talk.

Environment variables

Variable

Required

Default

FRIHET_API_KEY

Yes

--

FRIHET_API_URL

No

https://api.frihet.io/v1

FRIHET_API_URL is useful if you self-host or want to point to a staging environment.


API limits

Limit

Value

Requests per minute

100 per API key

Results per page

100 max (50 default)

Request body

1 MB max

Webhook payload

100 KB max

Webhooks per account

20 max

Rate limiting is handled automatically with exponential backoff. You don't need to think about it.


Claude Code Skill

Beyond raw MCP tools, Frihet ships a Claude Code skill that adds business intelligence: Spanish tax context, workflow recipes (monthly close, quarterly tax prep, overdue follow-up), formatted financial reports, and natural language commands.

Install the skill

# Clone and symlink
git clone https://github.com/berthelius/frihet-mcp.git
ln -s "$(pwd)/frihet-mcp/skill" ~/.claude/skills/frihet

Commands

Command

What it does

/frihet status

Account overview, recent activity, pending payments

/frihet invoice

Create, list, search invoices

/frihet expense

Log and query expenses

/frihet clients

Manage client database

/frihet quote

Create and manage quotes

/frihet report

Financial summaries (P&L, quarterly, overdue)

/frihet webhooks

Configure automation triggers

/frihet setup

Guided setup and connection test

The skill knows about IVA rates, IRPF retention, Modelo 303 prep, expense deductibility rules, and Verifactu compliance. It's your accountant in the terminal.

Full documentation: docs.frihet.io/desarrolladores/skill-claude-code


Development

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

Run locally:

FRIHET_API_KEY=fri_xxx node dist/index.js

Test with the MCP Inspector:

npx @modelcontextprotocol/inspector node dist/index.js

Why Frihet MCP

Frihet

Holded

Billin

Quipu

Anfix

Official MCP server

Yes

No (third-party)

No

No

No

Claude / Cursor / Windsurf

Yes

No

No

No

No

Public REST API

Yes

Yes

Limited

Yes

No

Webhooks with HMAC verification

Yes

No

No

No

No

AI assistant built-in

Yes

No

No

No

No

Open source tooling

Yes

No

No

No

No

The first business management platform with an official MCP server. No other ERP has this.



License

MIT. See LICENSE.

Built by BRTHLS.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/berthelius/frihet-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server