Developer access

Drive Seneca from your terminal or your agent

Two paths to programmatic Seneca. The sncb CLI runs in any shell or CI pipeline. The MCP server plugs straight into Claude Desktop, Claude Code, Cursor, Codex, and any client that speaks Model Context Protocol. Same data, same OAuth, same EU hosting.

CLI quickstart

Three steps to your first command

  1. 1

    Install

    Runs on Bun. One line, no build step, on your PATH.

    bun install -g @senecabot/sncb
  2. 2

    Sign in

    Use an API token from the Seneca console. Stored at ~/.config/sncb with 0600 perms.

    sncb auth login
  3. 3

    Use it

    Create a page from a Markdown file, publish it, and you are done.

    sncb page create --website my-site \
      --title "Refund policy" --slug refund -f refund.md

MCP quickstart

Three steps to give your agent the keys

The MCP server is a hosted HTTP endpoint. Your AI client handles the OAuth dance the first time you connect - no manual tokens, no config files to keep in sync.

  1. 1

    Add the server

    Point your client at the Seneca MCP endpoint. Streamable HTTP transport, no local proxy needed.

    # Claude Code
    claude mcp add seneca https://app.senecabot.com/api/mcp
    
    # Cursor / Claude Desktop (mcp.json)
    {
      "mcpServers": {
        "seneca": { "url": "https://app.senecabot.com/api/mcp" }
      }
    }
  2. 2

    Authorize

    First call opens your browser to the Seneca login. Approve mcp:read and mcp:write for the org you want the agent to touch.

    # Scopes you'll be asked to grant
    mcp:read   # list & fetch
    mcp:write  # create, update, publish, delete
  3. 3

    Talk to your agent

    Ask in plain language. The agent picks the right tool, you keep the audit trail.

    > Move the "Refund policy" page from the Drafts folder
    > into Support and publish it.

What you can do

Every console action, scriptable or agent-driven

CLI and MCP expose the same surface: anything you can click in the Seneca console. Backups, bulk imports, migrations, scheduled publishes, AI-driven content rewrites - from a shell, a CI pipeline, or a chat with your agent.

Pages from files

Create and update pages from Markdown or HTML files (or stdin). Versions are kept automatically, revert is one command.

Folders and structure

Build the help-centre tree from a script. Move pages between folders, reorder siblings, publish or unpublish in bulk.

Agents and design

Update agent system prompt, language. Change design scheme and brand colors without opening the dashboard.

History and revert

List every saved version of a page and revert to any of them. Safer than git revert for content.

Plug into your agent

Two ways to hand an agent the keys

Choose the CLI when your agent already lives in a terminal (Claude Code, Codex, shell scripts in CI). Choose the MCP server when the agent runs inside Claude Desktop, Cursor, or any chat UI that registers MCP tools. Both flow through the same OAuth, same scopes, same audit log.

Example prompt to your agent

Add a page "Refund policy" under the Support folder of website acme-help, publish it, and tell me the new URL.

# CLI path
$ sncb page create --website acme-help \
    --title "Refund policy" --slug refund \
    --parent support -f refund.md -o json
$ sncb page publish <id> -o json

# MCP path - the agent calls these tools directly
create_page(website_id, title, slug, parent_id, content)
publish_page(page_id)

Public REST API

Built on the same API

Every sncb command and every MCP tool is a call to the public REST API. Same token, same scopes, same shapes. If you need a custom integration outside CLI or MCP, read the spec.

Read the API docs

Two lines to start

sncb is open source on npm; the MCP server is hosted, OAuth-authenticated, and ready when you are.

$ bun install -g @senecabot/sncb
https://app.senecabot.com/api/mcp

Resources