Skip to content

The same API, as tools an assistant can call

Every tool is a REST v1 call under the connecting person’s grant. Anything that sends or moves money becomes a request, and the connection’s mode — Ask, Plan or Auto — decides who approves it.

MCP server

The rules, in order

01

The endpoint

https://api.billingmart.com/mcp speaks Streamable HTTP, statelessly, protocol 2025-06-18 or later. It authenticates with the OAuth grant described in Authentication. A request without a token gets 401 with a pointer to the discovery document.

02

Tools come from the registry

A connection given every scope an assistant may hold is offered 323 tools: the API operations under their tool names, plus search and fetch. An operation’s tool name is the reference’s “MCP tool” line. Each tool is a REST v1 call made with the connecting person’s grant; the MCP server never reads a workspace’s data any other way.

What each kind of tool may do
EffectAnnotationWhat happens
readreadOnlyHintReturns data. Contact details stay masked without contacts:read.
write—Creates or edits a draft or a record. Nothing reaches a customer.
irreversibledestructiveHintFiles a request. A person approves it, or the owner’s Auto rule does for the kinds it may cover.

03

The tool list follows the grant

tools/list is built from the live grant: its scopes, the person’s role today and the mode. A read-only connection lists no write tools. In Plan, the connection lists read tools only; a write or action you call anyway runs as a dry run and answers planned — nothing is saved, sent or charged. Narrow a grant in the console and the next list is shorter, with the same token.

04

Ask, Plan and Auto

Connection modes
ModeWho sets itWhat a request does
Askthe person connecting (default)waits for a signed-in person to approve
Planthe person connectingdry run: shows what would happen, runs nothing
Autothe workspace owner only, with MFAruns at once if the owner’s capped rule matches it

For a connected assistant, refunds, voids, credit notes, write-offs, card or bank entry, autopay, merges, anything the assistant wrote itself, deleting a workspace, a webhook or a template or theme draft, and every admin kind always need a person, whatever the rule says. That list is in code, not in a setting.

The owner’s rule can cover only a short, closed list of kinds for a connection: sending an invoice or an estimate, sending a reminder that carries no text of its own, capturing a payment with no amount override, renewing a pay link that has expired or been revoked, and deleting a time, expense or mileage entry that is unbilled and was created by that same connection. Opening a bill and billing unbilled work always wait for a person. Every other kind waits for a person too.

05

Tenant text is marked as data

A client can call themselves “ignore your instructions”. Every tenant-supplied string comes back inside an explicit untrusted-data envelope, and tool descriptions never carry tenant data.

06

Connecting an assistant

The step-by-step pages are on Assistants and MCP. If you would rather not connect anything, the BillingMart Agent will run the same tools inside the console.

07

Install the BillingMart skill

The BillingMart Agent Skill tells an assistant how this server works before it connects: the endpoint, the modes and where the live plans are read. It ships from one source through each channel below, and /agent-info.json lists the same channels under skill.

  • Agent Skills index (npx skills)

    https://billingmart.com/.well-known/agent-skills/index.json
    1. npx skills add https://billingmart.com

    A draft discovery convention (agent-skills discovery v0.2.0), not a standard. Installing from it with npx skills has not been verified yet. Each entry carries the sha256 of the file it names.

  • Claude Code plugin marketplace

    https://billingmart.com/claude-plugin/marketplace.json
    1. /plugin marketplace add https://billingmart.com/claude-plugin/marketplace.json
    2. /plugin install billingmart@billingmart

    The plugin carries the skill and the MCP server at https://api.billingmart.com/mcp.

  • ZIP for claude.ai

    https://billingmart.com/skills/billingmart.zip

    Download the ZIP and upload it to claude.ai as a skill. It holds the same files as the index.

  • Public GitHub mirror

    No public address yet.

    Not published yet: there is no repository until the owner creates one.

Next guide

Connect an assistant

Claude and Claude Code, ChatGPT with a custom connector, Gemini Enterprise, Gemini Business and the Gemini CLI. Each page says which steps we have run against the platform and which we have not.

Continue to Connect an assistant →

Try it in your sandbox

A bmk_test_ key reaches only your sandbox workspace.

We use Google Analytics on our website by default to understand visits. Choose Decline to turn it off; you can change this at any time on the Cookies page. We never send Google your name, email or account. Cookie policy