API & MCP

MCP server

Connect Honeylog to Claude, ChatGPT, Cursor or any MCP client and let the AI read your traffic data.

The Honeylog MCP server lets an AI assistant read your traffic data directly. Instead of exporting a report and pasting it into a chat, you connect Honeylog once and then ask questions like "which AI agents crawled my pricing page last month" or "which pages got the most bot traffic yesterday".

It speaks the Model Context Protocol, so it works with any compliant client: Claude, ChatGPT, Cursor, VS Code and others. Everything it exposes is read-only. No tool can change a setting, delete data or spend money.

#Endpoint

https://honeylog.io/mcp

One address covers every site, custom view and network your token can reach. There is nothing to install and no separate service to run.

#Authentication

The MCP server uses the same team API tokens as the REST API, and grants the same access.

  1. Open Settings → API tokens.
  2. Create a token and grant it sites.read, or networks.read if you want the assistant to reach networks too.
  3. Give the token to your MCP client as a bearer token.

Only team owners and managers can create tokens. A token belongs to the team, not to the person who created it, so it keeps working when someone changes their current team, and it stops working the moment you delete it.

A token reaches every site in its team.

#Configuring a client

Clients configured with a file, such as Claude Code, Cursor and VS Code, take the token directly:

{
  "mcpServers": {
    "honeylog": {
      "type": "http",
      "url": "https://honeylog.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      }
    }
  }
}

In claude.ai and ChatGPT, add Honeylog as a custom connector and enter the token in the connector's request-header field.

The Connect an AI assistant section on the API tokens page has both the address and this snippet ready to copy.

#What the assistant can do

There are four tools. The first two exist so the assistant can find out what to ask for; the other two answer the questions.

Tool What it does REST endpoint it calls
honeylog_list_sites Lists the sites, custom views and networks the token can read, with the identifier the other tools need GET /api/v1/sites
honeylog_describe_fields Lists the metrics and dimensions one site accepts, with their meaning and allowed values GET /api/v1/{wireable}/fields
honeylog_traffic_timeseries How traffic moves over time, for one or more metrics, with an optional comparison period GET /api/v1/{wireable}/stats/views
honeylog_traffic_breakdown Which pages, bots, countries, browsers or referrers account for the traffic GET /api/v1/{wireable}/stats/pages

A good assistant will call the first two on its own before answering, so you rarely need to mention them. You can simply ask your question.

Each tool is a wrapper over the REST endpoint in the last column: it forwards the call, and hands back that endpoint's answer unchanged, inside the usual data and meta object. There is no separate path to your data, so whatever the API refuses the assistant is refused too, in exactly the same way.

Some things you can ask:

  • Which AI crawlers visited the site last week, and which pages they went to.
  • Whether bot traffic went up compared with the previous month.
  • Which pages return the most 404s to crawlers.
  • Which countries the suspicious traffic comes from.

#Rate limits

MCP calls and REST calls share one budget. Every tool call spends exactly one call from your plan's normal API allowance, counted the same way and against the same limit as if you had called the REST API yourself — including the two the assistant makes to find your sites and fields, since those go through the API as well. In practice a question costs the one call that answers it, plus, at most once per conversation, the two that tell the assistant what to ask for.

There is no separate MCP quota, and no separate plan gate: if your plan includes API access, it includes the MCP server. A plan without API access returns an error explaining that, and hitting the per-minute limit returns an error saying when to retry.

#Good to know

  • Dates are interpreted in the site's own timezone, which every answer repeats, so results match what you see in the dashboard.
  • Default window is the last 7 days when the assistant does not ask for a specific range.
  • Read-only means exactly that. Connecting an assistant cannot change your configuration or your billing.
  • If an assistant reports that it cannot find your site, check that the token has the right permission for the resource: networks.read is needed for networks, sites.read for sites and custom views.