fiken-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@fiken-mcp list my unpaid invoices"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
fiken-mcp
A read-only Model Context Protocol (MCP) server for the Fiken accounting API. Exposes all Fiken GET endpoints as MCP tools so AI assistants (Claude, etc.) can query your accounting data directly.
Read-only guarantee: This server only ever makes HTTP GET requests to the Fiken API. No data is created, modified, or deleted.
Features
61 tools covering the full Fiken v2 read API
Multi-company support —
companySlugis a parameter on every toolPaginated list endpoints with metadata
Serial request queue (respects Fiken's 1 concurrent request per user rule)
Structured error responses — API errors are returned as tool results rather than crashing the session
Related MCP server: manager-mcp
Requirements
Node.js 18+
Installation
git clone https://github.com/yourusername/fiken-mcp
cd fiken-mcp
npm install
npm run buildUsage
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"fiken": {
"command": "node",
"args": ["/absolute/path/to/fiken-mcp/build/index.js"],
"env": {
"FIKEN_API_TOKEN": "your-token-here"
}
}
}
}Config file locations:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Claude Code
Add the server to your Claude Code project with:
claude mcp add fiken -- node /absolute/path/to/fiken-mcp/build/index.jsThen set the token:
claude mcp add fiken -e FIKEN_API_TOKEN=your-token-here -- node /absolute/path/to/fiken-mcp/build/index.jsOr if you prefer to keep the config in version control, add it to .mcp.json in your project root:
{
"mcpServers": {
"fiken": {
"command": "node",
"args": ["/absolute/path/to/fiken-mcp/build/index.js"],
"env": {
"FIKEN_API_TOKEN": "your-token-here"
}
}
}
}To verify the server is connected:
claude mcp listOther MCP clients
Run the server with the token in the environment:
FIKEN_API_TOKEN=your-token-here node build/index.jsDevelopment (no build step)
FIKEN_API_TOKEN=your-token-here npm run devMCP Inspector
FIKEN_API_TOKEN=your-token-here npx @modelcontextprotocol/inspector node build/index.jsGetting a Fiken API token
Log in to fiken.no
Go to Settings → API (or visit
https://fiken.no/api/v2/documentation)Generate a personal API token
Keep it secret — treat it like a password
Available tools
Start with fiken_list_companies to get the companySlug values needed by all other tools.
User
Tool | Description |
| Get information about the currently authenticated Fiken user |
Companies
Tool | Description |
| List all companies the authenticated user has access to |
| Get details for a specific company by slug |
Accounts
Tool | Description |
| List chart of accounts for a company |
| Get a specific account by account code |
| List account balances for a company |
| Get balance for a specific account |
Bank
Tool | Description |
| List bank accounts for a company |
| Get a specific bank account by ID |
| List bank balances for all bank accounts |
Contacts
Tool | Description |
| List contacts (customers and suppliers) |
| Get a specific contact by ID |
| List contact persons for a contact |
| Get a specific contact person |
| List contact groups |
Invoices
Tool | Description |
| List invoices |
| Get a specific invoice by ID |
| List attachments for an invoice |
| Get the current invoice number counter |
| List invoice drafts |
| Get a specific invoice draft |
| List attachments for an invoice draft |
Credit Notes
Tool | Description |
| List credit notes |
| Get a specific credit note |
| Get the current credit note number counter |
| List credit note drafts |
| Get a specific credit note draft |
Offers
Tool | Description |
| List offers/quotes |
| Get a specific offer |
| Get the current offer number counter |
| List offer drafts |
| Get a specific offer draft |
Order Confirmations
Tool | Description |
| List order confirmations |
| Get a specific order confirmation |
| Get the current order confirmation counter |
Journal Entries
Tool | Description |
| List journal entries |
| Get a specific journal entry |
| List attachments for a journal entry |
Transactions
Tool | Description |
| List transactions |
| Get a specific transaction |
Sales
Tool | Description |
| List sales |
| Get a specific sale |
| List attachments for a sale |
| List sale drafts |
| Get a specific sale draft |
| List attachments for a sale draft |
Purchases
Tool | Description |
| List purchases |
| Get a specific purchase |
| List attachments for a purchase |
| List purchase drafts |
| Get a specific purchase draft |
Products
Tool | Description |
| List products |
| Get a specific product |
Projects
Tool | Description |
| List projects |
| Get a specific project |
Time Tracking
Tool | Description |
| List time entries |
| Get a specific time entry |
| List activities (used with time entries) |
| List users who can log time |
Inbox
Tool | Description |
| List inbox documents |
| Get a specific inbox document |
Notes
Amounts are returned in øre (cents) as integers, matching the Fiken API — e.g.
100000means 1000.00 NOKAccount codes are strings — e.g.
"1920"or"1500:10001"Pagination defaults to page 0, 25 results per page (max 100)
Date filters use
YYYY-MM-DDformat
Development
npm test # run tests
npm run build # compile TypeScript
npm run dev # run without building (uses tsx)License
MIT
Available Tools
61 toolsfiken_get_accountB
Get a specific account by account code for a company
Inputs: accountCode (required), companySlug (required), year.
fiken_get_account_balanceA
Get balance for a specific account. Amounts are in cents.
Inputs: accountCode (required), companySlug (required), year.
fiken_get_bank_accountB
Get a specific bank account by ID
Inputs: companySlug (required), bankAccountId (required).
fiken_get_companyA
Get details for a specific company by slug
Inputs: companySlug (required).
fiken_get_contactB
Get a specific contact by ID
Inputs: contactId (required), companySlug (required).
fiken_get_contact_personB
Get a specific contact person by ID
Inputs: contactId (required), companySlug (required), contactPersonId (required).
fiken_get_credit_noteB
Get a specific credit note by ID. Amounts are in cents.
Inputs: companySlug (required), creditNoteId (required).
fiken_get_credit_note_counterB
Get the current credit note counter/number sequence for a company
Inputs: companySlug (required).
fiken_get_credit_note_draftB
Get a specific credit note draft by ID
Inputs: draftId (required), companySlug (required).
fiken_get_inbox_documentC
Get a specific inbox document by ID
Inputs: companySlug (required), inboxDocumentId (required).
fiken_get_invoiceB
Get a specific invoice by ID. Amounts are in cents.
Inputs: invoiceId (required), companySlug (required).
fiken_get_invoice_counterB
Get the current invoice counter/number sequence for a company
Inputs: companySlug (required).
fiken_get_invoice_draftC
Get a specific invoice draft by ID
Inputs: draftId (required), companySlug (required).
fiken_get_journal_entryB
Get a specific journal entry by ID. Amounts are in cents.
Inputs: companySlug (required), journalEntryId (required).
fiken_get_offerC
Get a specific offer/quote by ID. Amounts are in cents.
Inputs: offerId (required), companySlug (required).
fiken_get_offer_counterA
Get the current offer counter/number sequence for a company
Inputs: companySlug (required).
fiken_get_offer_draftC
Get a specific offer draft by ID
Inputs: draftId (required), companySlug (required).
fiken_get_order_confirmationA
Get a specific order confirmation by ID. Amounts are in cents.
Inputs: companySlug (required), confirmationId (required).
fiken_get_order_confirmation_counterA
Get the current order confirmation counter/number sequence for a company
Inputs: companySlug (required).
fiken_get_productA
Get a specific product by ID. Amounts are in cents.
Inputs: productId (required), companySlug (required).
fiken_get_projectB
Get a specific project by ID
Inputs: projectId (required), companySlug (required).
fiken_get_purchaseB
Get a specific purchase by ID. Amounts are in cents.
Inputs: purchaseId (required), companySlug (required).
fiken_get_purchase_draftB
Get a specific purchase draft by ID
Inputs: draftId (required), companySlug (required).
fiken_get_saleA
Get a specific sale by ID. Amounts are in cents.
Inputs: saleId (required), companySlug (required).
fiken_get_sale_draftB
Get a specific sale draft by ID
Inputs: draftId (required), companySlug (required).
fiken_get_time_entryB
Get a specific time entry by ID
Inputs: companySlug (required), timeEntryId (required).
fiken_get_transactionA
Get a specific transaction by ID. Amounts are in cents.
Inputs: companySlug (required), transactionId (required).
fiken_get_userA
Get information about the currently authenticated Fiken user
Inputs: no named parameters.
fiken_list_account_balancesC
List account balances for a company. Amounts are in cents.
Inputs: companySlug (required), page, year, pageSize, +2 more.
fiken_list_accountsB
List chart of accounts for a company. Account codes are strings (e.g. '1920').
Inputs: companySlug (required), page, year, pageSize, +2 more.
fiken_list_activitiesA
List activities for a company (used with time entries)
Inputs: companySlug (required), page, pageSize.
fiken_list_bank_accountsB
List bank accounts for a company
Inputs: companySlug (required), page, pageSize.
fiken_list_bank_balancesA
List bank balances for all bank accounts of a company. Amounts are in cents.
Inputs: companySlug (required).
fiken_list_companiesA
List all companies the authenticated user has access to. Use the returned slugs with other tools.
Inputs: page, pageSize.
fiken_list_contact_groupsB
List contact groups for a company
Inputs: companySlug (required), page, pageSize.
fiken_list_contact_personsC
List contact persons for a specific contact
Inputs: contactId (required), companySlug (required).
fiken_list_contactsC
List contacts (customers and suppliers) for a company
Inputs: companySlug (required), name, page, email, +14 more.
fiken_list_credit_note_draftsB
List credit note drafts for a company
Inputs: companySlug (required), page, pageSize.
fiken_list_credit_notesB
List credit notes for a company. Amounts are in cents.
Inputs: companySlug (required), page, settled, pageSize, +6 more.
fiken_list_inboxC
List inbox documents for a company
Inputs: companySlug (required), name, page, status, +2 more.
fiken_list_invoice_attachmentsB
List attachments for a specific invoice
Inputs: invoiceId (required), companySlug (required).
fiken_list_invoice_draft_attachmentsB
List attachments for a specific invoice draft
Inputs: draftId (required), companySlug (required).
fiken_list_invoice_draftsB
List invoice drafts for a company
Inputs: companySlug (required), page, pageSize.
fiken_list_invoicesB
List invoices for a company. Amounts are in cents.
Inputs: companySlug (required), kid, date, page, +15 more.
fiken_list_journal_entriesB
List journal entries for a company. Amounts are in cents.
Inputs: companySlug (required), date, page, dateGe, +4 more.
fiken_list_journal_entry_attachmentsA
List attachments for a specific journal entry
Inputs: companySlug (required), journalEntryId (required).
fiken_list_offer_draftsC
List offer drafts for a company
Inputs: companySlug (required), page, pageSize.
fiken_list_offersC
List offers/quotes for a company. Amounts are in cents.
Inputs: companySlug (required), page, pageSize.
fiken_list_order_confirmationsB
List order confirmations for a company. Amounts are in cents.
Inputs: companySlug (required), page, pageSize.
fiken_list_productsC
List products for a company. Amounts are in cents.
Inputs: companySlug (required), name, page, active, +7 more.
fiken_list_projectsC
List projects for a company
Inputs: companySlug (required), name, page, number, +4 more.
fiken_list_purchase_attachmentsC
List attachments for a specific purchase
Inputs: purchaseId (required), companySlug (required).
fiken_list_purchase_draftsC
List purchase drafts for a company
Inputs: companySlug (required), page, pageSize.
fiken_list_purchasesC
List purchases for a company. Amounts are in cents.
Inputs: companySlug (required), date, page, dateGe, +11 more.
fiken_list_sale_attachmentsB
List attachments for a specific sale
Inputs: saleId (required), companySlug (required).
fiken_list_sale_draft_attachmentsB
List attachments for a specific sale draft
Inputs: draftId (required), companySlug (required).
fiken_list_sale_draftsC
List sale drafts for a company
Inputs: companySlug (required), page, pageSize.
fiken_list_salesC
List sales for a company. Amounts are in cents.
Inputs: companySlug (required), date, page, dateGe, +12 more.
fiken_list_time_entriesC
List time entries for a company
Inputs: companySlug (required), date, page, dateGe, +7 more.
fiken_list_time_usersA
List users who can log time for a company
Inputs: companySlug (required), page, pageSize.
fiken_list_transactionsB
List transactions for a company. Amounts are in cents.
Inputs: companySlug (required), date, page, dateGe, +4 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 61 tools
Every tool has a clearly distinct purpose: get tools retrieve a single resource by ID, list tools enumerate collections. There is no overlap or ambiguity between tools.
All tools follow a consistent 'fiken_<verb>_<resource>' pattern, using 'get' for single items and 'list' for collections. Naming is uniform and predictable.
61 read-only tools is excessive for the apparent scope. While the server covers many resources, the count feels bloated and could overwhelm users or agents.
The server provides comprehensive read access (get and list) for all major resources, but completely lacks create, update, or delete operations. This is a significant gap for most accounting workflows.
Maintenance
Related MCP Connectors
Fiken MCP server for ChatGPT, Claude and any AI agent: create invoice, send invoice, book purchase, add contact and list unpaid invoices in your own Fiken account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Fiken yourself; Cotlet does not store your password and you need no Fiken API key. About the official Fiken API: Yes, Fiken has a documented REST API (v2) for invoices, sales, purchases, contacts, offers, credit notes and attachments (checked 14 Oct 2026), but it is a paid add-on: 99 NOK per month for a company registered in Brønnøysundregistrene. Apps that serve other companies must register an OAuth2 app, and Fiken publishes no MCP server of its own. Setup and FAQ: https://cotlet.dev/integrations/fiken-api-mcp-server
MCP server for Codat — companies, connections, invoices, bills and financial statements.
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceMulti-tenant MCP server connecting accounting software to AI assistants via ~87 tools. Supports Bokio (Swedish accounting) with mock mode for development.-
- AlicenseBqualityCmaintenanceRead-only MCP server for self-hosted Manager.io bookkeeping, providing curated GET tools to access accounting data like invoices, balances, and reports.1032 PyPI1MIT
- AlicenseNot gradedqualityCmaintenanceA read-only MCP server for the NuMetric.work accounting/POS/ERP platform, exposing 38 tools to query live business data such as financial statements, invoices, taxes, projects, inventory, and documents. It enables AI assistants to answer from real accounting data without any create, edit, or delete capabilities.MIT
- AlicenseAqualityDmaintenanceMCP server for ReAI, the Norwegian cloud accounting system, enabling AI agents to read books, look up accounts and VAT codes, and perform bookkeeping through a curated toolset with safety guardrails.12MIT