Architecture Four MCPs, three wrapped APIs, six data sources

How it works.

Composite MCP tools join six per-URL data sources on the canonical URL key. Every workflow chains across multiple MCPs and emits a tracked_id for the attribution loop.

Orchestration plane

Four MCPs, three wrapped APIs.

Eight pluggable sources, one URL key. Each card below is one connector: own MCP servers, vendor MCPs, and HTTP/SSE APIs we wrap in-process.

MCP

Peec AI

Anchor MCP: citations, SoV, sentiment, fan-out, prompt suggestions. Streamable-HTTP transport against api.peec.ai/mcp.

MCP

Ahrefs

Ahrefs MCP for backlinks and keyword volume. Used by the semantic-gap, decay, and prompt-bridge composites for upstream demand context.

MCP

GSC Wizard (own)

Own MCP. Inspection + impressions/clicks/rank. 2000/day quota guard via tiered T1/T2/T3 priority queue.

MCP

Glippy (own)

Own MCP. GEO readiness via stdio MCP. Score + grade + top issues + chunkability hints per URL.

API

Ahrefs Firehose

Real-time competitor mention stream over SSE HTTP, not MCP. Peecockpit wraps it in-process and surfaces it through composite tools.

API

Majestic

Backlinks JSON API: ExtBackLinks, RefDomains, TrustFlow, CitationFlow. Wired into the URL report's GEO readiness tile and the journey's external-mentions track.

API

BotsAnalyser

Turnkey AI-bot traffic feed (api.botsanalyser.com). One of three drivers behind bot_log_client.py alongside Cloudflare Logpush and a static-JSON demo adapter.

API

GA4 / GSC

Per-Peec-project Google OAuth. GA4 for AI-referral sessions / revenue, GSC Inspection for crawl/index state, GSC Wizard for impressions/clicks/rank.

Composite tools

One MCP call returns the full join.

Every page in the dashboard maps to a single composite MCP tool. The tool is the join. Agents call it; humans see it; both get the same payload.

1
get_full_url_report(url)

Drop a URL, get the full funnel: bots, Inspection, GSC Wizard, Peec citations, Glippy readiness, GA4 sessions and revenue. The hero composite that powers /url-report.

Bot logsGSC · InspectionGSC WizardPeec · get_url_reportGlippy · get_geo_summaryGA4 · runReport
2
get_semantic_gap_report(project_id)

Per-prompt Gap Score across volume, coverage, semantic distance, and ecosystem (weights tuned per client) plus the routing decision. Powers /semantic-gap.

Peec · get_url_reportPeec · list_search_queriesPeec · get_url_contente5-large-instruct
3
get_morning_briefing(project_id)

Last-24h deltas, new citations, competitor gains, dropped coverage. Powers /morning-briefing, and a Slack Block Kit message.

Peec · get_brands_reportPeec · list_chatsGA4 · ai_referral_sessions
4
list_actions(project_id)

All ranked opportunities across SEO/PR/Marketing with the prescribed MCP chain to execute each.

All compositesRouting matrixtracked_events

tracked_id attribution loop

Every recommended action emits a tracked_id and is retracked at T+14 / T+28. The outcome delta closes the loop. No more 'we shipped a fix, did it work?'

Provenance on every tile

Each surface carries chips showing live MCP / file snapshot / fallback, so the freshness of every number is explicit on the page.

Safe-by-default writes

Writes to Peec are off until you explicitly opt in. Even when on, a daily cap bounds the blast radius and every applied change lands in the audit log.

GSC Inspection quota guard

2000/day/property cap respected via a tiered priority queue: T1 daily, T2 weekly, T3 monthly-rotating, plus on-demand. UTC midnight roll, not Pacific. Over-conservative is the safer choice.

GA4 sampling detection

If GA4 reports sampling_metadatas, a Sampled chip surfaces with the sampling ratio. Numbers above the ~10M events/day threshold are not over-trusted.

Confounder count on events

Each tracked event surfaces how many other actions opened within ±48h, so a metric delta in a crowded window doesn't read as cleanly causal.

Join the early-access list

You'll get an invite when we open the next batch, plus one short email when we ship a new feature page. No drip campaign, no spam.