AI agents & MCP

An agent connected to Snapi isn't just a script with API access — it's someone you can assign a card to. Give it an API key with a name, put that name in a card's "assigned to" field, and it can check the board for what's its and work it. Snapi's MCP server is live at https://api.snapi.ca/mcp; any MCP-compatible assistant — Claude, Cursor, Windsurf, n8n agents, and others — connects to it and can read and write your workspace through natural language: pages, records, kanban boards, comments, and file attachments.

What is MCP?

The Model Context Protocol is an open standard that lets AI assistants call tools on external systems. Instead of building prompt engineering hacks, you configure an MCP server once and the AI gets structured, reliable access to your data.

Snapi's MCP server exposes your pages, records, and boards as tools the AI can invoke. The assistant can answer questions like "How many leads came in this week?" or "Move record X to the Approved column" without you writing a single line of code.

Connecting

The server speaks MCP's Streamable HTTP transport at https://api.snapi.ca/mcp and authenticates with a Snapi API key sent as a header — either Authorization: Bearer snapi_... or X-API-Key: snapi_.... Get a key from Settings → API Keys and give it an access level: what the key may do is what the agent may do.

Claude Code (CLI)

claude mcp add --transport http snapi https://api.snapi.ca/mcp \
  --header "Authorization: Bearer snapi_your_key_here"

Claude Desktop

Claude Desktop connects to remote servers through a local bridge. Add to claude_desktop_config.json:

{
  "mcpServers": {
    "snapi": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote", "https://api.snapi.ca/mcp",
        "--header", "Authorization: Bearer snapi_your_key_here"
      ]
    }
  }
}

Other MCP hosts (Cursor, Windsurf, n8n, custom)

Any host that supports HTTP-based MCP servers just needs the URL and the auth header:

URL:    https://api.snapi.ca/mcp
Header: Authorization: Bearer snapi_your_key_here
i
Access levels. The key's level caps the agent: Viewer = read-only, Editor = create/update records, move and remove kanban cards, comment, attach files, Admin = editor plus create/edit/delete pages and boards. Viewer and Editor reads of a page never include its webhook URLs, methods, or headers — only Admin+ sees the wiring. Use the whoami tool to see the effective level. See API keys.

Available MCP tools

Connected assistants get 71 tools. The agent discovers them automatically — this list is for planning which access level a task needs.

whoami
The acting identity, its access level, and what that level allows. Viewer+
list_forms · get_form
All pages with field schemas / one page in full detail. Viewer+. Webhook URLs, methods, and headers are stripped from the response below Admin — Viewer/Editor still get everything needed to render or fill a record, just not the wiring.
create_form · update_form · delete_form
Create or reshape page schemas, including pre/post/onload webhook URLs, methods, and headers, and persist_records (default true — set false for a pass-through page that fires webhooks but saves nothing, see Webhooks); delete removes the page and its records. A table/chart field can set dataSourceEntityId to read a different page's records directly, no onload webhook required — see Field types. Admin
list_records · get_record · get_record_history
Search/paginate records, fetch one with its schema and card placements, read the audit log. Pass assigned_to: "me" to list_records to see only what's assigned to you — how an agent checks its own queue instead of the whole board. Viewer+
create_record · update_record
Create records (fires the page's webhooks, lands on its default board) and merge-update field values. Editor+
delete_record
Permanently delete a record with its files and comments. Admin
list_boards · get_board
Boards with columns / one board with all its cards. Viewer+
create_board
Create a board, with custom columns in one call or the To Do/In Progress/Done default. Boards are structure, like a page's schema — Admin, not Editor.
add_card_to_board · move_card · remove_card
Place a record on a board, advance cards through columns, take a card off a board (the record always survives — remove_card only unlinks it, never deletes). All content actions, all Editor+.
list_unassigned_records
Records with no card on a given board — how to find one after remove_card so you can put it back with add_card_to_board. Entity-bound boards check just that entity; a freeform board checks the whole org instead, capped at 100. Editor+
update_board · delete_board
Rename/re-folder a board; permanently delete a board and its columns/cards (the records on it survive). Admin
create_column · update_column · delete_column · reorder_columns
Add, rename, recolor, reposition, delete, or bulk-reorder a board's columns. Admin
list_comments · add_comment · update_comment · delete_comment
Read and write record comments (reads Viewer+, writes Editor+; agents' comments are attributed to the key).
list_files · upload_file · download_file · delete_file · create_file_folder
Read and write file attachments — upload text or base64, download returns text or base64 (reads Viewer+, writes Editor+).
list_folders · create_folder · update_folder · delete_folder
Organize pages and boards into folders — a folder ("app") can hold both together. Reads Viewer+, writes Admin.
list_themes · create_theme · update_theme · delete_theme
Reusable color presets for public forms. Reads Viewer+, writes Admin.
list_sequences · create_sequence · update_sequence · delete_sequence
Auto-incrementing document-number generators (e.g. TICKET-0001) for "sequence"-type fields. Reads Viewer+, writes Admin.
list_form_users · create_form_user · update_form_user · delete_form_user
Manage portal users — end users who sign in to published forms/apps (Team plan). Reads Viewer+, writes Admin.
list_n8n_webhooks
Browse an n8n instance's workflows and list every webhook-receiving node with its production URL, given a base URL and API key. Admin
list_members · list_assignees · remove_member
See org members and possible record assignees; remove a member with a strictly lower role than the caller. Reads Viewer+, remove Admin.
list_invites · create_invite · revoke_invite
Manage pending org invites (viewer/editor roles only — admins can't invite other admins). Admin
get_organization
The org's name, plan, plan limits, and current usage counts. Viewer+
list_api_keys · create_api_key · revoke_api_key
Manage API keys for agents and integrations. Admin

Example conversations

Once connected, you talk to your data naturally — and your agent can check its own work, not just yours:

You: What's assigned to you on the Support board right now?
Claude: Three cards. Two password-reset requests I can close myself, and one
        refund request I've flagged for you — it's over your $200 auto-approve limit.

You: Handle the two, and move the refund to my column.
Claude: Done. Both reset tickets are closed and commented. The refund request
        is now in "Needs Approval," assigned to you.

You: How many new leads came in this week?
Claude: You received 23 leads this week, up from 14 last week. Most came
        through the website contact page.

You: Create a new contact: Bob Smith, bob@example.com, interested in enterprise plan.
Claude: Created. Record ID rec_8f2c9a for Bob Smith has been added to Contacts.

n8n AI agent integration

If you use n8n for automation, you can expose Snapi to n8n's built-in AI agent node via the REST API. Add Snapi as an HTTP Request tool in your n8n AI agent workflow:

  1. In n8n, create an AI Agent node.
  2. Add an HTTP Request Tool with the base URL https://api.snapi.ca/api/v1.
  3. Set Authorization: Bearer snapi_... as a fixed header.
  4. Describe the tool to the agent: "Use this to read and write Snapi records. GET /entities/:id/records to list, POST /entities/:id/records to create."
!
Plan limits apply. MCP/AI agent access requires the Builder plan or higher — Free has no API access at all. Builder gives you 1 API key; Team and Business give unlimited keys, so running more agents never costs more once you're on Team or above. See Plans & limits.

Security considerations