Search Console for AI agents over MCP
Expose all of Impiseo’s organic search intelligence — real-time Google Search Console queries, crawled DOM content, cannibalization detector, and CTR headroom math — directly to Cursor, Claude, Windsurf, and custom AI agents.
Zero Browser Overhead
Connects directly to your database and Search Console endpoints. Agents query live GSC metrics without needing the web app running.
Strictly Read-Only
Authorized via personal imp_… keys. AI agents can analyze and inspect everything, with zero mutation risk.
Deterministic Headroom
Precomputed CTR curves, page word-count gaps, keyword cannibalization detection, and high-impression striking distance queries.
Configuration Guide
Connect to your favorite client
Copy the configuration block into your agent or editor settings to enable Impiseo MCP tools immediately.
{
"mcpServers": {
"impiseo": {
"type": "http",
"url": "https://mcp.impiclabs.com/mcp",
"headers": {
"Authorization": "Bearer imp_YOUR_API_KEY"
}
}
}
}Complete Tool Catalog
16 Available MCP Endpoints
Each tool returns a standardized envelope with structured data and pretty-printed copies for inspection.
Account identity, plan context, connected properties, and the active Search Console property.
Returns
{ ok, userId, email, onboarded, product, properties[], activeProperty, createdAt }Parameters
No parameters required — reads the account's active Search Console property.
All Search Console properties on the account with permission level, plus the active selected property.
Returns
{ ok, activeProperty, properties: [{ url, permissionLevel, addedAt }] }Parameters
No parameters required — reads the account's active Search Console property.
Dashboard-style totals, previous-period totals, daily time series, top 25 queries, and top 25 pages.
Returns
{ ok, range: { start, end, prevStart, prevEnd }, totals, prevTotals, series: [{ date, clicks, impressions }], queries[], pages[] }Parameters
| Param | Type | Description |
|---|---|---|
| site | string | GSC property URL. Defaults to active property. |
| days | number | Window in days, 1–90 (default 28). |
Top organic queries sorted by clicks, with impressions, CTR, and average position.
Returns
{ ok, site, range, offset, limit, count, queries: [{ key, clicks, impressions, ctr, position }] }Parameters
| Param | Type | Description |
|---|---|---|
| site | string | GSC property URL. Defaults to active property. |
| days | number | Window in days, 1–90 (default 28). |
| offset | number | Row offset for paging, 0–25000 (default 0). |
| limit | number | Max rows to return, 1–300 (default 100). |
Top organic pages sorted by clicks, joined with crawled title, meta description, and word count.
Returns
{ ok, site, range, offset, limit, count, pages: [{ path, clicks, impressions, ctr, position, title, metaDescription, wordCount, httpStatus }] }Parameters
| Param | Type | Description |
|---|---|---|
| site | string | GSC property URL. Defaults to active property. |
| days | number | Window in days, 1–90 (default 28). |
| offset | number | Row offset for paging, 0–25000 (default 0). |
| limit | number | Max rows, 1–300 (default 100). |
The queries sending search traffic to a specific page path — live from Search Console.
Returns
{ ok, page, normalizedPath, count, queries: [{ page, query, clicks, impressions, ctr, position }] }Parameters
| Param | Type | Description |
|---|---|---|
| page | string | Required. The page path (e.g. /blog/post-1). |
| site | string | GSC property URL. Defaults to active property. |
| days | number | Window in days, 1–90 (default 28). |
| limit | number | Max rows, 1–300 (default 50). |
Which pages rank for a specific query — detects keyword cannibalization and multiple ranking URLs.
Returns
{ ok, query, count, pages: [{ query, page, clicks, impressions, ctr, position }] }Parameters
| Param | Type | Description |
|---|---|---|
| query | string | Required. The exact query to inspect. |
| site | string | GSC property URL. Defaults to active property. |
| days | number | Window in days, 1–90 (default 28). |
| limit | number | Max rows, 1–100 (default 20). |
Calculates CTR headroom: best-ranking page, missing keywords vs query, projected clicks at #3 and #1, and deterministic fixing suggestions.
Returns
{ ok, site, range, offset, limit, count, total, queries: [{ query, clicks, impressions, ctr, position, intent, topPagePath, matchScore, missingTerms[], projectedTop3, headroomTop3, fixing }] }Parameters
| Param | Type | Description |
|---|---|---|
| site | string | GSC property URL. Defaults to active property. |
| days | number | Window in days, 1–90 (default 28). |
| offset | number | Row offset, 0–25000 (default 0). |
| limit | number | Max rows, 1–500 (default 100). |
| minImpressions | number | Filter queries with minimum impressions (default 0). |
| queryContains | string | Substring match filter (case-insensitive). |
| excludeBranded | boolean | Drop queries containing the brand token (default true). |
Latest content-ideas run (gap, striking-distance, intent-mismatch, winner-expansion) with topic metrics.
Returns
{ ok, hasRun, generatedAt, stats, ideas: [{ id, type, topic, queriesCount, impressions90d }] }Parameters
| Param | Type | Description |
|---|---|---|
| site | string | GSC property URL. Defaults to active property. |
Full details for an idea: evidence queries, covering pages, autocomplete phrasings, AI angle, and outline.
Returns
{ ok, found, idea: { id, type, topic, evidence, angle?, outline? } }Parameters
| Param | Type | Description |
|---|---|---|
| ideaId | string | Required. The idea id returned from get_ideas. |
| site | string | GSC property URL. Defaults to active property. |
History of idea-generation runs with aggregate analysis stats.
Returns
{ ok, count, runs: [{ userId, siteUrl, generatedAt, stats }] }Parameters
| Param | Type | Description |
|---|---|---|
| site | string | GSC property URL. Defaults to active property. |
Runnable audit recommendations: title rewriting, missing meta tags, thin content, and striking-distance fixes with projected click impact.
Returns
{ ok, count, recommendations: [{ id, type, severity, path, title, detail, action, impact, paths? }] }Parameters
| Param | Type | Description |
|---|---|---|
| site | string | GSC property URL. Defaults to active property. |
Stored AI fix plans for recommendations: diagnostic why, execution steps, draft title/meta, and agent prompt.
Returns
{ ok, count, enhancements: [{ recId, fingerprint, why, steps[], draftTitle, draftMeta, agentPrompt }] }Parameters
| Param | Type | Description |
|---|---|---|
| site | string | GSC property URL. Defaults to active property. |
| recId | string | Optional. Specific recommendation ID to fetch. |
Stored crawled on-page data: title, meta description, headings, word count, structured data, and HTTP status.
Returns
{ ok, count, pages: [{ path, httpStatus, title, metaDescription, canonical, headings[], wordCount, structuredData[] }] }Parameters
| Param | Type | Description |
|---|---|---|
| site | string | GSC property URL. Defaults to active property. |
| path | string | Exact normalized path to query. |
| prefix | string | Path prefix filter, e.g. /blog. |
| limit | number | Max rows, 1–500 (default 200). |
Live-fetches a page right now and parses its DOM: title, meta description, canonical, word count, heading hierarchy, and optional raw HTML.
Returns
{ ok, origin, url, finalUrl, httpStatus, sizeBytes, title, metaDescription, canonical, wordCount, headings: [{ level, text, position }], html }Parameters
| Param | Type | Description |
|---|---|---|
| page | string | Required. Page path or full URL on the same origin. |
| site | string | GSC property URL. Defaults to active property. |
| includeHtml | boolean | Include raw HTML string (default false). |
Total pages with metrics, pages with crawled content, and last Search Console sync timestamp.
Returns
{ ok, site, pagesWithMetrics, pagesWithContent, lastSyncedAt }Parameters
| Param | Type | Description |
|---|---|---|
| site | string | GSC property URL. Defaults to active property. |
Test every tool against real Search Console data
Use the built-in MCP Playground in the dashboard to execute queries, inspect raw JSON-RPC responses, and verify parameters before connecting your agent.