folio-mcp
This server lets you interact with your Folio Norwegian business bank account through an AI assistant like Claude, enabling you to read account data, manage transaction documentation, and handle payments.
Account & Balance
List all accounts — view all Folio bank accounts with balances and types (Card, Earmarks, Operational, Tax, Savings)
Get historical balance — retrieve the incoming/outgoing balance for any account on a specific date
Transactions
List transactions — query booked transactions by date range, optionally filtered by account, with optional merchant details
Get a single transaction — fetch full details including attachments and ledger category
Events (Authorizations, In-Flight & Booked)
List events — view all events (card authorizations, in-flight payments, booked transactions), including filtering for incomplete ones missing receipts or documentation
Update event documentation — set or update the purpose, note, participants, and ledger category on an event
Mark events complete/incomplete — manually flag an event as fully documented or remove that flag
Receipts & Attachments
Upload attachments — attach receipt/invoice files (PDF, PNG, JPEG) to an event
Download attachments — retrieve receipts/invoices in various renditions (original, cropped, or thumbnails)
Bookkeeping
Get ledger category — look up account number/name (Norsk Standardkontoplan NS4102), VAT code/rate, and documentation requirements
Payments
List payments — view payments in a date range with their current state (Draft, InProcess, Completed, Cancelled, Rejected, etc.)
Get a single payment — fetch details and current state of one payment
Create a payment draft — create a new payment (NOK or foreign currency) that must be approved in the Folio app before money moves
Cancel a payment — soft-delete a payment, marking it as Cancelled
Click on "Install 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., "@folio-mcpWhat did we spend on advertising this quarter?"
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.
folio-mcp
Talk to your Folio business bank account from Claude.
An MCP server for the official Folio API. It exposes accounts, transactions, receipts, bookkeeping and payments as tools for Claude and any other MCP client.
"Which card purchases from May are still missing receipts?" · "Upload this receipt to the Clas Ohlson purchase" · "What did we spend on advertising this quarter?" · "Draft the June rent payment"
This is an unofficial community project, not affiliated with or endorsed by Folio. The Folio name belongs to its owner and is used here descriptively. Payments created through the API are always drafts that must be approved in the Folio app before any money moves.
Install
You need a Folio API key. Create one at app.folio.no/til/api-tilgang.
Claude Desktop: Download the latest folio-mcp.mcpb from Releases, double-click it and paste your API key. The key is stored in your OS keychain; nothing is sent anywhere except directly to Folio.
Claude Code
claude mcp add folio --env FOLIO_API_KEY=your-key -- npx -y @henrikkvamme/folio-mcpAny MCP client: Run the stdio command npx -y @henrikkvamme/folio-mcp (or bunx) with FOLIO_API_KEY set in the environment.
Related MCP server: freee MCP Server
Tools
Read |
|
Write |
|
Payments |
|
Receipts download as inline images. Ledger categories map to Norsk Standardkontoplan (NS4102) with VAT codes.
Try it without a Folio account
No public sandbox exists, so the repo ships a stateful mock of the API with realistic data:
bun install && bun run mock # mock API on :8787
FOLIO_API_KEY=test FOLIO_API_URL=http://localhost:8787 bun run inspectRemote server (optional)
A Streamable HTTP entry point (Hono, stateless, bearer-auth) for VPS deployment:
MCP_AUTH_TOKEN=$(openssl rand -hex 32) FOLIO_API_KEY=your-key bun run src/http.ts
claude mcp add --transport http folio https://your-host/mcp --header "Authorization: Bearer $MCP_AUTH_TOKEN"⚠️ The API key reads your full account history and can create payment drafts. Prefer local stdio; never expose the HTTP entry without auth.
Development
Bun + TypeScript, @modelcontextprotocol/sdk, zod v4, oxlint/oxfmt, tsdown.
bun install
bun run typecheck && bun run lint # checks
bun run inspect # MCP Inspector
bun run build # npm dist (Node ≥ 18)
bun run mcpb # Claude Desktop bundlesrc/server.ts holds all tool definitions in a createServer() factory shared by both transports (src/stdio.ts, src/http.ts).
License
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/henrikkvamme/folio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server