Connect an agent over MCP

The MCP server lives at https://app.stepmetrics.co/mcp (streamable HTTP). There are two ways to authenticate, and both lead to the same tools: sign in with OAuth, or present an API key.

Sign in (ChatGPT, Claude and other assistants)

Any MCP client with an OAuth flow connects without a key. In ChatGPT, open Plugins, choose Add custom MCP server, enter the URL above and pick OAuth; in Claude, add it as a custom connector. The client sends you to StepMetrics, where you sign in if you are not already (or continue with Google, which creates your account from your Search Console sites), choose the workspace and the level of access, and approve. You are then returned to the client.

The access is read-only by default. A workspace owner or admin may grant edit instead, which is the same access the Connect agent screen gives a coding agent, described below. A member who only reads the workspace can grant read only. The connection is yours: it appears under Account, Workspace, API keys named after the client and your email, revoking it there disconnects the client at once, and it stops working on the next request if you leave the workspace.

For the protocol-minded: the server is its own OAuth 2.1 authorization server, with discovery at /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource/mcp, PKCE (S256) required, Client ID Metadata Documents and dynamic client registration for public clients, and the iss parameter on every authorization response. Access tokens last an hour and are refreshed with a rotating refresh token.

Use a key (coding agents, scripts)

claude mcp add --transport http analytics https://app.stepmetrics.co/mcp \
  --header "Authorization: Bearer dak_..."

Read-only tools cover your web analytics, SEO audits and dashboard, plus agent telemetry. The key determines which organisation you are querying, so a site id belonging to someone else returns the same "not found" as a site that does not exist.

An edit key, which is what the dashboard's Connect agent screen gives your agent, is offered additional editing tools, including SEO audit controls. An admin key gets them too. One creates a site, and four add and remove a site's funnels and event checks. Two manage the ignore list: tell the agent to stop counting your own visits and it excludes the computer it is running on. Seven build your Dashboard page: the shared metrics and ratio metrics it tracks, and adding, changing, removing or clearing its charts. Two list and revoke your workspace's keys, so you can ask it to switch off a key you shared by mistake; it only ever sees your own workspace's keys, and it cannot revoke an admin key. An edit key cannot create keys or reach billing. A read key is never offered these editing tools; if your agent was connected with one, open Connect agent again for a new key. You can also revoke keys yourself under Account, Workspace, API keys.

Search and fetch

Beside the get_* tools, the server answers the search and fetch pair that ChatGPT's deep research and company knowledge expect. search finds sites by name or domain, pages by path or title over the last 30 days, and funnels and ratio metrics by name; fetch reads one of them over the last 30 days, with a link to the page or site it describes. Both call the same query functions as the dashboard. get_connected_workspace says which workspace a connection reads and who connected it.