Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
90
A2A A2A 2025-06-18 v1.0.0

Blockquote

blockquote.io · Arne Kellmann

Blockquote scores a public URL 0-100 for how likely ChatGPT, Perplexity and Google AI Overviews are to cite it, and returns the fixes. The skills below are served over the Model Context Protocol (Streamable HTTP) at https://mcp.blockquote.io/mcp. Blockquote runs no A2A JSON-RPC endpoint, so the interface below declares the MCP binding it does serve, not an A2A one.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain blockquote.io via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership
🔔 Watch this agent. Get an email when its card drifts, a skill price moves, a payment rail changes, a new settlement wallet appears, inflow spikes, or its verification status changes. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
43/100
grade D · 9 criteria
Uptime
accumulating
1/5 direct probes · 30d
Observed inflow · 30d
—
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
changed
1 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

D
Conformance score: 43/100
D-grade: significant issues, auth-gated, partially broken, or stale.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
partial Live JSON-RPC 10/25
Card declares only gRPC / HTTP+JSON interfaces; the live probe covers JSON-RPC, so the endpoint was not exercised. Not a defect in the card.
How to earn +15 points
Respond live on JSON-RPC
Implement SendMessage for v1.0 (or message/send for v0.x), negotiate A2A-Version, and return a schema-valid JSON-RPC response. Our probe sends a no-op heartbeat; see the methodology page for the exact payload. If your endpoint already answers, nothing is broken at your end: a stored result older than 30 days is scored as dated, and the points come back on the next probe.
Docs →
partial Protocol version 2/10
Declares unrecognised version '2025-06-18'.
How to earn +8 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` (Major.Minor, no patch number — §3.6) to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
pass Skill declaration 10/10
Declares 11 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: Arne Kellmann (https://blockquote.io/imprint). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 4/5
seen in upstream source within 0d
partial Security declaration 2/5
Declares 1 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs →
⚠ Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

1 snapshot Every change to agent-card.json
Captured Hash
2026-10-02 11:04:28 current 13b0bbed014f… view →
Uptime
accumulating
1 direct probes · 30d
Response
62ms
last direct probe
Skills
11
declared
Streaming
—
SSE-capable

Skills · 11 declared · mapped to canonical taxonomy

Start an AI-citability scan

Scan a public HTTPS URL for AI citability. Returns a scan id at once; poll get_scan until the status is done.

canonical Agent Profiles match 85%
seocitabilityauditscan
Get scan status and report

Read a scan by id as a summary, as the complete report JSON, or as one Markdown document.

canonical Documentation Generation match 84%
reportscan
List all citability checks

The catalog of every check a scan runs, with what it measures and why it matters.

canonical Parts and Components Lookup match 85%
catalogchecks
Explain one check in depth

What one check measures, why it matters for AI citation, and the typical fix.

canonical Get Article match 84%
catalogchecksfix
Audit agent readiness

Audit how well AI agents can find, read and use a domain, an MCP server or an MCP App. Returns a score, evidence per check and a fix for each failure.

canonical Multi Agent Planning match 84%
agentsmcpauditreadiness
Get an agent-readiness report

Read a stored agent-readiness report as a summary, JSON or one Markdown document.

canonical Documentation Generation match 85%
agentsreport
Account plan and usage

Plan, limits and scans used today and this month for the API key in the Authorization header.

canonical Api Schema Understanding match 85%
accountusage
Compare two scans of one URL

What changed between two finished scans of one page: score deltas, flipped checks, and resolved, new and open recommendations.

canonical Resume Screening match 86%
reportdiffhistory
List monitored URLs

The URLs this account re-scans weekly, each with its last score and run time.

canonical Performance Monitoring match 84%
monitoraccount
Add a URL to the weekly monitor

Add a public HTTPS URL to this account's weekly re-scan. Monitoring needs a paid plan.

canonical Performance Monitoring match 82%
monitoraccount
Stop monitoring a URL

Remove one monitor by its id. Weekly re-scans of that URL stop; the reports it produced stay readable.

canonical Performance Monitoring match 82%
monitoraccount

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-10-02 11:04:28 200 — 62ms

Cheaper or better alternatives per-skill

↑ 2 higher quality

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

AIScan live
AI visibility auditing for websites. 4 scores (AEO, GEO, Agent Readiness, MCP Readiness - the only scanner that checks MCP) plus Brand Visib
AIScan · q 100%
MCP Analytics
The statistical analyst in your AI chat: bring a dataset and a question, get back a citable, re-runnable report with its method named.
MCP Analytics · q 73%
GAIP Broker
Runs GAIP's governed Broker → Integration → Trust → Specialist loop for public, non-personal, zero-price, read-only tasks.
GAIP · q 80%
GAIP Broker
Runs GAIP's governed Broker → Integration → Trust → Specialist loop for public, non-personal, zero-price, read-only tasks.
GAIP · q 80%
agentbuilt live
Measures and fixes how AI assistants and agents see a brand. Free: audits any URL for AI legibility (crawler permissions, JavaScript-free te
agentbuilt · q 100%
fresh-feeds live
Continuously-maintained, machine-readable data + trust feeds for AI agents: the MCP server registry (deduped, quality-scored) and the x402 s
FOOM — foomworks · q 100%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/blockquote.io.svg)](https://agenstry.com/agents/blockquote.io)
[![Verified Business](https://agenstry.com/badge/blockquote.io/identity.svg)](https://agenstry.com/agents/blockquote.io)
[![Uptime](https://agenstry.com/badge/blockquote.io/uptime.svg)](https://agenstry.com/agents/blockquote.io)
[![A2A version](https://agenstry.com/badge/blockquote.io/protocol.svg)](https://agenstry.com/agents/blockquote.io)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "Blockquote",
  "description": "Blockquote scores a public URL 0-100 for how likely ChatGPT, Perplexity and Google AI Overviews are to cite it, and returns the fixes. The skills below are served over the Model Context Protocol (Streamable HTTP) at https://mcp.blockquote.io/mcp. Blockquote runs no A2A JSON-RPC endpoint, so the interface below declares the MCP binding it does serve, not an A2A one.",
  "version": "1.0.0",
  "documentationUrl": "https://blockquote.io/docs/ai-agents",
  "iconUrl": "https://blockquote.io/icon-512.png",
  "provider": {
    "organization": "Arne Kellmann",
    "url": "https://blockquote.io/imprint"
  },
  "supportedInterfaces": [
    {
      "url": "https://mcp.blockquote.io/mcp",
      "protocolBinding": "MCP+HTTP",
      "protocolVersion": "2025-06-18"
    }
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "securitySchemes": {
    "apiKey": {
      "description": "Optional. Anonymous callers get rate-limited free scans. An API key (bq_...) created on https://blockquote.io/account unlocks account quotas, the full fix list and the monitor skills. RFC 9728 metadata: https://blockquote.io/.well-known/oauth-protected-resource",
      "scheme": "Bearer",
      "bearerFormat": "bq_<opaque>"
    }
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/markdown",
    "text/plain"
  ],
  "skills": [
    {
      "id": "start_scan",
      "name": "Start an AI-citability scan",
      "description": "Scan a public HTTPS URL for AI citability. Returns a scan id at once; poll get_scan until the status is done.",
      "tags": [
        "seo",
        "citability",
        "audit",
        "scan"
      ],
      "examples": [
        "Scan example.com/blog/post for AI citability."
      ]
    },
    {
      "id": "get_scan",
      "name": "Get scan status and report",
      "description": "Read a scan by id as a summary, as the complete report JSON, or as one Markdown document.",
      "tags": [
        "report",
        "scan"
      ],
      "examples": [
        "Give me the full markdown report for scan s4t8n2vq6w1e."
      ],
      "outputModes": [
        "application/json",
        "text/markdown"
      ]
    },
    {
      "id": "list_checks",
      "name": "List all citability checks",
      "description": "The catalog of every check a scan runs, with what it measures and why it matters.",
      "tags": [
        "catalog",
        "checks"
      ],
      "examples": [
        "Which citability checks does Blockquote run?"
      ]
    },
    {
      "id": "explain_check",
      "name": "Explain one check in depth",
      "description": "What one check measures, why it matters for AI citation, and the typical fix.",
      "tags": [
        "catalog",
        "checks",
        "fix"
      ],
      "examples": [
        "Explain the schema-faqpage check."
      ]
    },
    {
      "id": "audit_agent_readiness",
      "name": "Audit agent readiness",
      "description": "Audit how well AI agents can find, read and use a domain, an MCP server or an MCP App. Returns a score, evidence per check and a fix for each failure.",
      "tags": [
        "agents",
        "mcp",
        "audit",
        "readiness"
      ],
      "examples": [
        "Audit example.com for agent readiness.",
        "Audit the MCP server at https://mcp.example.com/mcp."
      ]
    },
    {
      "id": "get_agent_readiness",
      "name": "Get an agent-readiness report",
      "description": "Read a stored agent-readiness report as a summary, JSON or one Markdown document.",
      "tags": [
        "agents",
        "report"
      ],
      "examples": [
        "Show the agent-readiness report as Markdown."
      ],
      "outputModes": [
        "application/json",
        "text/markdown"
      ]
    },
    {
      "id": "get_account",
      "name": "Account plan and usage",
      "description": "Plan, limits and scans used today and this month for the API key in the Authorization header.",
      "tags": [
        "account",
        "usage"
      ],
      "examples": [
        "How many scans do I have left this month?"
      ],
      "securityRequirements": [
        {
          "schemes": {
            "apiKey": {
              "list": [
                "read"
              ]
            }
          }
        }
      ]
    },
    {
      "id": "compare_scans",
      "name": "Compare two scans of one URL",
      "description": "What changed between two finished scans of one page: score deltas, flipped checks, and resolved, new and open recommendations.",
      "tags": [
        "report",
        "diff",
        "history"
      ],
      "examples": [
        "Compare the two newest scans of example.com/pricing."
      ],
      "outputModes": [
        "application/json",
        "text/markdown"
      ]
    },
    {
      "id": "list_monitors",
      "name": "List monitored URLs",
      "description": "The URLs this account re-scans weekly, each with its last score and run time.",
      "tags": [
        "monitor",
        "account"
      ],
      "examples": [
        "Which pages am I monitoring?"
      ],
      "securityRequirements": [
        {
          "schemes": {
            "apiKey": {
              "list": [
                "monitors"
              ]
            }
          }
        }
      ]
    },
    {
      "id": "add_monitor",
      "name": "Add a URL to the weekly monitor",
      "description": "Add a public HTTPS URL to this account's weekly re-scan. Monitoring needs a paid plan.",
      "tags": [
        "monitor",
        "account"
      ],
      "examples": [
        "Monitor example.com/pricing every week."
      ],
      "securityRequirements": [
        {
          "schemes": {
            "apiKey": {
              "list": [
                "monitors"
              ]
            }
          }
        }
      ]
    },
    {
      "id": "remove_monitor",
      "name": "Stop monitoring a URL",
      "description": "Remove one monitor by its id. Weekly re-scans of that URL stop; the reports it produced stay readable.",
      "tags": [
        "monitor",
        "account"
      ],
      "examples": [
        "Stop monitoring monitor m7k2p9qx41ba."
      ],
      "securityRequirements": [
        {
          "schemes": {
            "apiKey": {
              "list": [
                "monitors"
              ]
            }
          }
        }
      ]
    }
  ]
}