bizinly.
Let’s talk business

DEVELOPERS

Connect with MCP

Read and write your Bizinly data from your own AI assistant or tooling, over MCP.

Bizinly exposes its own data — customers, documents, payments, appointments and more — as a set of tools over the Model Context Protocol (MCP), so an AI assistant (Lucy, Claude, ChatGPT, or any MCP-compatible client) can search, create and update a workspace's data directly, with the same permission checks and audit trail as a person clicking through the app.

For the step-by-step, non-technical version of this — connecting Lucy, Claude or ChatGPT from the app itself — see Connect Bizinly to your own Lucy and What Lucy can do in your workspace (this page's tool table, in plain language).

Endpoint

POST https://<your-workspace-domain>/api/mcp

A stateless, JSON-RPC endpoint following the MCP Streamable-HTTP transport: initialize, tools/list, tools/call, ping.

Authenticating

API key (recommended for your own tools)

  1. In Bizinly, open Settings → Company → Lucy connection and press Create API key. Copy it — it is shown once.
  2. Call the endpoint with Authorization: Bearer <your key>.
  3. The key acts as whichever person created it, with exactly that person's own permissions — nothing more.
curl -X POST https://<your-workspace-domain>/api/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <your key>" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Without a valid key, every call returns 401 with a JSON-RPC error.

OAuth (for Claude, ChatGPT and similar connectors)

Clients that discover connectors automatically — rather than accepting a pasted key — can add https://<your-workspace-domain>/api/mcp directly as a custom connector. Bizinly implements the standard OAuth discovery and authorization flow (protected-resource and authorization-server metadata, dynamic client registration, PKCE); signing in and pressing Allow issues the same kind of API key as above, scoped to the person who approved it, and it appears in Settings → Company → Lucy connection alongside any key created by hand, so it can be revoked the same way.

Only an active member of the workspace can complete this flow — a Bizinly account that is not part of the business is refused.

Tools

Every tool is permission-checked exactly as the matching screen or button is, and every write is recorded in the workspace's own activity log. A key issued to a person with no role, or without the specific permission a tool needs, gets a clear refusal rather than a partial result.

Tool What it does
search_customers Search customers by name or code.
get_customer A customer's full profile: details, addresses, contacts and open documents.
search_documents Search quotes, orders, invoices, proformas, credit notes and pipeline deals, with filters (type, status, company, date range, unpaid only).
get_document Full detail of one document: header, lines, totals, payments and related documents.
create_document Create a draft quote, order, invoice, proforma, credit note, or a pipeline deal. Takes a customer (by id, or a name to quick-create), lines, and optional header fields.
update_document_lines Replace a draft document's lines (refused once it is issued or closed).
set_document_status Move a document to an allowed status — the same rules the status menu enforces; for a deal, this moves it between pipeline stages.
issue_invoice Issue a draft invoice or credit note: assigns its number and locks it.
record_payment Record a payment against an invoice.
create_credit_note Create a credit note against an issued invoice.
clone_document Clone a document as a new draft of the same type.
email_document E-mail a document's PDF, the same as the app's E-mail action.
link_documents Manually link two documents of different types.
post_message Post a message to a document's internal team conversation.
outstanding_summary Open and overdue invoice totals, overall and per customer.
sales_summary Totals by document type and status, for a period.
draft_reminder Draft a payment-reminder e-mail for an unpaid invoice, with the real numbers filled in.
list_appointments Appointments for one document, or across a date range, optionally narrowed to one team member.
schedule_appointment Book an appointment on a document, optionally assigning a team member.
export_customers / export_products Export rows as JSON or CSV — see Import & export formats.
import_customers / import_products Import rows, with a dry run by default so nothing is written until the caller confirms the plan.

Call tools/list for the exact, current input schema of every tool — this list is a summary, not a substitute for it.

Good practice

  • Prefer a separate key per integration or person, and revoke a key the moment it is no longer needed.
  • Import tools default to a dry run — always show the plan to a human before calling again with the real write.
  • Treat the key like a password: it is a full-account credential scoped to whoever created it, not a limited, read-only token.

Related: Overview & architecture, Import & export formats, Connect Bizinly to your own Lucy.

Book a live demo Back to the docs