> ## Documentation Index
> Fetch the complete documentation index at: https://docs.navattic.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP server

> Connect AI coding agents to your Navattic workspace using the Model Context Protocol.

The Navattic MCP server gives AI coding agents — such as Claude Desktop, Cursor, VS Code Copilot, and Windsurf — structured access to your workspace. Agents can read analytics, browse and build demos, manage Launchpad share links, and query personalization data, all scoped to your workspace through a Personal Access Token.

<Note>
  The MCP server is available on the Base plan and above.
</Note>

## How it works

You create a Personal Access Token in your workspace settings and provide it to your AI agent's MCP configuration. The agent connects to `https://app.navattic.com/api/mcp` and discovers only the tools it has permission to use based on the token's scopes and your workspace role.

All operations are scoped to your workspace — agents cannot access data from other workspaces, even with a valid resource ID from another workspace.

## Step 1: Create a Personal Access Token

<Steps>
  <Step title="Go to Access Tokens settings">
    Navigate to **Settings** > **Workspace** > **Access Tokens** in your Navattic workspace.
  </Step>

  <Step title="Create a new token">
    Click **Create token**. Enter a name for the token (for example, "Claude Desktop" or "Cursor agent").
  </Step>

  <Step title="Select scopes">
    Choose the scopes your agent needs. Each scope grants access to a specific set of tools:

    | Scope               | What it allows                                                                      | Required role                               |
    | ------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------- |
    | **Analytics**       | View demo performance, visitor data, and account engagement                         | Viewer or above                             |
    | **Demo Browsing**   | Browse projects, flows, and share links                                             | Viewer or above                             |
    | **Demo Building**   | Create flows, edit steps, configure CTAs                                            | Builder or above                            |
    | **Demo Management** | Rename and organize projects; create share links                                    | Builder or above                            |
    | **Demo Publishing** | Deploy and archive projects                                                         | Builder or above                            |
    | **Personalization** | View custom properties and visitor activity                                         | Viewer or above                             |
    | **Launchpad**       | Browse and manage Launchpad share links, interest flows, and recipient visitor data | Viewer or above (Launchpad workspaces only) |

    <Note>
      The **Launchpad** scope is only available in workspaces with Launchpad enabled and is only shown to users with the Launchpad app role. The scope picker will not display it otherwise.
    </Note>

    <Tip>
      Start with Analytics and Demo Browsing — these cover read-only operations. Add write scopes only if your agent needs to create or modify demos.
    </Tip>
  </Step>

  <Step title="Set an expiration">
    Choose a token lifetime: 7, 30, 60, 90, or 180 days. Tokens expire automatically; you'll need to create a new token when one expires.
  </Step>

  <Step title="Copy the token">
    After creating the token, copy it immediately. You won't be able to see it again.

    <Warning>
      Store your token securely. Anyone with the token can access your workspace within the granted scopes.
    </Warning>
  </Step>
</Steps>

## Step 2: Configure your MCP client

After copying your token, connect your AI agent using the Navattic MCP server URL:

```
https://app.navattic.com/api/mcp
```

Use the instructions below for your agent:

