# budgetSEO MCP server

> Claude, ChatGPT, and Cursor can read your budgetSEO rankings, quick wins, and competitors through MCP. Sign in once. Read tools do not spend lookup credits.

budgetSEO is an MCP server: plug it into Claude, ChatGPT, Cursor, or Claude Code and the assistant can use your live SEO data while you decide what to work on. This page is for people and for crawlers. The protocol endpoint is separate.

Machine-readable copy: https://www.budgetseo.ai/mcp.md
HTML page: https://www.budgetseo.ai/mcp
Permissions for AI crawlers: https://www.budgetseo.ai/ai.txt
Full site map for answer engines: https://www.budgetseo.ai/llms.txt
Sitemap: https://www.budgetseo.ai/sitemap.xml

## Endpoint

Add this URL in the MCP client. Transport is streamable HTTP. Stateless JSON-RPC. OAuth 2.1 sign-in with dynamic client registration, or a personal access token.

```
https://www.budgetseo.ai/api/mcp
```

12 tools. Read tools do not spend lookup credits. Free plan: 15 keywords, no credit card. 60 calls a minute per account.

## Connect

| Client | How to add it |
| --- | --- |
| Claude (web, desktop, mobile) | Settings, Connectors, Add custom connector. Name it BudgetSEO and paste the endpoint. Or open https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=BudgetSEO&connectorUrl=https%3A%2F%2Fwww.budgetseo.ai%2Fapi%2Fmcp. Leave the OAuth client ID and secret empty. Claude Free is limited to one custom connector. Claude chat does not run connectors on a schedule. |
| Claude Code | claude mcp add --transport http budgetseo https://www.budgetseo.ai/api/mcp. Scheduled routines use the connector saved in claude.ai, not only this local command. |
| ChatGPT | Settings, Apps and Connectors, Advanced settings, turn on Developer mode, then create a connector. Name it BudgetSEO, paste the endpoint, and choose OAuth. ChatGPT opens budgetSEO so you can allow it. Scheduled tasks can call the connector. A free ChatGPT account can schedule at most once a day. |
| Cursor | Settings, MCP, Add new MCP server, or open cursor://anysphere.cursor-deeplink/mcp/install?name=budgetseo&config=eyJ1cmwiOiJodHRwczovL3d3dy5idWRnZXRzZW8uYWkvYXBpL21jcCJ9. Config: {"mcpServers":{"budgetseo":{"url":"https://www.budgetseo.ai/api/mcp"}}}. Cursor does not run connectors on a schedule. |
| Scripts, n8n, and other clients | Transport is streamable HTTP (JSON-RPC). OAuth 2.1 with dynamic client registration works when the client can sign in. Otherwise create a personal access token on Connect AI and send Authorization: Bearer with that token. |

## Tools

| Tool | Access | What it returns or changes |
| --- | --- | --- |
| get_seo_briefing | Read | Start here for what to do today, what changed, or what to focus on. Returns the top actions with estimated monthly clicks, recent rank moves, plan limits, and the next automatic check. |
| find_quick_wins | Read | Low-hanging fruit and striking-distance keywords. Each result includes the estimated monthly clicks from moving up. |
| find_opportunities | Read | Best opportunities across quick wins, research ideas, competitor gaps, rank drops, and AI Overview citation gaps. Filter with kinds: quick_win, research_idea, competitor_gap, rank_drop, ai_visibility. |
| list_projects | Read | Projects, keyword counts, whether a project is paused by the plan, and how many keyword slots remain. |
| get_rank_changes | Read | Winners and losers over a recent window. days defaults to 7. The furthest lookback is 90 days. |
| get_keyword_action_plan | Read | One tracked keyword: ranking URL, history, SERP features, competitors, and a checklist. It does not edit the website. Confirm before changing the page. |
| get_competitor_overview | Read | Saved competitors and how many tracked keywords each one outranks you on. Never starts a paid lookup. keywordsAhead is null until that competitor has been checked. |
| get_ai_visibility | Read | Keywords where an AI Overview shows but does not cite the site, from data already on tracked keywords. Mention counts and share of voice need Starter or Pro with AI visibility turned on for the project. |
| track_keywords | Confirm first | Add keywords to a project. Uses plan keyword slots and does not spend lookup credits. countryCode defaults to the project market. Confirm the list before calling it. |
| untrack_keyword | Confirm first | Remove one tracked keyword and its history. This cannot be undone. Confirm before calling it. |
| update_recommendation | Confirm first | Mark a briefing action done, dismissed, or snoozed so the next briefing skips it. snoozeUntil is YYYY-MM-DD. |
| research_keywords | Confirm first | New keyword ideas for one project. Starter and Pro only. Spends an AI research run. The project needs an audience set in the SEO Agent. Confirm before calling it. |

Things to ask:

- "What should I do with my SEO today?"
- "What are my low-hanging fruits?"
- "What moved in the last 7 days?"
- "Which competitors outrank me on tracked keywords?"
- "Where does an AI Overview show without citing my site?"
- "Research new keywords for this project."

