# Model Context Protocol (MCP)

The [Model Context Protocol](https://modelcontextprotocol.io) (MCP) is an open standard that lets AI assistants like Claude, ChatGPT, and Cursor call external tools and read data from your systems. Moneybird ships an official MCP server so an assistant can work directly with contacts, invoices, financial accounts, time entries, and the rest of your administration, authorized through OAuth.

## When to use MCP

Reach for MCP when you want an AI assistant to answer natural-language questions about your books, draft invoices or contacts from a conversation, or reconcile data across tools the assistant is connected to. For deterministic, always-on automations, call the API directly or use the [CLI](/tools/cli). MCP shines where a human is in the loop with an assistant.

## Endpoints

Moneybird exposes two MCP endpoints. Pick the one that matches the level of access you want to grant the assistant:

| Mode | URL | Access |
|------|-----|--------|
| Read-only | `https://moneybird.com/mcp/v1/read_only` | Retrieve data; no modifications |
| Read-write | `https://moneybird.com/mcp/v1/read_write` | Retrieve, create, and update data (deletion is not supported) |

Both endpoints use OAuth. When the assistant first connects, you authorize the connection in Moneybird and choose which administration to expose.

## Setup

Setup happens inside your assistant: Claude Desktop, ChatGPT, Cursor, or any other client that speaks remote MCP. Moneybird's end-user documentation has step-by-step instructions with screenshots and copy-paste snippets for each supported client:

[AI-koppeling (helpcenter.moneybird.nl)](https://helpcenter.moneybird.nl/nl/articles/396511-ai-koppeling)

## Custom clients

If you're building your own client or agent that can't use OAuth, call the Moneybird API directly with a personal API token. See [Authentication](/authentication) for details. The community-maintained [`moneybird-mcp-server`](https://github.com/vanderheijden86/moneybird-mcp-server) wraps token-based access in an MCP server you can self-host.

## Security considerations

- Start with `read_only` and move to `read_write` only when the assistant actually needs to make changes.
- Review assistant-drafted changes before confirming them, since MCP tools can write as well as read.
- Revoke the connection from Moneybird if the machine running the client is lost or compromised.

## Next steps

- Browse the full [API Reference](/api) to see what the assistant has access to
- Prefer scripting over conversation? Use the [CLI](/tools/cli) for the same access surface from a terminal
