Onboard an AI agent
Help your coding agent understand the workspace before it changes customer data or sends an email. Choose the connection that fits your agent, create an API key, and start with a read request.
| Path | Use it when | Ships in |
|---|---|---|
| Agent skills | Your agent runs commands and writes code (Claude Code, Cursor, Codex, Gemini CLI). | maxclicks-ai |
| MCP server | Your host speaks the Model Context Protocol and needs typed tools. | maxclicks-mcp |
| CLI | You want JSON-first commands in a terminal, a script, or an agent shell. | maxclicks-cli |
Skills and MCP work well together. Install the skills so the agent knows how your data is shaped and which calls to make, then give it the MCP tools or the CLI to actually make them.
Get an API key
Create a key in the app under a space's Settings, in Developers, on the API keys tab. It is shown once, and it ties whatever you connect to that one space. Every path below sends it as a bearer token against https://api.maxclicks.ai/v1. Authentication covers the rest: how a key resolves to a space, which role is needed for which call, and what to do if you lose one.
Set it in the environment, or store it with the CLI:
export MAXCLICKS_API_KEY=max_...
Install the agent skills
The maxclicks-ai repo ships 13 agent skills that teach any skills-compatible agent how maxclicks data is shaped and how to use the CLI, the SDKs, and the API. The maxclicks skill loads on any maxclicks task, and the other twelve each cover one area of the product. Agent Skills lists them all and says what each one is for, so you know which to reach for.
npx skills add https://maxclicks.ai
npx skills add reads https://maxclicks.ai/.well-known/skills/index.json and installs the skills into your agent. Update later with npx skills update -y. The skills drive the maxclicks CLI for terminal work, so install that too (see below).
Connect the MCP server
The maxclicks-mcp server turns the Public API into tools your agent can call over the Model Context Protocol. Use the hosted endpoint, or run it locally over stdio.
Hosted (streamable HTTP): https://mcp.maxclicks.ai/mcp. Send your key as Authorization: Bearer max_....
Local (stdio): run npx -y maxclicks-mcp with your key in MAXCLICKS_API_KEY. The MCP server page has a Claude Desktop config you can paste in as is.
maxclicks-mcp is not published to npm, so npx -y maxclicks-mcp does not
resolve. Use the hosted endpoint until it ships.
Either way, start the agent on list_schemas and list_attributes so it learns how your data is shaped before it writes anything. It can read your schemas and attributes but not create them: you build those in the app, where a mistake can be reviewed and corrected, and the agent reads them back. Email content splits the same way, so the agent sends what you wrote in the editor, though it can still rename a broadcast, change its audience or its schedule, and send it. The MCP server page names every tool it gets.
Use the CLI
The maxclicks-cli wraps the Public API v1. Every command prints JSON to stdout and a structured error to stderr, so it composes with jq and with agents. Requires Node.js 18+.
Install
npm install -g maxclicks-climaxclicks-cliis not published to npm, so this command does not resolve. Use the Public API or the hosted MCP server until it ships.Authenticate
maxclicks config set-key max_... # stored at ~/.config/maxclicks/config.json maxclicks whoami # confirm the key and its spaceOr set
MAXCLICKS_API_KEY. Use--profile <name>to keep multiple spaces.Run
maxclicks schemas list maxclicks records upsert students --data '{"email":"[email protected]","firstName":"Ada"}'
The API can read schemas and attributes but not write them, so run maxclicks schemas list and maxclicks attributes list <schema> before writing anything. Records are flat: put base fields and your own attribute keys at the top level. Prefer upsert over create, because upsert matches on the record's identity and updates one record instead of failing. See the CLI reference for every command.
For application code, use a maxclicks SDK (Node, Python, Go, PHP, Ruby, Java, Rust, Elixir) instead of shelling out to the CLI. Check that page first: registry releases are still pending, so an SDK may not install with its documented command yet.