MCP server and the ChatGPT app
The SEOKit MCP server lets an AI client list your Search Console properties and query performance data. This page covers the two ways to connect, the read and write tools, token lifetimes and rate limits, and how to stay safe.
✓ Checked in the workspace code · 7 October 2026
What the MCP server is for
SEOKit publishes a Model Context Protocol server named “SEOKit Search Console”. An AI client that supports MCP, such as ChatGPT, Claude or a script, can list your properties and query Search Console performance data through it, using your SEOKit account. Which connection route to choose, and the limits Google puts on the data, are covered in five ways to connect Search Console to ChatGPT; how ChatGPT itself accepts a server is in the connector playbook.
The server is one third-party option among several. Apply the trust checks from those playbooks to it too.
Two ways to connect
| Way | How it works |
|---|---|
| API key | create a key on the MCP API Keys page with a name and a scope, read or write, and paste it into a client that accepts a key; the key is stored only as a hash and can be revoked |
| OAuth sign-in | for clients such as the ChatGPT app: the client registers itself, you approve it on a consent screen, and it receives a token |
The “MCP and ChatGPT app” page in the account menu shows the endpoint address and the install steps for ChatGPT.
Read and write scopes
A key or an OAuth grant is either read or write. OAuth asks for mcp:read and, if you allow it, mcp:write, together with the basic sign-in scopes openid and email. Grant read access unless you need the assistant to change something.
| Tool | Scope | What it does |
|---|---|---|
gsc_list_properties | read | lists the Search Console properties available to the account |
seokit_account_profile | read | shows which SEOKit account is connected, useful with several connections |
gsc_search_analytics | read | queries performance data for one property |
gsc_list_topic_clusters | read | lists the topic clusters of a property |
gsc_add_property | write | adds a property to Search Console; Google still requires ownership verification |
gsc_submit_indexnow | write | submits URLs to IndexNow (IndexNow) |
gsc_upsert_topic_cluster, gsc_delete_topic_cluster | write | creates, changes or deletes a topic cluster (clusters) |
What the performance query accepts
- Required: the property, a start date and an end date.
- Dimensions: up to three of date, query, page, country and device.
- Search type: web, image, video, news or discover.
- Rows: 1 to 25,000. Google’s own limits then apply: 1,000 rows by default, 25,000 per request and 50,000 per day per site per search type.
The assistant receives rows, not an analysis, so it is the assistant that does the arithmetic. Ask it to state the row count and compare one total with the Performance report.
Tokens and rate limits
- OAuth access tokens last 8 hours and refresh tokens 30 days; after that the client asks you to approve again.
- Rate limit: 60 calls per minute and 1,000 per hour for each user. A client that exceeds it is told how many seconds to wait.
- Revocation: revoke a key or an OAuth connection at any time; it stops working at once.
Staying safe
- Use read access by default.
- Name each key for its client so you know what to revoke.
- Read what a write tool will do before approving a confirmation prompt in the client.
- Revoke keys you no longer use.
If something looks wrong
| Symptom | Cause and fix |
|---|---|
| Write tools are missing | the key or grant has read scope only |
| “insufficient_scope” | the grant lacks the openid and email scopes; reconnect |
| 429 | rate limit; wait the stated number of seconds |
| Adding a property fails | adding a property needs Google’s broader Search Console permission, which a read-only connection may not have; add the property in Search Console instead |
MCP and the ChatGPT app, answered
Can the assistant change my data?
Only with a write key or grant, and only through the four write tools.
How long does a sign-in last?
Access tokens last 8 hours and refresh tokens 30 days.
Is there a request limit?
Yes: 60 calls a minute and 1,000 an hour per user.