Skip to content

Developers

Connect your AI tools through the MCP server

Give Claude Desktop, ChatGPT, Cursor and any other MCP client direct access to your Baseline Labs data, on the same credits and permissions as your browser session.

Create an API key See the package

Claude.ai needs no key at all - it signs in as you.

What is MCP?
The Model Context Protocol lets AI assistants call tools on your behalf. Instead of copy-pasting between apps, your AI searches, generates reports, and manages studies through your account - using the same credits and permissions as your browser session.
Connect in 2 minutes

In Claude.ai, add Baseline Labs as a custom connector and sign in when asked - no API key needed. Other clients take an API key: create one in your developer console, then paste the config below into your MCP client.

Claude.ai (web, desktop and mobile)
Settings > Connectors > Add custom connector
URL:  https://baselinelabs.ai/mcp/

Claude.ai registers itself and sends you to a Baseline Labs sign-in and consent screen. Approving creates an API key named after the app; revoke it any time from your API keys.

Claude Desktop (claude_desktop_config.json) Recommended
{
  "mcpServers": {
    "baseline-labs": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://baselinelabs.ai/mcp/",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer bl_your_key"
      }
    }
  }
}

Claude Desktop doesn't speak HTTP MCP natively - mcp-remote is a small npx shim that bridges stdio to our HTTPS endpoint. Requires Node.js installed locally. The token goes in env (not the header string directly) to dodge Claude Desktop's arg-quoting bug with spaces.

Other URL-based clients (with headers)
{
  "mcpServers": {
    "baseline-labs": {
      "url": "https://baselinelabs.ai/mcp/",
      "headers": {
        "Authorization": "Bearer bl_your_key"
      }
    }
  }
}
ChatGPT, Cursor, etc.
Server URL:  https://baselinelabs.ai/mcp/
Auth:        Bearer bl_your_key

Interactive setup: The MCP tab in your console generates the config with your actual key pre-filled and shows live tool status.

What your AI can do once connected

The same connection serves two very different clients, and it is worth knowing which one you have before you ask it for something.

A coding agent - Claude Code, Cursor - has your repository. It can read your Baseline data and act on it: ask it to add AI bot tracking to your site and it fetches your token, writes the module in and wires it up.

A chat client - Claude.ai, ChatGPT - has no filesystem. It can read everything and hand you code to paste, but it cannot install anything for you. Worth knowing: anything it fetches, including your site token, ends up in that conversation history.

58 tools available

Once connected, your AI tool can call any of these. Reads are free; anything that starts new work costs credits, and the charge lands when the tool runs - ask your AI for get_account if you want the balance first.

CategoryToolsDescription
Studies list_studies get_study create_study get_study_overview Your studies, and the full competitive picture of one
Audits get_surface list_audits get_audit get_audit_findings list_audit_templates get_audit_template_overview run_audit All eight audits through one set of tools - Site Pulse, Schema Audit, AI Vision, Reputation, Fan-out, Active Competitors, visibility reports and brand scans. get_surface is the fastest way to see what a study has actually measured; the rest take a kind
Audit runs list_audit_runs get_audit_run A single launch that fanned several audits at one URL, with each child's progress
Competitors list_competitors add_competitor set_competitor_status Track, reject or add rivals on a study
Search search get_search_result list_saved_queries get_ranked_keywords parse_business_info Query across Google, ChatGPT, Perplexity, Gemini, Google AI Mode, Claude and DeepSeek, plus stored keyword rankings and business-profile parsing
Reports list_report_templates create_report_template run_report get_report get_report_queries list_reports Track keyword visibility across engines
PR & Brand create_mention_scan get_mention_scan list_mention_scans get_mention_records list_brand_templates run_brand_report get_brand_report Sentiment and mention monitoring
Analytics get_backlinks get_referring_domains get_analytics Link graph and usage data
Scores & citations get_visibility_score get_cited_sources list_keyword_rankings The composite score and the components behind it, the domains AI engines actually cited when answering about you, and stored keyword rankings
Tracked sites list_tracked_sites get_bot_traffic get_bot_errors get_site_traffic get_google_search_data Observed traffic on a site carrying the tracking tag - which AI crawlers came, which pages they took, plus human traffic and linked Search Console data
Study events log_event Leave a dated marker on a study's timeline after changing the site, so the change sits next to the traffic on the day it happened
Content Tool list_content_jobs get_content_job Proposed page edits with the rationale and sources behind each one
Schema generate_schema list_rolling_domains get_domain_schema JSON-LD generation and rolling-schema domains
Crawling crawl_domain get_crawl_status get_page_content Pull an external site into the corpus for a study to reason about (our own domains are refused)
Bot tracking register_bot_reporting get_bot_reporting_template check_bot_reporting Install AI bot tracking on a custom stack - see Integrations
Account get_account Balance and account info

list_saves, get_save and create_save still work as deprecated aliases for the three _study tools. A save and a study are the same thing - the entity was renamed and the old tool names were kept so existing clients did not break. Your client will list 61 names for that reason: the 58 tools above, plus these three aliases pointing at tools you already have.

Let your agent install the tracking for you

If your site is not WordPress or behind Cloudflare, the three *_bot_reporting tools are the fast path. In a coding agent, this is the whole install:

ask your agent
Register example.com for Baseline bot reporting,
then add the reporting module to this app.

It calls register_bot_reporting to mint your site token, get_bot_reporting_template to fetch a dependency-free module pre-filled with it, and check_bot_reporting to confirm hits are arriving. Nothing is improvised - the agent is handed a reference implementation, not asked to invent the wire format.

One thing to know: that template contains your site’s ingest token. It is a write-only credential for a public endpoint - it reads nothing and reaches no other site - but anyone holding it could post fabricated bot hits for that domain. In a chat client it lands in your conversation history. Prefer a coding agent, or paste the module yourself from Integrations.

Use from Python

You can also call the MCP server programmatically using any MCP client library:

python
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

async def main():
    async with streamablehttp_client(
        "https://baselinelabs.ai/mcp/",
        headers={"Authorization": "Bearer bl_your_key"}
    ) as (read, write, _):
        async with ClientSession(read, write) as session:
            await session.initialize()

            # List your studies
            result = await session.call_tool("list_studies", {})
            print(result)

Or skip MCP entirely and use the REST API directly - no library required.

George
Online
0%