Dealbook
Documentation
Connect agents and your own systems to Dealbook: the MCP server, the REST API, the CLI and the Claude plugin.
Surfaces
Everything goes through the same core and the same access as the app. One API key works everywhere.
| MCP | https://mcp.dealbook.no/mcp (Streamable HTTP, stateless) |
|---|---|
| REST | https://api.dealbook.no/v1 |
| CLI and SDK | @companybook/dealbook on npm |
| Claude plugin | github.com/0-1-no/dealbook-plugin (skill and MCP setup) |
API key
Create a key under Account ▸ API keys. It starts with dbk_ and is shown once. Send it as Authorization: Bearer dbk_…. A key covers one party or all parties you are a member of. With a key for all parties, choose the party with the Dealbook-Workspace header (id or organisation number) in REST, or the workspace argument on each MCP tool.
The limit is 120 calls per minute per key. Above it Dealbook answers 429 with Retry-After.
MCP
Claude Code
claude mcp add --transport http dealbook https://mcp.dealbook.no/mcp --header "Authorization: Bearer $DEALBOOK_API_KEY"Cursor and other clients with headers
{
"mcpServers": {
"dealbook": {
"url": "https://mcp.dealbook.no/mcp",
"headers": { "Authorization": "Bearer dbk_…" }
}
}
}claude.ai and ChatGPT
Add https://mcp.dealbook.no/mcp as a connector and sign in with your Companybook account (OAuth). You get the catalog surface below. Sign-in currently gives read access; to create drafts from an agent, use a key.
Two tool sets
With a key you get the full tool set: agreements, signing, the share register, the articles of association, the board, board minutes and board meeting notices. Tools that send email say so in their description and should only be called after you have said yes.
The catalog surface is the tool set for ChatGPT, Claude and other directories. It has no tools or fields for national identity numbers, sends no email or signing links and has no tools that remove, void or roll back. The agent creates the draft and gives you the link to the app, where you send it. You can try it with a key by sending the header Dealbook-Surface: catalog.
Every tool has a title and the annotations readOnlyHint, destructiveHint and openWorldHint, so the client can ask for confirmation before anything that changes, replaces or shares what exists.
REST
curl https://api.dealbook.no/v1/me -H "Authorization: Bearer $DEALBOOK_API_KEY"
curl https://api.dealbook.no/v1/agreements -H "Authorization: Bearer $DEALBOOK_API_KEY"The agreement data layer is a JSON Schema at api.dealbook.no/v1/schema (public, no key). Each smart document has its own schema, for example /v1/share-registers/schema. Errors always have the shape { "error": { "code", "message", "fields" } } with the codes invalid, unauthorized, forbidden, not_found, conflict, limit and rate_limited. Messages are in Norwegian.
CLI
npx -y @companybook/dealbook login # paste the key
dealbook send agreement.json --pdf agreement.pdf # shows the recipients, sends nothing
dealbook send agreement.json --pdf agreement.pdf --yes
dealbook status 3fgfa34dealbook --help lists every command, and --json gives machine-readable output. The key is never taken as an argument.