## Prompts

The server also exposes these prompts:

- daily_seo_checkin: What to do with SEO today, from the latest BudgetSEO data.
- weekly_seo_review: Winners, losers, and the best opportunities from the last 7 days.
- quick_win_sprint: Low-hanging fruit and a page checklist for the best few.
- autopilot_setup: How to schedule a daily SEO check that uses this connector.

## Sign in

Every tool needs your budgetSEO account. Public tools are not available without sign-in.

| Method | When to use it |
| --- | --- |
| Sign in on budgetSEO | Claude, ChatGPT, Claude Code, Cursor, and other OAuth clients show Connect the first time they need your account. You log in and click Allow. The key never goes through the chat. Revoke the app any time on Connect AI. |
| Personal access token | Scripts and apps without OAuth. Create it on Connect AI. Header: Authorization: Bearer TOKEN. Tokens start with bseo_pat_. The plaintext token is shown once. Only its SHA-256 hash is stored. Treat it like a password. |

A normal signed-in browser session is not accepted as an MCP token.

## Plans

The MCP server uses the same account as the budgetSEO app. There is no separate MCP license.

| Plan | Price | What it changes for MCP |
| --- | --- | --- |
| Free | $0 | 15 keywords, 1 project, manual rank checks. Read tools and keyword tracking within those slots. No AI keyword research runs. No AI visibility snapshots. |
| Starter | $9/mo or $90/yr | 150 keywords, 3 projects, weekly checks. AI keyword research (3 runs a month). AI visibility on 1 project. |
| Pro | $39/mo or $390/yr | 750 keywords, 10 projects, weekly checks plus daily checks on up to 100 ranking keywords. AI keyword research (15 runs a month). AI visibility on 3 projects. |

Pricing: https://www.budgetseo.ai/pricing
Start free: https://www.budgetseo.ai/signup

## Limits

- 60 MCP calls a minute per account.
- Read tools never spend lookup credits.
- track_keywords uses keyword slots, not lookup credits.
- research_keywords spends AI research usage and needs Starter or Pro, plus an audience set in the SEO Agent.
- get_ai_visibility citation gaps come from tracked keywords. Mention counts need a paid plan with AI visibility on.
- The assistant should confirm before track_keywords, untrack_keyword, research_keywords, or update_recommendation.
- The server does not change the website. get_keyword_action_plan is a checklist.

## FAQ

### What is the budgetSEO MCP server?

budgetSEO MCP is a Model Context Protocol server. A signed-in assistant can read your Google rank tracking, quick wins, competitor gaps, and AI Overview citation gaps, then track or untrack keywords and research new ones after you confirm. Documentation is https://www.budgetseo.ai/mcp. The protocol endpoint is https://www.budgetseo.ai/api/mcp.

### What URL do I add in Claude, ChatGPT, or Cursor?

Add https://www.budgetseo.ai/api/mcp. The transport is streamable HTTP. This HTML page is https://www.budgetseo.ai/mcp. Do not point the client at this page.

### Does the MCP server work without a budgetSEO account?

No. Every tool needs your budgetSEO account. Claude, ChatGPT, Claude Code, and Cursor open a consent screen. You sign in and allow the app. Scripts use a personal access token from Connect AI. The token starts with bseo_pat_, is shown once, and only its hash is stored.

### Which tools only read data?

Read tools are get_seo_briefing, find_quick_wins, find_opportunities, list_projects, get_rank_changes, get_keyword_action_plan, get_competitor_overview, and get_ai_visibility. They do not spend lookup credits. get_competitor_overview uses saved competitor data and does not start a paid lookup.

### Which tools change my account?

track_keywords adds keywords and uses plan keyword slots. untrack_keyword deletes one keyword and its history and cannot be undone. update_recommendation marks a briefing action done, dismissed, or snoozed. research_keywords finds new ideas and spends an AI research run. The assistant should confirm before any of these. None of them edit your website.

### Does connecting an assistant cost extra?

The connector is included with your budgetSEO plan. Free is $0 for 15 keywords on 1 project, with no credit card. Starter is $9/mo. Pro is $39/mo. research_keywords needs Starter or Pro. AI visibility mention counts need Starter or Pro with AI visibility turned on. Read tools do not spend lookup credits. The limit is 60 MCP calls a minute per account.

### Can ChatGPT or Claude run this every day?

ChatGPT scheduled tasks can call the connector. A free ChatGPT account can schedule at most once a day. Claude chat does not run connectors on a schedule. Claude Code scheduled tasks use the connector saved in claude.ai. Cursor does not run connectors on a schedule. A useful daily prompt is to call get_seo_briefing and quote estimated monthly clicks.

### How do I disconnect an app?

Open Connect AI in budgetSEO and revoke the app or delete the personal access token. A normal signed-in browser session is not an MCP token. After you revoke an app, it can no longer call these tools.
