---
title: "MCP"
url: "https://cookiezest.com/docs/mcp"
description: "Connect AI agents to Zest via MCP — get the config schema, API reference, and generate install snippets programmatically"
---

## What is the Zest MCP server?

The Zest MCP server lets AI agents (Claude, Cursor, VS Code Copilot, Windsurf, etc.) understand and configure Zest without scraping the docs. Instead of pasting a config and hoping the agent figures out the options, the agent calls the MCP server directly to get the full config schema, the complete API reference, and generate a ready-to-paste install snippet.

The endpoint is `https://cookiezest.com/mcp` (Streamable HTTP). No authentication — it’s read-only, serving the same public documentation as the website.

## Available tools

| Tool | What it does |
| --- | --- |
| get_config_schema | Returns the full JSON Schema for Zest’s config — every option, type, allowed value, and default |
| get_api_reference | Returns every public method, parameter, return type, event, and code example |
| generate_config | Takes structured requirements, returns a config object + CDN install snippet |
| get_install_guide | Returns a step-by-step install recipe for WordPress, Wix, Webflow, Shopify, Squarespace, Framer, or GoDaddy |

## Claude Code (terminal)

One command:

```
claude mcp add --transport http zest https://cookiezest.com/mcp
```

This writes to `~/.claude/mcp.json` (local scope, default). To make Zest available across all your projects:

```
claude mcp add --transport http --scope user zest https://cookiezest.com/mcp
```

Or edit the file manually:

-   macOS/Linux: `~/.claude/mcp.json`
-   Windows: `%USERPROFILE%\.claude\mcp.json`

```
{
  "mcpServers": {
    "zest": {
      "type": "http",
      "url": "https://cookiezest.com/mcp"
    }
  }
}
```

## Claude Desktop

Open the settings window, then use the Connectors panel to add Zest by its URL.

1.  Open **Settings** (`⌘,` on macOS / `Ctrl+,` on Windows, or the top-left menu → Settings).
2.  Click **Connectors** in the sidebar.
3.  Click **Add** (top-right), then **Add custom connector**.
4.  When asked for the connector type, choose **Web**.
5.  Paste the URL and click **Add**:

```
https://cookiezest.com/mcp
```

That’s it. Enable or disable Zest per conversation from the `+` button in the chat box, under **Connectors**.

## ChatGPT

Open Settings and add Zest as an MCP server from the sidebar:

1.  Open **Settings**.
2.  Go to **Plugins** in the sidebar.
3.  Click **Add MCP**.
4.  Paste the URL and select **Streamable HTTP** (the streaming option):

```
https://cookiezest.com/mcp
```

That’s it.

## Cursor

Create or edit `mcp.json`:

-   Project-scoped: `.cursor/mcp.json` in your project root
-   Global: `~/.cursor/mcp.json`

```
{
  "mcpServers": {
    "zest": {
      "url": "https://cookiezest.com/mcp"
    }
  }
}
```

## VS Code (Copilot)

Create or edit `mcp.json`:

-   Workspace: `.vscode/mcp.json` in your project root (commit to share with your team)
-   User profile: run “MCP: Open User Configuration” from the Command Palette (Ctrl+Shift+P)

```
{
  "servers": {
    "zest": {
      "type": "http",
      "url": "https://cookiezest.com/mcp"
    }
  }
}
```

Note: VS Code uses `"servers"` as the root key, not `"mcpServers"`.

## Windsurf

Edit `mcp_config.json`:

-   macOS/Linux: `~/.codeium/windsurf/mcp_config.json`
-   Windows: `%USERPROFILE%\.codeium\windsurf\mcp_config.json`

```
{
  "mcpServers": {
    "zest": {
      "serverUrl": "https://cookiezest.com/mcp"
    }
  }
}
```

## Connect to any MCP client

The server speaks MCP Streamable HTTP (stateless mode). Any client that supports the Streamable HTTP transport can connect to `https://cookiezest.com/mcp`.

## Example: generating a config

Once connected, ask your agent:

> “I need a cookie banner for a German website. Bottom-right position, dark theme, blue accent (#0066cc), hide the marketing category, enable geo gating for GDPR.”

The agent calls `generate_config` with those parameters and returns:

```
<script>
  window.ZestConfig = {
    "position": "bottom-right",
    "theme": "dark",
    "accentColor": "#0066cc",
    "geo": true,
    "categories": { "marketing": { "hidden": true } }
  };
</script>
<script src="https://cdn.jsdelivr.net/npm/@freshjuice/zest@3.0.0/dist/zest.de.min.js"></script>
```

Paste it into your `<head>`. Done.

## Example: install on a platform

Ask your agent how to install Zest on a site builder:

> “How do I add Zest to my Wix site?”

The agent calls `get_install_guide` with `platform: "wix"` and returns the steps plus the ready-to-paste snippet:

```
<script>
  window.ZestConfig = {
    position: "bottom",
    theme: "auto",
    policyUrl: "/privacy-policy"
  };
</script>
<script src="https://cdn.jsdelivr.net/npm/@freshjuice/zest/dist/zest.min.js"></script>
```

Guides cover WordPress (plugin, no snippet), Wix, Webflow, Shopify, Squarespace, Framer, and GoDaddy. Call `get_install_guide` with no platform to list them all.

## Agent discovery

The server publishes a [MCP Server Card](https://github.com/nousresearch/modelcontextprotocol) at `/.well-known/mcp/server-card.json` for automated agent discovery. The card lists all available tools and the transport endpoint.

## Rate limiting

There is no rate limit currently. The server is read-only and stateless — if abuse becomes a problem, a Cloudflare rate limiting rule will be added. Open an issue on [GitHub](https://github.com/freshjuice-dev/zest/issues) if you hit problems.