Impiseo/Model Context Protocol
MCP Server v2025.1 Ready
MCP|Model Context Protocol Standard

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.

01 / Independence

Zero Browser Overhead

Connects directly to your database and Search Console endpoints. Agents query live GSC metrics without needing the web app running.

02 / Security

Strictly Read-Only

Authorized via personal imp_… keys. AI agents can analyze and inspect everything, with zero mutation risk.

03 / Algorithms

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.

~/.claude.json
{
  "mcpServers": {
    "impiseo": {
      "type": "http",
      "url": "https://mcp.impiclabs.com/mcp",
      "headers": {
        "Authorization": "Bearer imp_YOUR_API_KEY"
      }
    }
  }
}
Requires active key with read-only permissionsMint API Key →

Complete Tool Catalog

16 Available MCP Endpoints

Each tool returns a standardized envelope with structured data and pretty-printed copies for inspection.

get_profileAccountread-only

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.

JSON-RPC 2.0 compatibleTest in playground →
list_sitesAccountread-only

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.

JSON-RPC 2.0 compatibleTest in playground →
get_overviewSearch Consoleread-only

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

ParamTypeDescription
sitestringGSC property URL. Defaults to active property.
daysnumberWindow in days, 1–90 (default 28).
JSON-RPC 2.0 compatibleTest in playground →
get_queriesSearch Consoleread-only

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

ParamTypeDescription
sitestringGSC property URL. Defaults to active property.
daysnumberWindow in days, 1–90 (default 28).
offsetnumberRow offset for paging, 0–25000 (default 0).
limitnumberMax rows to return, 1–300 (default 100).
JSON-RPC 2.0 compatibleTest in playground →
get_pagesSearch Consoleread-only

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

ParamTypeDescription
sitestringGSC property URL. Defaults to active property.
daysnumberWindow in days, 1–90 (default 28).
offsetnumberRow offset for paging, 0–25000 (default 0).
limitnumberMax rows, 1–300 (default 100).
JSON-RPC 2.0 compatibleTest in playground →
get_page_queriesSearch Consoleread-only

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

ParamTypeDescription
pagestringRequired. The page path (e.g. /blog/post-1).
sitestringGSC property URL. Defaults to active property.
daysnumberWindow in days, 1–90 (default 28).
limitnumberMax rows, 1–300 (default 50).
JSON-RPC 2.0 compatibleTest in playground →
get_query_pagesSearch Consoleread-only

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

ParamTypeDescription
querystringRequired. The exact query to inspect.
sitestringGSC property URL. Defaults to active property.
daysnumberWindow in days, 1–90 (default 28).
limitnumberMax rows, 1–100 (default 20).
JSON-RPC 2.0 compatibleTest in playground →
get_query_opportunitiesOpportunities & Headroomread-only

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

ParamTypeDescription
sitestringGSC property URL. Defaults to active property.
daysnumberWindow in days, 1–90 (default 28).
offsetnumberRow offset, 0–25000 (default 0).
limitnumberMax rows, 1–500 (default 100).
minImpressionsnumberFilter queries with minimum impressions (default 0).
queryContainsstringSubstring match filter (case-insensitive).
excludeBrandedbooleanDrop queries containing the brand token (default true).
JSON-RPC 2.0 compatibleTest in playground →
get_ideasOpportunities & Headroomread-only

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

ParamTypeDescription
sitestringGSC property URL. Defaults to active property.
JSON-RPC 2.0 compatibleTest in playground →
get_idea_detailOpportunities & Headroomread-only

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

ParamTypeDescription
ideaIdstringRequired. The idea id returned from get_ideas.
sitestringGSC property URL. Defaults to active property.
JSON-RPC 2.0 compatibleTest in playground →
list_idea_runsOpportunities & Headroomread-only

History of idea-generation runs with aggregate analysis stats.

Returns

{ ok, count, runs: [{ userId, siteUrl, generatedAt, stats }] }

Parameters

ParamTypeDescription
sitestringGSC property URL. Defaults to active property.
JSON-RPC 2.0 compatibleTest in playground →
get_recommendationsRecommendationsread-only

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

ParamTypeDescription
sitestringGSC property URL. Defaults to active property.
JSON-RPC 2.0 compatibleTest in playground →
get_rec_enhancementsRecommendationsread-only

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

ParamTypeDescription
sitestringGSC property URL. Defaults to active property.
recIdstringOptional. Specific recommendation ID to fetch.
JSON-RPC 2.0 compatibleTest in playground →
get_page_contentCrawl & DOMread-only

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

ParamTypeDescription
sitestringGSC property URL. Defaults to active property.
pathstringExact normalized path to query.
prefixstringPath prefix filter, e.g. /blog.
limitnumberMax rows, 1–500 (default 200).
JSON-RPC 2.0 compatibleTest in playground →
get_page_htmlCrawl & DOMread-only

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

ParamTypeDescription
pagestringRequired. Page path or full URL on the same origin.
sitestringGSC property URL. Defaults to active property.
includeHtmlbooleanInclude raw HTML string (default false).
JSON-RPC 2.0 compatibleTest in playground →
get_crawl_statusCrawl & DOMread-only

Total pages with metrics, pages with crawled content, and last Search Console sync timestamp.

Returns

{ ok, site, pagesWithMetrics, pagesWithContent, lastSyncedAt }

Parameters

ParamTypeDescription
sitestringGSC property URL. Defaults to active property.
JSON-RPC 2.0 compatibleTest in playground →
Interactive Sandbox

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.