Connect AI clients to your workspace
Add Zanfia as an MCP server in Claude, Cursor, or any MCP-capable client and let it read and manage your workspace.
Zanfia exposes a hosted Model Context Protocol server. Add it to any MCP-capable AI client — Claude Code, Claude Desktop, Cursor, VS Code, Codex — and the assistant gets typed tools to read and act on your workspace: list products, write course lessons, create offers, post in your community, pull sales stats.
Beta endpoint
During the beta the server runs at
https://app.zanfia.com/mcp (Streamable HTTP transport). The production URL
will be announced before general availability.
Authentication
The server authenticates with the same bearer tokens as the API: create a scoped API key and send it as an Authorization: Bearer header. Tool access follows the key's scopes — read tools need the matching *:read scope, write tools *:write.
Add it to your client
Claude Code:
claude mcp add zanfia --transport http https://app.zanfia.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
Cursor / VS Code / Claude Desktop (JSON MCP config):
{
"mcpServers": {
"zanfia": {
"type": "http",
"url": "https://app.zanfia.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Codex (OpenAI Codex CLI) — add to ~/.codex/config.toml (or a project-scoped .codex/config.toml), with the API key exported as an environment variable:
[mcp_servers.zanfia]
url = "https://app.zanfia.com/mcp"
bearer_token_env_var = "ZANFIA_API_KEY"
export ZANFIA_API_KEY="YOUR_API_KEY"
You can also manage the entry from the terminal with the codex mcp subcommand (codex mcp list, codex mcp add, …) instead of editing the TOML by hand.
Available tools
The server exposes the full Workspace API surface as ~90 tools. Read tools require the matching *:read scope, write tools *:write — products, offers, courses, media, clients, orders, stats, and discounts sit under the products scope; pages and communities under their own.
| Area | Read tools | Write tools |
|---|---|---|
| Products | list-products | create-product · update-product-info · update-product-status |
| Offers & prices | list-checkouts · get-checkout · list-product-prices | create-checkout · update-checkout · publish-checkout · duplicate-checkout · set-default-checkout · add-checkout-price · update-checkout-price · delete-checkout-price · reorder-checkout-prices |
| Order bumps | list-order-bumps | create-order-bump · update-order-bump · delete-order-bump · attach-order-bump · detach-order-bump |
| Courses & quizzes | get-course-content · get-course-lesson · list-quiz-questions | add-course-module · update-course-module · delete-course-module · add-course-lesson · update-course-lesson · update-lesson-content · delete-course-lesson · set-course-lessons-status · reorder-course-modules · reorder-module-lessons · add-quiz-question · update-quiz-question · delete-quiz-question · reorder-quiz-questions · update-quiz-settings |
| Media library | list-media · get-media · list-media-folders | delete-media · create-media-folder · delete-media-folder |
| Pages | list-pages · get-page | create-page · update-page · publish-page · delete-page · set-main-page |
| Communities | list-communities · list-community-channels · list-channel-posts · list-channel-messages · list-post-comments | create-community-post · create-post-comment · create-channel · update-channel · delete-channel · create-community-group · update-community-group · delete-community-group · move-community-node |
| Clients & orders | list-clients · get-client · list-orders · get-order | create-client · update-client · change-client-email · grant-client-access · revoke-client-access · change-client-access-period |
| Stats | get-stats-overview · get-recurring-report · get-mrr-history · get-funnel-report · get-traffic-report · get-sessions-report · get-product-stats | — |
| Discounts | list-discounts | create-discount · update-discount · archive-discount · delete-discount |
Destructive tools (deletes, access revocation) say so in their descriptions, so a well-behaved assistant will confirm before using them. File and video uploads are deliberately not MCP tools — binary payloads don't fit tool calls; use the CLI or API for uploads, then reference the media id from MCP.
Scope the key to the job
The assistant can do everything its key allows. Give a read-only key
(products:read, communities:read) to assistants that only analyze
and summarize, and reserve write scopes for assistants you actively supervise.
MCP, CLI, or raw API?
- MCP — best when a person chats with an AI client and wants it to act on the workspace directly.
- CLI — best for terminal-based agents, scripts, and CI; also the route for file and video uploads, which MCP deliberately doesn't do.
- Raw API — best for your own integrations and backends.
All three are the same underlying platform with the same permissions model, so you can mix them freely.
Was this article helpful?