<Tabs>
  <Tab title="Claude Desktop">
    Claude Desktop supports adding remote MCP servers directly from its settings UI:

    <Steps>
      <Step title="Open Claude Desktop settings">
        In Claude Desktop, click **Customize** in the bottom-left corner.
      </Step>

      <Step title="Add a custom connector">
        Click **Add custom connector**.
      </Step>

      <Step title="Enter the Navattic details">
        Fill in the connector form:

        * **Name:** Navattic
        * **Remote MCP server URL:** `https://app.navattic.com/api/mcp`

        Click **Add** to save.
      </Step>

      <Step title="Authorize the connection">
        Claude Desktop will open a Navattic authorization page. Sign in and grant access. The agent will use the scopes associated with your account.
      </Step>
    </Steps>

    <Accordion title="Alternative: edit the config file manually">
      If you prefer to configure Claude Desktop by editing the config file directly, add the following to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS):

      ```json theme={null}
      {
        "mcpServers": {
          "navattic": {
            "url": "https://app.navattic.com/api/mcp",
            "headers": {
              "Authorization": "Bearer YOUR_TOKEN"
            }
          }
        }
      }
      ```

      Replace `YOUR_TOKEN` with the Personal Access Token you created in Step 1. Restart Claude Desktop after saving.
    </Accordion>
  </Tab>

  <Tab title="Cursor">
    Add to `~/.cursor/mcp.json`:

    ```json theme={null}
    {
      "mcpServers": {
        "navattic": {
          "url": "https://app.navattic.com/api/mcp",
          "headers": {
            "Authorization": "Bearer YOUR_TOKEN"
          }
        }
      }
    }
    ```

    Replace `YOUR_TOKEN` with the Personal Access Token you created in Step 1.
  </Tab>

  <Tab title="VS Code">
    Add to your VS Code settings (the `mcp` section):

    ```json theme={null}
    {
      "servers": {
        "navattic": {
          "type": "http",
          "url": "https://app.navattic.com/api/mcp",
          "headers": {
            "Authorization": "Bearer YOUR_TOKEN"
          }
        }
      }
    }
    ```

    Replace `YOUR_TOKEN` with the Personal Access Token you created in Step 1.
  </Tab>

  <Tab title="Windsurf">
    Add to `~/.codeium/windsurf/mcp_config.json`:

    ```json theme={null}
    {
      "mcpServers": {
        "navattic": {
          "serverUrl": "https://app.navattic.com/api/mcp",
          "headers": {
            "Authorization": "Bearer YOUR_TOKEN"
          }
        }
      }
    }
    ```

    Replace `YOUR_TOKEN` with the Personal Access Token you created in Step 1.
  </Tab>

  <Tab title="Claude Code">
    Add to `~/.claude/settings.json`:

    ```json theme={null}
    {
      "mcpServers": {
        "navattic": {
          "type": "url",
          "url": "https://app.navattic.com/api/mcp",
          "headers": {
            "Authorization": "Bearer YOUR_TOKEN"
          }
        }
      }
    }
    ```

    Replace `YOUR_TOKEN` with the Personal Access Token you created in Step 1.
  </Tab>
</Tabs>

## Available tools

Once connected, your agent can see and call tools based on its token's scopes. Tools are only visible to the agent if the token has the corresponding scope — the agent won't see tools it can't use.

| Tool                          | Description                                                                                                                                                          | Scope           |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- |
| `list_demo_analytics`         | View engagement metrics for all active demos — views, visitors, engaged sessions, duration, CTA clicks, and click-through rate                                       | Analytics       |
| `list_visitors`               | List visitors who have interacted with demos, with filtering by demo, company, location, device, and custom properties                                               | Analytics       |
| `list_accounts`               | List company accounts with engagement metrics, with firmographic filtering by industry, employee count, revenue, and more                                            | Analytics       |
| `get_visitor`                 | Get a detailed profile for a specific visitor, including their 25 most recent sessions, conversion events, and demos viewed                                          | Analytics       |
| `get_account`                 | Get a detailed profile for a specific company account, including visitors, demos viewed, and total engagement duration                                               | Analytics       |
| `list_projects`               | List all projects in the workspace                                                                                                                                   | Demo Browsing   |
| `get_project`                 | Get details and flows for a specific project. Note: no longer returns Launchpad or archived share links — use `get_share_link` or `get_launchpad_share_link` instead | Demo Browsing   |
| `get_share_link`              | Get details for a specific project share link by ID                                                                                                                  | Demo Browsing   |
| `create_flow`                 | Create a new flow within a project                                                                                                                                   | Demo Building   |
| `rename_project`              | Rename a project                                                                                                                                                     | Demo Management |
| `archive_project`             | Archive a project (affects live demo URLs)                                                                                                                           | Demo Publishing |
| `list_custom_properties`      | View custom properties configured for personalization                                                                                                                | Personalization |
| `get_launchpad_share_link`    | Get details of a Launchpad 1-1 share link, including recipient and visitor data                                                                                      | Launchpad       |
| `create_launchpad_share_link` | Create a new 1-1 Launchpad share link for a specific recipient                                                                                                       | Launchpad       |
| `list_launchpad_share_links`  | List all Launchpad 1-1 share links in the workspace, with recipient and engagement data                                                                              | Launchpad       |
| `get_interest_flow`           | Get a specific Launchpad interest flow by ID                                                                                                                         | Launchpad       |
| `search_interest_flows`       | Search Launchpad interest flows by name or description                                                                                                               | Launchpad       |
| `search_projects`             | Search projects by name or description                                                                                                                               | Launchpad       |

