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

# Connect AI Assistants to LanderLab via MCP

> Learn how the LanderLab MCP server works, what tools it exposes, and how to use plain English to manage your landing pages, analytics, leads, and A/B tests from any AI assistant.

## What Is the LanderLab MCP Server?

The LanderLab MCP server connects your AI assistant to your LanderLab account using the [Model Context Protocol](https://modelcontextprotocol.io). Once connected, your assistant can list landers, pull analytics, publish pages, manage leads, run A/B tests, and more without you ever opening the dashboard.

**MCP server URL:**

```text theme={null}
https://api.landerlab.dev/mcp
```

* Sign in with your LanderLab account (OAuth)
* No API key, no headers, no config file editing
* 30+ available tools
* Works with Claude, Cursor, Windsurf, Manus, ChatGPT, and any MCP-compatible client

***

## Who Is This For?

Performance marketers, media buyers, and teams who want to move faster. Instead of switching between your AI tool and the LanderLab dashboard, you describe what you need in plain English and the assistant handles it.

***

## How It Works

The MCP server exposes tools that your AI assistant calls during a conversation. When you say "list my landers in workspace 1," the assistant calls `landers_list` and returns the results directly in your chat.

***

## Connect Your AI Assistant

Choose your tool and follow the setup guide:

* [Claude.ai](/mcp/ai-assistants/claude)
* [Claude Desktop](/mcp/ai-assistants/claude-desktop)
* [Claude Code](/mcp/ai-assistants/claude-code)
* [Cursor](/mcp/ai-assistants/cursor)
* [Windsurf](/mcp/ai-assistants/windsurf)
* [Manus](/mcp/ai-assistants/manus)
* [ChatGPT](/mcp/ai-assistants/chatgpt)
* [Gemini CLI](/mcp/ai-assistants/gemini-cli)

**Claude finds LanderLab in its connector directory. Any other MCP-compatible client can connect by pointing to** `https://api.landerlab.dev/mcp` **and completing the sign-in prompt.**

> **What about Grok, Perplexity, and Copilot?** These tools do not currently support connecting to external MCP servers as a client. Grok and Perplexity can act as MCP servers, exposing their own search tools to other clients, but their chat interfaces cannot connect to a server like LanderLab MCP. Microsoft Copilot Studio does support MCP but requires a complex enterprise setup that is outside the scope of this guide.

***

## Tools Reference

Your organization is resolved automatically from the account you sign in with. You do not need to pass an organization ID.

### Read-Only Tools

| Tool                  | What It Does                             |
| --------------------- | ---------------------------------------- |
| `workspaces_list`     | List all workspaces                      |
| `landers_list`        | List landing pages in a workspace        |
| `domains_list`        | List domains in a workspace              |
| `domains_list_global` | List all domains across the organization |
| `integrations_list`   | List configured integrations             |
| `leads_list`          | List leads for a lander                  |
| `leads_list_org`      | List leads across the organization       |
| `variants_list`       | List A/B test variants                   |
| `api_key_list`        | List API keys                            |
| `dashboard_get`       | Get visits, conversions, and leads stats |
| `analytics_graphs`    | Get graph data for a lander              |
| `analytics_stats`     | Get detailed stats for a lander          |
| `analytics_reports`   | Generate reports for a lander            |
| `reporting_get`       | Run multi-lander reporting               |
| `editor_load`         | Load HTML and settings for a variant     |

### Mutation Tools

| Tool                         | What It Does                        |
| ---------------------------- | ----------------------------------- |
| `lander_publish`             | Publish a landing page              |
| `lander_unpublish`           | Unpublish a landing page            |
| `editor_save`                | Save HTML content for a variant     |
| `editor_save_settings`       | Save variant settings               |
| `variants_set_weights`       | Set A/B test traffic split          |
| `variants_enable`            | Enable a variant                    |
| `variants_disable`           | Disable a variant                   |
| `leads_update`               | Update a lead                       |
| `leads_delete`               | Delete a lead                       |
| `leads_update_org`           | Update a lead (org-level)           |
| `leads_delete_org`           | Delete a lead (org-level)           |
| `lander_integration_enable`  | Enable an integration on a lander   |
| `lander_integration_disable` | Disable an integration on a lander  |
| `lander_integration_delete`  | Remove an integration from a lander |
| `integration_create`         | Create an org-level integration     |
| `api_key_revoke`             | Revoke an API key                   |
| `api_key_update`             | Update an API key                   |

***

## Example Prompts

Once connected, talk to your assistant in plain English:

**"List all my landers and their status"** Calls `landers_list` and returns page names, URLs, and publish status.

**"Show me analytics for lander X over the last 7 days"** Calls `analytics_stats` with the date range and returns visits, conversions, and leads.

**"Unpublish lander X"** Calls `lander_unpublish` to take the page offline.

**"Set A/B test weights to 70/30 for lander X"** Calls `variants_set_weights` to adjust traffic split between variants.

**"Show me all leads from workspace 1"** Calls `leads_list` and returns lead data for that workspace.

***

## Authentication

The MCP server uses OAuth. The first time your assistant connects, it opens a LanderLab sign-in page in your browser. You approve the access request once, and your client stores a token it refreshes on its own.

Nothing sensitive lives in your config files, and you can disconnect at any time from **Settings > Connected Apps** in LanderLab, or by removing the connector in your AI tool.

<Note>
  API keys are still used for direct REST API calls. See [Generate an API Key](/mcp/generate-api-key). They are no longer used for MCP.
</Note>

***

## Troubleshooting

**The sign-in window does not open** - Some clients block pop-ups on the first connection attempt. Allow pop-ups for your AI tool and try connecting again.

**Authorization succeeded but no tools appear** - Restart your AI tool. Most clients only load the tool list when a session starts.

**401 Unauthorized** - Your session expired or access was revoked. Remove the connector and add it again to trigger a fresh sign-in.

**Not Acceptable** - The `Accept` header must include both `application/json` and `text/event-stream`. This error usually appears when testing with curl or a custom client.

**Still pointing at the old URL** - If your config still contains `https://api.landerlab.dev/api/v2/mcp` and an `X-API-Key` header, delete that entry and reconnect using `https://api.landerlab.dev/mcp`.
