> ## 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/api/v2/mcp
```

* API key authentication
* 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. One server, one API key.

***

## Before You Start

You need a LanderLab API key to authenticate. See [Generate an API Key](/mcp/generate-api-key) for instructions.

***

## Connect Your AI Assistant

Choose your tool and follow the setup guide:

* [Claude Code](/mcp/ai-assistants/claude-code)
* [Claude Desktop](/mcp/ai-assistants/claude-desktop)
* [Claude.ai](/mcp/ai-assistants/claude-ai)
* [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)

**Any other MCP-compatible client can connect by pointing to** `https://api.landerlab.dev/api/v2/mcp `**with your API key in the** `X-API-Key `**header.**

> **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 your API key. 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 API key authentication. Pass your key in the `X-API-Key` header. Every tool call uses it to identify your account and resolve permissions. There is no OAuth flow and no tokens to refresh.

To revoke a key, go to **Organization > API Keys** in LanderLab or use the `api_key_revoke` tool.

***

## Troubleshooting

**401 Unauthorized** - The API key is missing, invalid, or revoked. Check that the `X-API-Key` header is set and the key starts with `ll_live_`.

**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.

**FORBIDDEN: endpoint not accessible via API key** - That tool has not been opened to API key auth yet. Contact [LanderLab support](mailto:support@landerlab.io).

**Server not showing up** - Check that your config file is saved in the correct location and the JSON is valid. Restart your AI tool after any config change.
