folio-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FOLIO_API_KEY | Yes | Your Folio API key, create one at app.folio.no/til/api-tilgang | |
| FOLIO_API_URL | No | Optional URL for mock API or custom endpoint (default: https://api.folio.no/v2/api) | |
| MCP_AUTH_TOKEN | No | Bearer token for HTTP transport auth (optional, only if using remote HTTP server) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_accountsA | List all Folio bank accounts with current balance, type (Card, Earmarks, Operational, Tax, Savings) and data-freshness timestamps. |
| get_account_balanceA | Get the incoming (start of day) and outgoing (end of day) balance for an account on a given date. |
| list_transactionsA | List booked transactions in a date range, optionally scoped to one account. Amounts are decimal strings. Set includeMerchants to resolve merchant details (only supported when not scoped to an account). |
| get_transactionA | Get a single transaction by its id, including attachments and ledger category. |
| list_eventsA | List events — anything that is or will become a transaction (card authorizations, payments in flight, booked transactions). Use this to find items missing receipts, purpose or other documentation (complete=false). |
| update_eventA | Update purpose, note, participants and/or ledger category on an event. Omitted fields are unchanged; an empty string removes the value (ledger category cannot be removed, only overwritten). The event's 'complete' flag is re-evaluated against the ledger category's requirements. |
| set_event_completionA | Mark an event as complete (all documentation present) or remove a previously set completion. Note: another system may independently consider it complete. |
| upload_attachmentA | Upload a receipt/invoice (PDF, PNG or JPEG file from the local filesystem) as an attachment on an event. |
| download_attachmentA | Download an attachment (receipt/invoice) to a local file. Type 'original' is the uploaded file, 'cropped' is auto-cropped, and 128x128/256x256/512x512 are square image thumbnails. Small images are also returned inline. |
| get_ledger_categoryB | Get a ledger category by id: account number/name (Norsk Standardkontoplan NS4102), VAT code/rate, and which documentation (attachment, purpose, participants) is required for an event to be complete. |
| list_paymentsB | List payments in a date range with state (Draft, InProcess, Completed, Cancelled, Rejected, RetryingInsufficientFunds). |
| get_paymentA | Get a single payment by id, including its current state. |
| create_paymentA | Create a new payment. The payment is created as a Draft and must be approved/signed by the user in the Folio app before any money moves. Either kid or message may be set, not both. Foreign (non-NOK) payments require foreignPaymentInfo. |
| cancel_paymentA | Cancel (soft-delete) a payment. It remains visible with status Cancelled and cannot be re-approved by the user. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool targets a distinct resource or action (payments, events, transactions, accounts, ledger categories, attachments) with clear descriptions, making ambiguity minimal.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_payment, upload_attachment), with no mixing of conventions.
14 tools is well-scoped for a personal finance server, covering essential operations without being overwhelming or too sparse.
Covers core CRUD-like operations for payments and events, plus attachments and account info; minor gaps like no list ledger categories or update payment are noticeable but not critical.