---
title: Documentation MCP
description: "Search and read the Boring Marketing documentation directly from your AI agent using our docs-only MCP server."
---

> **For AI agents:** the complete documentation index is at [llms.txt](https://docs.boringmarketing.com/llms.txt). Append `.md` to any page URL for its markdown version.

We provide an [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server so your AI agent can search and read these docs interactively instead of relying on static context.

<Warning>
**This MCP server exposes documentation only — it does not call the Boring Marketing API.** Use it to let your agent search and read these docs. To actually run pipelines, fetch opportunities, or generate content, your agent must call the REST API directly with an API key. There is no API MCP server today.
</Warning>

## Setup

<Tabs>
  <Tab title="Claude Code">
    Add the docs as an MCP server:

    ```bash
    claude mcp add --transport http boring-marketing-docs https://docs.boringmarketing.com/_mcp
    ```

    Now when you ask Claude about the Boring Marketing API, it can search and read the documentation directly.
  </Tab>
  <Tab title="Cursor">
    Add to your project's `.cursor/mcp.json`:

    ```json
    {
      "mcpServers": {
        "boring-marketing-docs": {
          "url": "https://docs.boringmarketing.com/_mcp"
        }
      }
    }
    ```

    Cursor will connect to the docs automatically when you open the project.
  </Tab>
</Tabs>

## Available tools

The MCP server exposes two tools:

### searchDocs

Search documentation by keyword. Returns ranked results.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | Search terms (e.g., `"polling runs"`, `"authentication"`) |
| `limit` | number | No | Max results, default 10, max 50 |
| `type` | string | No | Filter: `all`, `api`, `guide`, `quickstart`, `help`, `component` |

Example — search for authentication docs:

```json
{
  "name": "searchDocs",
  "arguments": {
    "query": "authentication api key",
    "limit": 5
  }
}
```

### getPage

Retrieve the full content of a specific page.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `slug` | string | Yes | Page path without `.mdx` (e.g., `guides/authentication`, `api-reference/pipeline/analyze`) |

Example — fetch the quickstart page:

```json
{
  "name": "getPage",
  "arguments": {
    "slug": "quickstart"
  }
}
```

## Testing the endpoint

Verify the MCP server is reachable:

```bash
# List available tools
curl -X POST https://docs.boringmarketing.com/_mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

# Search for content
curl -X POST https://docs.boringmarketing.com/_mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"searchDocs","arguments":{"query":"opportunities"}}}'
```

## Useful page slugs

Quick reference for common pages your agent might want to fetch:

| Slug | Content |
|------|---------|
| `quickstart` | 5-step zero-decision quickstart |
| `guides/authentication` | Auth, tiers, error codes |
| `guides/polling-runs` | Async 202 + poll pattern |
| `guides/content-production` | Brief → draft → publish flow |
| `guides/agent-integration` | Agent context block, endpoint table, workflows |
| `api-reference/overview` | Base URL, conventions, error format |
| `api-reference/pipeline/analyze` | Full pipeline endpoint |
| `api-reference/results/opportunities` | Opportunities endpoint + response shape |
| `api-reference/results/queue` | Action queue endpoint |

## Troubleshooting

<AccordionGroup>
  <Accordion title="MCP server not connecting">
    Verify the endpoint is reachable:

    ```bash
    curl https://docs.boringmarketing.com/_mcp
    ```

    You should see a JSON response with server info. If not, the docs may not have been built yet.
  </Accordion>
  <Accordion title="Search returns no results">
    The search index rebuilds with every deploy. If you recently added content, trigger a redeploy of the docs site to refresh the index.
  </Accordion>
  <Accordion title="getPage returns null">
    Make sure the slug matches the page path exactly, without the `.mdx` extension. For example, use `guides/authentication` not `guides/authentication.mdx`.
  </Accordion>
</AccordionGroup>
