“Which quotes are due a follow-up this week?”
Run your business from OpenAI
Codex and the OpenAI Agents SDK can launch Zulu’s MCP server on your machine, so the agent works your CRM, invoices, stock and purchase orders in plain language. ChatGPT connectors need a remote MCP URL, which Zulu does not publish.
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
Add Zulu to Codex or the Agents SDK
ChatGPT connectors need a remote HTTP MCP URL, and Zulu does not publish one. Use Codex or the OpenAI Agents SDK instead — both can start the local stdio server. From a terminal: codex mcp add getzulu --env ZULU_API_TOKEN=zulu_… -- npx -y @getzulu/mcp. The same command and environment variable belong in ~/.codex/config.toml, which the Codex CLI, desktop app and IDE extension share. The Agents SDK starts the same process with MCPServerStdio. Node.js 18 or newer is required on that machine.
- 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 OpenAI.
Copy the config, swap in your token, and keep the token in the environment — not in the chat.
This is Codex and the Agents SDK, not a ChatGPT plugin. Zulu publishes no remote HTTP MCP endpoint, so ChatGPT’s connector directory cannot install it. 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.
# Codex CLI codex mcp add getzulu \ --env ZULU_API_TOKEN=zulu_… \ -- npx -y @getzulu/mcp # Or ~/.codex/config.toml — shared by the CLI, desktop app and IDE [mcp_servers.getzulu] command = "npx" args = ["-y", "@getzulu/mcp"] [mcp_servers.getzulu.env] ZULU_API_TOKEN = "zulu_…" # codex mcp list · /mcp inside the Codex TUI
# OpenAI Agents SDK (Python) — local stdio import os from agents.mcp import MCPServerStdio zulu = MCPServerStdio( name="Zulu", params={ "command": "npx", "args": ["-y", "@getzulu/mcp"], "env": { "ZULU_API_TOKEN": os.environ["ZULU_API_TOKEN"], }, }, )
# 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 Codex and the Agents SDK, @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.
Can I add Zulu as a ChatGPT connector?
Not today. ChatGPT connectors need a remote HTTP MCP server. @getzulu/mcp is a local stdio process only — there is no hosted MCP URL to paste in. Use Codex (codex mcp add, or ~/.codex/config.toml) or the OpenAI Agents SDK (MCPServerStdio). Those clients start the server on your machine.
Use Zulu in another agent.
Same server, same token. Pick the client you already have open.
Put OpenAI on your Zulu data.
Free trial, no credit card. Create a token under Settings, then API, and add the connector.