Connect an MCP client
Add the RevenueHog MCP server to claude.ai, Claude Desktop, Claude Code, Cursor, VS Code, Codex or any other MCP client, and then verify that it works.
Any MCP client that supports remote servers over streamable HTTP can connect to RevenueHog. Clients with OAuth support sign you in through the browser. Others use an MCP token in an Authorization header.
Before you start
- A RevenueHog account with at least one connected app, so there is data to read.
- The server URL:
https://revenuehog.dev/api/mcp. - For headless clients, an MCP token from Settings → MCP. See MCP tokens.
- Make sure the workspace you want is active. Both OAuth connections and MCP tokens are bound to one workspace.
Pick a method
| Client | Method |
|---|---|
| claude.ai (web, desktop, mobile) | OAuth, as a custom connector |
| Claude Desktop | OAuth, as a custom connector |
| Claude Code | MCP token, or the RevenueHog plugin (see Claude Code) |
| Cursor | OAuth or MCP token |
| VS Code (GitHub Copilot agent mode) | OAuth or MCP token |
| Codex CLI | MCP token |
| CI jobs and scripts | MCP token |
claude.ai and Claude Desktop
Add a custom connector
In Claude, open Settings → Connectors and add a custom connector. Name it RevenueHog and enter https://revenuehog.dev/api/mcp as the URL.
Approve on RevenueHog
Claude opens RevenueHog's Connect an MCP client page. Sign in if asked, check the workspace name, and select Approve and connect.
Enable it in a chat
Turn the connector on in a conversation and ask "What is my MRR?".
On Team and Enterprise plans, an owner may need to add the connector for the organization first.
Cursor
Add the server to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project).
{
"mcpServers": {
"revenuehog": {
"url": "https://revenuehog.dev/api/mcp"
}
}
}Cursor detects the 401 and offers to log in. Approve on the RevenueHog page.
Check Cursor Settings → MCP for a green status and eight rh_* tools.
VS Code
{
"servers": {
"revenuehog": {
"type": "http",
"url": "https://revenuehog.dev/api/mcp"
}
}
}VS Code runs OAuth when the server first starts. To use a token instead, add "headers": { "Authorization": "Bearer ${input:revenuehog-token}" } and declare a password input so the token is not stored in the file.
Claude Code
claude mcp add --transport http revenuehog https://revenuehog.dev/api/mcp \
--header "Authorization: Bearer $REVENUEHOG_MCP_TOKEN"Run /mcp in a session to confirm it is connected. Installing the RevenueHog plugin also adds the server; see Claude Code.
Codex CLI
[mcp_servers.revenuehog]
url = "https://revenuehog.dev/api/mcp"
bearer_token_env_var = "REVENUEHOG_MCP_TOKEN"Export REVENUEHOG_MCP_TOKEN in the shell that runs Codex.
Other clients
Any client works if it can:
- Send JSON-RPC over HTTP
POSTtohttps://revenuehog.dev/api/mcp. - Either run OAuth 2.1 with PKCE (S256) and dynamic client registration, or send a static
Authorization: Bearer rh_mcp_...header.
Clients that only support local stdio servers can use a stdio-to-HTTP bridge such as mcp-remote:
{
"mcpServers": {
"revenuehog": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://revenuehog.dev/api/mcp",
"--header", "Authorization: Bearer ${REVENUEHOG_MCP_TOKEN}"],
"env": { "REVENUEHOG_MCP_TOKEN": "rh_mcp_..." }
}
}
}Verify the connection
Ask your assistant to call rh_meta with topic freshness. A working connection returns the newest data date for revenue, subscriptions and ads, plus the last sync run. An MCP token shows a recent used time in Settings → MCP.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
401 Unauthorized | Missing, mistyped, revoked or expired credential. | Create a new MCP token, or remove and re-add the OAuth connector. Check the header is Authorization: Bearer <token> with no quotes or extra spaces. |
405, "Only POST requests are accepted for MCP." | The client opened a GET (SSE) connection. | Use the streamable HTTP transport, not the legacy SSE transport. |
| Tools return data for the wrong workspace | The credential was issued while another workspace was active. | Switch workspace, then reconnect or create a token there. |
| Empty results or nulls | No data in that window yet, or a pipeline is not connected. | Call rh_meta with topic freshness. |
| The approval page loops back to login | Third-party cookies or a different browser profile. | Sign in to RevenueHog in the same browser profile first, then retry. |
| No MCP tab in Settings | The tab is behind a feature flag. | Open /settings/mcp directly. |
Related
Last updated on
MCP server
The RevenueHog MCP endpoint, its transport, the three ways to authenticate (OAuth, MCP tokens, sessions), token lifetimes, scoping rules and error responses.
MCP tools reference
Every tool the RevenueHog MCP server exposes, from rh_query and rh_meta to reviews, feedback, experiments, payouts and API keys, with arguments and outputs.