# Granvl MCP server

> Give your agent a connection to Granvl. MCP is the shared language between your AI app and the tools it uses. Granvl speaks it, so your agent can work inside your workspace: brands, funnels, pages, split tests, ads, and performance.

[Get started free](https://app.granvl.com/sign-up) · [Docs](https://docs.granvl.com/) · [Agent setup instructions](https://granvl.com/agents.md)

## Connection

- Endpoint: `https://app.granvl.com/api/mcp`
- Transport: streamable HTTP
- Auth: OAuth. The user signs in with their Granvl account in the browser; no API key needed. Standard MCP authorization discovery, so any client that supports remote MCP servers with OAuth can connect.
- Workspace: the connection uses the user's active Granvl workspace. Agencies with several workspaces can switch between them.

For a client without OAuth support, create an API key on the Agents page in Granvl and send it as a bearer token.

## Set up your client

Choose your client on the Agents page in Granvl and follow its guide. The steps:

### Claude (claude.ai and Claude Desktop)

1. Settings → Connectors → Add custom connector.
2. Name it `granvl` and paste `https://app.granvl.com/api/mcp` as the remote MCP server URL.
3. Sign in to authorize when the browser tab opens.
4. Download the skill: [granvl-app.zip](https://app.granvl.com/api/skills/granvl-app/download).
5. Settings → Capabilities → Skills → Upload skill.

### Claude Code

```bash
claude mcp add --transport http granvl https://app.granvl.com/api/mcp
```

Authorize in the browser, then paste:

```
Pull the latest granvl skill (call the granvl get_skill tool) and install it per its instructions so it loads every session.
```

### ChatGPT (desktop app)

Paste to ChatGPT:

```
Add a streamable-HTTP MCP server named "granvl" with url https://app.granvl.com/api/mcp to my MCP config. Don't restart yet: I'll give you a skill to install right after. Restart once the skill is installed.
```

Authorize, download [granvl-app.zip](https://app.granvl.com/api/skills/granvl-app/download), drag it into the chat, and paste:

```
Install this granvl skill ZIP so it loads every session, then restart so granvl connects.
```

### Codex CLI

Add to `~/.codex/config.toml`:

```toml
[mcp_servers.granvl]
url = "https://app.granvl.com/api/mcp"
startup_timeout_sec = 60
```

Restart, authorize, then paste the skill prompt from the Claude Code section. If the tools show as unavailable, run `codex mcp login granvl` and start a new thread.

### Cursor

Use the install link on Granvl's Agents page, or add a remote MCP server named `granvl` with url `https://app.granvl.com/api/mcp`. Sign in when prompted, then unzip [granvl-app.zip](https://app.granvl.com/api/skills/granvl-app/download) into `.cursor/skills/granvl-app/`.

### Grok

Paste:

```
Add a custom MCP server called granvl at https://app.granvl.com/api/mcp. It uses OAuth, so authorize it when the connect card appears.
```

Confirm the URL, click Authorize, then type @, pick granvl, and paste the skill prompt from the Claude Code section.

## The skill

MCP gives access. The skill gives guidance: instructions that help your agent use Granvl's workflow.

- Name: `granvl-app`
- Install from MCP: call `get_skill`; it returns the install path for your client.
- Download: [granvl-app.zip](https://app.granvl.com/api/skills/granvl-app/download)
- Plugin: [github.com/granville-sh/granvl-plugin](https://github.com/granville-sh/granvl-plugin)
- Check it: ask "Granvl: confirm the skill is installed". The reply starts with "Granvl skill ready".

## Your first request

Start a fresh session and ask your agent to list your funnels.

1. The agent asks: it selects an available tool and sends a structured request.
2. Granvl responds: it runs the tool and returns the funnel information.
3. You keep working: the agent summarizes the result and helps with the next step.

## What the connection gives your agent

The tools your agent sees depend on what's connected: ad-platform tools appear once an ad account is linked. In broad strokes:

- Workspace and brand context, so every session starts with what the agent needs to know.
- Funnels, landing pages, quizzes, and websites: build, edit, preview, publish, custom domains.
- Split testing: variants, traffic weights, and results per variant.
- Lead capture: delivery to your CRM or webhook, phone verification, validation, and lead qualification.
- Tracking: pixels and server-side conversions for the major ad platforms.
- Meta, Google, and Microsoft ads: campaigns built for your review, created paused.
- Performance: ad spend joined to your page visits and conversions.
- Research: web, competitor ads, landing pages, keywords, and customers.
- Creative: ad copy, images, and video.

The full capability list: [granvl.com/product.md](https://granvl.com/product.md). Credit pricing: [granvl.com/pricing.md](https://granvl.com/pricing.md).

## Permissions and safety

- The connection works within the user's workspace role and permissions.
- Campaigns are created paused, and publishing is a separate step. Your agent shows you previews and drafts before anything goes live.
- Spending credits needs the right role, larger spends need confirmation, and each workspace has spending limits.
- MCP works during the 7-day free trial. If the trial ends without a plan, tools pause until a plan is active.

## More

- [Pricing](https://granvl.com/pricing.md)
- [Product](https://granvl.com/product.md)
- [Model Context Protocol architecture](https://modelcontextprotocol.io/docs/learn/architecture)
