“Which quotes are due a follow-up this week?”
Run your business from any MCP client
Any MCP client that can start a local stdio server can run @getzulu/mcp. One command, one token, the same Zulu API. Clients that only accept a remote URL cannot connect yet.
Set up in a few minutes.
Create a token, add Zulu to the agent, then ask it something real.
- 01
Create a Zulu account and an API token
Start a free trial — no credit card. Sign in to Zulu, open Settings, then API, and create a token. It begins with zulu_. You will pass it to the connector as the environment variable ZULU_API_TOKEN.
- 02
Point the client at the stdio server
If the client can start a local process, set the command to npx, the arguments to -y and @getzulu/mcp, and the environment variable ZULU_API_TOKEN to your token. That is the same shape Claude Desktop and Cursor use. If a client only accepts a remote https URL, it cannot connect yet — Zulu does not publish an HTTP MCP endpoint. Node.js 18 or newer is required where the process runs.
- 03
Ask your first question
Ask “What Zulu account am I connected to?” to confirm the connector. Then try a real job: which quotes need a follow-up, who has not paid, or what stock is running low.
Add Zulu to Any MCP client.
Copy the config, swap in your token, and keep the token in the environment — not in the chat.
There is no hosted MCP URL to paste into a client that only speaks HTTP. Use a stdio client, Codex, or the OpenAI Agents SDK. Both packages cover the full API, reads and writes, and are generated from the OpenAPI spec. Set ZULU_READONLY=1 in the same environment when an agent should look and never change data. Node.js 18 or newer is required on the machine that launches the server.
# Generic MCP config — local stdio, not a remote URL { "mcpServers": { "getzulu": { "command": "npx", "args": ["-y", "@getzulu/mcp"], "env": { "ZULU_API_TOKEN": "zulu_…" } } } }
# Same token, from the terminal npm install -g @getzulu/cli getzulu setup # prompts for your API token getzulu tenant info getzulu client list --search acme getzulu invoice list --status unpaid getzulu list # every command — writes marked ✎
Just tell your agent what you need.
Plain language, against your live Zulu data. These ask for things the API can do today.
“Log a call on Acme Pumps, then invoice 2 × PUMP-200.”
“What's running low? Draft the purchase orders.”
“Create these 20 products from my spreadsheet.”
“Who hasn't paid in 30 days?”
“What Zulu account am I connected to?”
Quotes and sales orders can be read and tracked. Creating or sending them is not on the API yet. Invoices, products, purchase orders, contacts and notes can be created.
Questions, answered.
Do I need a Zulu account?
Yes. The connector uses an API token from a Zulu account you control. Start a free trial (no credit card), sign in, and create a token under Settings, then API. The token begins with zulu_. An agent can also open the account through the public API — POST /account/signup, then POST /account/verify — and receives a key scoped to that user.
Is there a cost per call?
No. The API, the MCP server and the CLI are included in every Zulu plan. There is no per-agent fee and no per-call charge. Authenticated requests are limited to 60 per minute per key (configurable, with higher allowances on request). Over that limit the API returns HTTP 429.
Is my data safe?
Yes. Every call uses a bearer token scoped to one user. On a local stdio MCP client, @getzulu/mcp runs as a local process (stdio) and reads ZULU_API_TOKEN from the environment, so the token stays on that machine — keep it out of the chat. Revoke it any time under Settings, then API. Set ZULU_READONLY=1 to expose read tools only. Read tools are marked readOnlyHint and deletes carry destructiveHint, so the client can ask before it changes or removes data.
Which modules can the agent use?
The MCP server and CLI are generated from the OpenAPI spec, so they match the API. Live today: CRM contacts (including contact people and addresses), notes, opportunities, invoices, the product catalogue, suppliers, purchase orders, job cards, website posts, stock levels and adjustments, and file uploads. Forms can be read. Quotes, sales orders and product batches can be read and tracked. Creating or sending quotes and orders is not on the API yet, and point of sale, subscriptions, scheduling and several other modules are still coming to the API. The For AI agents page and each module page mark what is live.
My client asks for an MCP URL. What do I enter?
Nothing — Zulu does not publish a remote HTTP or SSE MCP endpoint. @getzulu/mcp is stdio only: the client has to launch npx -y @getzulu/mcp and pass ZULU_API_TOKEN in the environment. ChatGPT connectors, which require a public URL, are not supported. Codex, Claude, Cursor and the OpenAI Agents SDK can launch the local server.
Use Zulu in another agent.
Same server, same token. Pick the client you already have open.
Put Any MCP client on your Zulu data.
Free trial, no credit card. Create a token under Settings, then API, and add the connector.