MCP Server
OpenZac runs a remote MCP server that gives your AI assistant direct access to sales tax allocation data. Nothing to install: add the server URL to your assistant and log in.
Server URL
https://open.zactax.com/mcp
The server uses the Streamable HTTP transport.
Authentication
You need a free OpenZac account. Sign up here if you don't have one.
There are two ways to authenticate:
- OAuth (recommended). Add the server URL to your assistant. The first time it connects, your browser opens the OpenZac login page. Log in and click Authorize. Your assistant handles the tokens from there.
- API key. Send an API key as a Bearer token in the
Authorizationheader. Use this for assistants or scripts that don't support OAuth.
Setup
Claude Desktop and claude.ai
- Open Settings → Connectors.
- Click Add custom connector.
- Enter the name
OpenZacand the URLhttps://open.zactax.com/mcp. - Click Connect, then log in and authorize OpenZac in your browser.
Claude Code
claude mcp add --transport http --scope user openzac https://open.zactax.com/mcp
Then run /mcp inside Claude Code, select openzac, and log in.
To use an API key instead:
claude mcp add --transport http --scope user openzac https://open.zactax.com/mcp \
--header "Authorization: Bearer {token}"
Codex CLI
Add to ~/.codex/config.toml:
[mcp_servers.openzac]
url = "https://open.zactax.com/mcp"
Then log in:
codex mcp login openzac
To use an API key instead, set bearer_token_env_var to the name of an environment variable that holds your key:
[mcp_servers.openzac]
url = "https://open.zactax.com/mcp"
bearer_token_env_var = "OPENZAC_API_KEY"
Gemini CLI
Add to ~/.gemini/settings.json:
{
"mcpServers": {
"openzac": {
"httpUrl": "https://open.zactax.com/mcp"
}
}
}
Then run /mcp auth openzac inside Gemini CLI to log in.
To use an API key instead, add a headers object:
{
"mcpServers": {
"openzac": {
"httpUrl": "https://open.zactax.com/mcp",
"headers": {
"Authorization": "Bearer {token}"
}
}
}
}
Other assistants
Any MCP client that supports Streamable HTTP can connect. Use the server URL above. Clients that support OAuth discover the login flow automatically. Other clients can send an API key as a Bearer token.
Tools
| Tool | Description |
|---|---|
query_jurisdictions |
Search cities, counties, transit authorities, and special purpose districts in Texas and California. Returns the IDs used by the other tools. |
query_texas_allocations |
Texas sales tax allocations, with year-over-year deltas, 12-month trends, and year-to-date totals. |
query_california_allocations |
California sales tax allocations, with the same statistics. |
Example
Once connected, ask your assistant a question about OpenZac data. For example: "How did Austin, Texas' sales tax perform in 2025?" should generate:
- A call to the
query_jurisdictionstool, searching for "Austin" instate"tx" to get the OpenZac ID for that city - A call to the
query_texas_allocationstool to fetch the sales tax allocation data
With the data in hand, the assistant can summarize and answer your question.
NOTE: As with any AI system, please double check anything you see. Our MCP server helps to ground the AI platform with a source of truth, but that doesn't mean it's always going to be 100% accurate.
Rate limits
The MCP server allows 120 requests per minute for each user.