Start free trial

MCP

Hosted Model Context Protocol server for agents that need to read and act on your analytics.

ℹ
Listed in the official MCP Registry as com.openrevenue/mcp (v1.1.0). Also powers the OpenRevenue ChatGPT plugin.

Get started

  1. 1For ChatGPT, connect with OAuth (below). For Cursor, install the OpenRevenue plugin and connect with OAuth. For Claude or other API-key clients, create a key from Account → API. Prefer read-only unless the agent must change data.
  2. 2Add the MCP URL (and Bearer token for API-key clients), or complete OAuth
  3. 3Ask about a project by domain (e.g. example.com)

Endpoint

Streamable HTTP (stateless JSON responses) at:

text
https://mcp.openrevenue.com/mcp

Authentication

Pass an account API key (same keys as the REST API), or complete OAuth 2.1:

http
Authorization: Bearer openrevenue_your_api_key_here
ℹ
Session cookies are never accepted on MCP. Keep keys server-side and rotate them from Account → API if exposed. Unauthenticated requests return WWW-Authenticate with protected-resource metadata for OAuth discovery.

Scopes

  • read — list projects and analytics (default for new read-only keys).
  • write — create/update projects and funnels; create/delete goals and funnels (implies read).

Keys created before scopes shipped keep full read write access until rotated.

ChatGPT

Install the OpenRevenue ChatGPT plugin from the Plugins Directory, then connect your account with OAuth. Ask things like “How did example.com do this week?”, “Top referrers for example.com last 30 days”, or “Funnel conversion for signup on example.com”.

For development or custom connectors, enable Settings → Apps & Connectors → Advanced developer mode in ChatGPT and paste this MCP URL:

text
https://mcp.openrevenue.com/mcp

Complete OAuth when prompted. ChatGPT does not use API keys for this connector.

ℹ
The ChatGPT listing uses this same Universal MCP URL with OAuth. Create an API key only for other MCP clients that do not support OAuth.

Cursor

Install the OpenRevenue Cursor plugin from cursor.directory, then enable it in Customize and connect with OAuth when prompted. The plugin ships the hosted MCP plus analytics skills and commands (ask-traffic, top-referrers, list-sites).

Or add a remote MCP server manually (API key auth):

json
{  "mcpServers": {    "openrevenue": {      "url": "https://mcp.openrevenue.com/mcp",      "headers": {        "Authorization": "Bearer openrevenue_your_api_key_here"      }    }  }}
ℹ
Prefer installing from the cursor.directory listing, then connect with OAuth when Cursor prompts.

Claude Desktop

Remote MCP with custom headers (Claude Desktop / Claude Code, when remote MCP is enabled):

json
{  "mcpServers": {    "openrevenue": {      "url": "https://mcp.openrevenue.com/mcp",      "headers": {        "Authorization": "Bearer openrevenue_your_api_key_here"      }    }  }}

OAuth

MCP clients that support OAuth discover the authorization server from protected-resource metadata at https://mcp.openrevenue.com/.well-known/oauth-protected-resource/mcp. Access tokens are JWTs verified against https://www.openrevenue.com/api/auth/jwks. Users always approve access on OpenRevenue's consent screen. Prefer API keys for personal agents; use OAuth when the client cannot store a long-lived key.

  • OAuth scope mcp (or read) grants read tools only.
  • Request write in addition when the agent must create or change data.

Tools

Read tools cover account profile, projects, stats, timeseries, pages, referrers, geo, devices, browsers, OS, visitors, performance, funnels, and goals. Write tools (owner/admin + write scope) can create/update projects and funnels, and create goals. Deleting a funnel or goal requires confirm: true after the user approves.

Not available via MCP (use the dashboard): deleting projects, team invites, billing, or connecting revenue / Search Console credentials.

Permissions

  • Read tools need the read scope plus project access (owner or member).
  • Write tools need the write scope plus owner or team admin.
  • Every tool call is written to a durable audit log (user, tool, outcome).
  • Rate limits apply separately from the REST API; write calls are capped more tightly.