MCP server — machinesloveyou

A read-only Model Context Protocol server that gives an AI agent access to one account’s SEO, AEO and GEO measurements: what a site ranks for, who links to it, how fast it is, which sources AI engines read to answer about its market, and the lens reviews the account has run. Everything below is what an agent can call with a token.

Connect

Endpoint: https://machinesloveyou.com/mcp — Streamable HTTP, no session. Authentication is a bearer token created in the account settings at https://machinesloveyou.com/account/mcp; it is shown once, stored as a hash, and revocable from the same screen.

claude mcp add --transport http machinesloveyou https://machinesloveyou.com/mcp \
  --header "Authorization: Bearer seo_live_YOUR_TOKEN"

Any MCP client works — the command above is for Claude Code. Send the token as Authorization: Bearer … on every request. Without a valid token the server answers 401 with a WWW-Authenticate: Bearer header pointing back to this page.

What it can and cannot do

Limits

Tools

seo_projects

Your projects: slug, name, domain, description, and how much data each holds.

Parameters: none

seo_data

One dataset for one project. Returns current state; the *_history datasets carry the time series. Every answer states the true total, so truncated:true means there is more and nextOffset says where to continue.

Parameters: project (slug), dataset (see the list below), limit (1-500, default 100), offset

seo_report

A generated markdown report. The action-plan is the prioritised plan with its evidence.

Parameters: project (slug), kind: action-plan | weekly | full-data

seo_lens_reports

Index of your lens reviews — one row per lens with its title, score and finding count. Lenses that could not run appear too, with the reason.

Parameters: project (slug, optional — omit for all your projects)

seo_lens_report

One lens review in full: score with its per-dimension breakdown, every finding with its proof, conclusions, this-week actions and big bets.

Parameters: id (from seo_lens_reports)

Datasets (42)

Names accepted by seo_data. Each returns current state unless its name ends in _history. An empty result means not measured yet — never that the site is fine.

aeoai_brandsai_crawlersai_overview_citationsai_sourcesai_trafficanalyticsanalytics_channelauthoritybing_backlinksbing_queriesbrand_mentionsclaritycommunity_threadscompetitor_trafficcompetitorscontent_gapcrawler_pathscrux_currententitiesgeogoogle_indexgschn_mentionsindexabilityinternal_linkskeyword_ideaskeywordslink_prospectsopportunitiespagespositionsrelated_questionsrender_auditrival_keywordsrivals_in_airobots_aiseo_businessspeed_fieldspeed_labtech_auditunlinked_mentions

Lenses (31)

A lens is a specialist review of a site, written over measured evidence. Each one scores a rubric and returns findings, and no finding is emitted without proof: a quote checked against the page text that was actually read, or a value checked against a dataset that was actually collected. Findings whose proof does not hold are discarded before the report is written. Lenses marked measured read the account’s datasets; the rest read the site itself.

Search

  • seo-auditTechnical SEO Audit: Indexing, structure, crawlability (measured)
  • google-indexGoogle Indexing: Google's own verdict, URL by URL (measured)
  • search-performanceSearch Performance: Real queries, CTR and position (measured)
  • seo-copy-brandSEO, Copy & Brand: What they search vs what your copy says (measured)
  • content-strategyContent Strategy: What rivals cover that you don't (measured)

AI search

  • ai-visibilityAI Search Visibility: LLM citations, answer engines (measured)
  • ai-sourcesAI Sources: The sources behind AI answers (measured)

Authority & rivals

  • authority-linksAuthority & Links: Your authority against rivals, and who links to them and not you (measured)
  • pr-trustPR & Credibility: Reclaimable mentions and community conversation (measured)
  • competitiveCompetitive Edge: Who actually leads your market, by the numbers (measured)

Real experience

  • field-speedField Speed: Real Chrome users, not a lab (measured)
  • behaviorReal Behavior: Rage clicks, dead clicks and real scroll, not opinions (measured)

Specialized

  • seo-localLocal SEO: NAP, business schema, and which local page actually sells (measured)
  • ecommerceE-commerce: Product schema and cross-page price discrepancies (measured)
  • hreflangHreflang / International: Reciprocal pairs, canonical and x-default, only what was read (measured)
  • programmaticProgrammatic SEO: Thin content at scale and index bloat, measured (measured)
  • imagesImages: Only what the read pages allow: CLS and schema (measured)

Marketing & conversion

  • croConversion Rate Optimization: Above-the-fold, CTAs, funnel friction
  • email-lifecycleEmail & Lifecycle: Capture, incentive, and the post-signup promise
  • launchLaunch Playbook: Launch signals, urgency, and press proof
  • lead-magnetsLead Magnets: The magnet, its gate, and whether it fits the product
  • marketing-ideasMarketing Ideas: Opportunities grounded in what the site already has
  • onboardingOnboarding & Activation: The onboarding promise and the real first step
  • paid-adsPaid Ads Strategy: Whether this page can carry cold, paid traffic
  • paywallsPaywalls & Pricing: Legible pricing, fine print, and cross-page consistency
  • positioningPositioning & Messaging: The core promise, who it's for, and why different
  • psychologyPersuasion & Psychology: Persuasion actually quoted, and the dark patterns
  • referralsReferral Engine: Whether the program exists, and if the incentive is clear
  • retentionRetention & Churn: Cancellation friction and the hooks that remain
  • signup-flowSignup Flow: Declared friction, CTAs, and their consistency
  • social-presenceSocial Media Presence: Which channels the site links, and how consistently

Reading a lens report

seo_lens_report returns the report object. Its fields:titulo (title), resumenDelNegocio (what the business is),puntuacion (score out of 100) with porQueEsaPuntuacion (why) anddesglose (per-rubric-dimension points), hallazgos (findings),conclusiones, estaSemana (do this week),apuestasGrandes (bigger bets), and evidencia — which names what was measured and, in ausentes, what was not, with the reason. Field names are in Spanish because they are the stored schema; the report text itself is written in the language the report was run in.

Every finding carries a prueba (proof) of one of three kinds:medido — a value from a named dataset; citado — text quoted verbatim from a named URL; criterio — expert judgement about a genuine absence, capped at two per report so a review cannot be padded with opinion.

About the measurements

Data is collected per project by scheduled and on-demand jobs: crawling the site, reading Search Console and analytics where connected, tracking positions, backlinks and Core Web Vitals, and asking AI engines what they answer about the market and which sources they cite. Absence of data always means not measured yet.