Your agent also has access to two workspace resources regardless of scopes:

* **Workspace overview** — current project count, member count, and plan type
* **Navattic concepts** — a reference guide to the Navattic data model (projects, flows, steps, share links)

## Use cases

<AccordionGroup>
  <Accordion title="Analyze demo performance in your coding environment">
    Ask your AI agent questions about demo engagement and visitor behavior. For example: "Which of our demos got the most engagement last quarter?", "Who from Acme Corp has viewed our demos recently?", or "What companies are showing the most interest this month?" The agent uses the analytics tools to query your workspace data and present results directly in your editor.
  </Accordion>

  <Accordion title="Build demos programmatically">
    Use your agent to create new flows within an existing project. Describe the steps you want in natural language and let the agent structure and create them via `create_flow`. This is useful when building many similar demos or automating demo creation as part of a deployment workflow.
  </Accordion>

  <Accordion title="Browse your demo library">
    Ask the agent to list all projects and find specific demos by name or description. The `list_projects` and `get_project` tools give the agent access to your full workspace library, including flow structure and share links.
  </Accordion>

  <Accordion title="Automate demo maintenance">
    Use the agent to rename or archive projects as part of a release workflow. For example, archive old version demos automatically when a new version is deployed.
  </Accordion>

  <Accordion title="Manage Launchpad share links and track engagement (Launchpad)">
    Use the Launchpad tools to automate 1-1 share link creation and track which recipients have visited their demos. For example, ask the agent: "List all share links sent to prospects this week and show which ones have been viewed" using `list_launchpad_share_links` paired with `get_visitor`. You can also use `search_interest_flows` to find the right flow for a prospect before generating a personalized link with `create_launchpad_share_link`.
  </Accordion>
</AccordionGroup>

## Managing tokens

You can view all active tokens from **Settings** > **Workspace** > **Access Tokens**. From there you can:

* See each token's name, scopes, creation date, and expiration
* Revoke a token at any time — revocation takes effect immediately

When a token expires or is revoked, any agent using it will receive authentication errors until you update its configuration with a new token.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Can I create multiple tokens for different agents?">
    Yes. Create a separate token for each agent or environment, and name them to make revocation easier. For example, "Claude Desktop - production" and "Cursor - local dev".
  </Accordion>

  <Accordion title="What happens if my token is compromised?">
    Revoke the token immediately from **Settings** > **Workspace** > **Access Tokens**. Then create a new token and update your agent configuration. The revoked token stops working as soon as you revoke it.
  </Accordion>

  <Accordion title="Can a Viewer-role user create a token with write scopes?">
    No. The scope picker automatically disables write scopes (Demo Building, Demo Management, Demo Publishing) for users with Viewer-only roles.
  </Accordion>

  <Accordion title="Does the agent see all my workspace data?">
    The agent can only access data within the scopes you selected when creating the token. All data is also restricted to your workspace — the agent cannot access data from other workspaces.
  </Accordion>

  <Accordion title="Why don't I see the Launchpad scope when creating a token?">
    The Launchpad scope is only available to workspaces with Launchpad enabled and only shown to users with the Launchpad app role. If you don't see it, confirm your workspace has Launchpad and that your account has the Launchpad role. Contact your workspace admin if you need access.
  </Accordion>
</AccordionGroup>
