Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
73
A2A v1.0.5

MCP Analytics

mcpanalytics.ai · 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.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain mcpanalytics.ai 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
44/100
grade D · 9 criteria
Uptime
accumulating
1/5 direct probes · 30d
~505 ms response
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: 44/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 15/25
Endpoint requires auth, real agent but not anonymously callable.
How to earn +10 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 →
fail Protocol version 0/10
No protocolVersion in card.
How to earn +10 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 28 skills with structured metadata. 28 skills without tags — optional in 0.x, REQUIRED once you move the card to v1.0.
partial Verified Identity 5/10
Provider declared: MCP Analytics (https://mcpanalytics.ai). 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
info Security declaration 0/5
Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated.
⚠ 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-01 08:52:01 current bda9b92d93b9… view →
Uptime
accumulating
1 direct probes · 30d
Response
93ms
last direct probe
Skills
28
declared
Streaming
—
SSE-capable

Skills · 28 declared · mapped to canonical taxonomy

account link

Direct link to the right account page for anything not doable in chat: billing, browser upload, report management. Hand the user the link and guide them.

about

Platform documentation and info: how it works, tiers, usage.

canonical Documentation Generation match 85%
agent advisor

AI help desk: which analysis fits your question, interpreting results, fixing errors. Multi-turn.

canonical Multi Agent Planning match 86%
datasets upload

Get your data in. Pass `data` as an array of row objects to create the dataset immediately and get a dataset_ref ready for create_analysis; omit it to get an up…

canonical Dataset Curation match 83%
datasets list

List and search your uploaded datasets, with fuzzy matching on name, description, and tags. Returns each dataset's uuid:// reference for use in create_analysis …

canonical Dataset Curation match 85%
discover tools

Browse the analyses you can run: the ones you commissioned plus the platform Standard Library (prebuilt tools; each result tagged source:'own' or 'standard_libr…

canonical Model Evaluation and Benchmarking match 84%
tools schema

Get an analysis's parameter schema. ALWAYS call before run_analysis.

canonical Api Schema Understanding match 83%
run analysis

Run an analysis on your data. Returns a shareable interactive report URL with statistics you can cite, re-run and share, and the method named.

canonical Investment Analysis match 84%
create analysis

Commission a NEW analysis built for your question. tier is REQUIRED. The user picks. Easiest: fuzzy_request (plain language) + dataset_ref + tier. Snapshot = in…

canonical Task Decomposition match 84%
modify analysis

Modify an EXISTING analysis into a new version: reword the question, swap the method, or add a variable. Pass tool_name + changes (plain language). Rebuilds on …

canonical Model Versioning match 83%
request estimate

START HERE for a new question: free, ~30 s. A rough answer over a sample plus the layout of the complete package, every place named with the question it will an…

canonical Plumber Dispatch and Quotes match 85%
review estimate

The estimate as you review it WITH the user: the question as understood, the estimated answer (sample, marked), every place and its question, the page link, a r…

canonical SEO Analysis and Optimisation match 84%
adjust estimate

Apply the user's layout wishes to the estimate's page through the layout agent; a new named arrangement, nothing overwritten, no number changes.

canonical Real Estate Agent Intake match 82%
answer now

A read of the data (average, count, total, highest/lowest by group, a value in a month) answered in this response, in seconds. Not a read -> immediate=false wit…

canonical Model Evaluation and Benchmarking match 81%
decide path

Step 0 for a new question: which path answers it on this data. One record: route (reuse | answer | package | ask | none), a score with its reason for each of an…

canonical Maps and Routing match 81%
find precedent

Before estimating: how did we answer this objective before, on this data or any data? Prior packages and library runs with their tools, mappings, bespoke module…

canonical Model Evaluation and Benchmarking match 86%
check tool fit

Before naming a library tool: does it fit THIS dataset for THIS question? Column mapping, missing required inputs, method-fit verdict, the places it delivers. R…

canonical Data Quality Assessment match 85%
order analytics package

Order what the estimate promised after reviewing it: library tools that fit, a bespoke build, or both, computed on the whole dataset; one reviewed page delivere…

canonical Invoicing and Billing match 82%
package status

Read an analytics package back: status, every run under it, the report link once delivered.

canonical SEO Analysis and Optimisation match 83%
rerun package

Run a delivered package again, on its own data or new data: the same tools, the same curated objects, the same layout, as a new package with its own link.

canonical Tutor Matching and Scheduling match 82%
my objects

List and search the objects you own across every question: the curated charts, tables and figures of each delivered package, grouped by objective.

canonical Object Detection match 84%
build status

Check a commissioned build in-chat: stage progress, queue position, rejection reason if the data didn't match the objective, honest ETA, report link when delive…

canonical Model Evaluation and Benchmarking match 85%
ask library

Ask a question across all your delivered analyses: a synthesized answer with citations back to specific reports.

canonical Literature Review and Synthesis match 87%
reports list

Your report library: every analysis delivered, with status and links. Pass semantic_query to search report content in plain language.

canonical List Articles match 85%
warehouse

Query your org's data warehouse free: browse the catalog (tables with column roles + computed metrics), semantically find data, plain-language ask, or named tem…

canonical Data Warehouse Operations match 87%
schedules

Standing re-runs of analyses you own: action='create' (weekly/monthly against a re-runnable data reference, connector:// or an https:// link; report emailed aft…

canonical Recurring Job Scheduling match 84%
reports view

Get a shareable browser link for a report, viewable without authentication.

canonical General Web Search match 85%
report cards

Browse a delivered report's individual cards (charts, tables, insights) inline in chat.

canonical Resume Screening match 85%

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-10-01 08:52:01 200 ✗ 93ms

Cheaper or better alternatives per-skill

↑ 10 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

GAIP Broker
Runs GAIP's governed Broker → Integration → Trust → Specialist loop for public, non-personal, zero-price, read-only tasks.
GAIP · q 80%
fresh-feeds.foomworks.workers.dev live
Continuously-maintained, machine-readable data + trust feeds for AI agents: the MCP server registry (deduped, quality-scored) and the x402 s
fresh-feeds.foomworks.workers.dev · q 65%
GAIP Broker
Runs GAIP's governed Broker → Integration → Trust → Specialist loop for public, non-personal, zero-price, read-only tasks.
GAIP · q 80%
mudko.com live
Bulk agent-readiness screening for agencies, VCs and portfolio owners: scan up to 50 URLs in one paid call ($0.02/URL, $0.10 minimum) and ge
mudko.com · q 65%
AI Crawler Index live
{"jsonrpc":"2.0","id":1,"method":"message/send","params":{"message":{"role":"ROLE_USER","messageId":"1","parts":[{"text":"{\"skill\":\"whoam
Pathwren · q 100%
Agentery live
Discovery and market-intelligence service for the agent economy: 27,385 indexed AI agents, MCP servers, APIs and platforms with daily-observ
Agentery · 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
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/mcpanalytics.ai.svg)](https://agenstry.com/agents/mcpanalytics.ai)
[![Verified Business](https://agenstry.com/badge/mcpanalytics.ai/identity.svg)](https://agenstry.com/agents/mcpanalytics.ai)
[![Uptime](https://agenstry.com/badge/mcpanalytics.ai/uptime.svg)](https://agenstry.com/agents/mcpanalytics.ai)
[![A2A version](https://agenstry.com/badge/mcpanalytics.ai/protocol.svg)](https://agenstry.com/agents/mcpanalytics.ai)

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": "MCP Analytics",
  "description": "The statistical analyst in your AI chat: bring a dataset and a question, get back a citable, re-runnable report with its method named.",
  "url": "https://api.mcpanalytics.ai/auth0",
  "version": "1.0.5",
  "provider": {
    "organization": "MCP Analytics",
    "url": "https://mcpanalytics.ai"
  },
  "documentationUrl": "https://mcpanalytics.ai/docs/quickstart",
  "authentication": {
    "schemes": [
      "oauth2",
      "api-key"
    ],
    "oauthMetadata": "https://api.mcpanalytics.ai/.well-known/oauth-authorization-server",
    "note": "Authentication required for tool execution. Tool discovery is public via /mcp/discover."
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "account_link",
      "name": "account link",
      "description": "Direct link to the right account page for anything not doable in chat: billing, browser upload, report management. Hand the user the link and guide them."
    },
    {
      "id": "about",
      "name": "about",
      "description": "Platform documentation and info: how it works, tiers, usage."
    },
    {
      "id": "agent_advisor",
      "name": "agent advisor",
      "description": "AI help desk: which analysis fits your question, interpreting results, fixing errors. Multi-turn."
    },
    {
      "id": "datasets_upload",
      "name": "datasets upload",
      "description": "Get your data in. Pass `data` as an array of row objects to create the dataset immediately and get a dataset_ref ready for create_analysis; omit it to get an upload link for a file only the user can reach. Add replace_ref (uuid://ID:KEY) with data to REFRESH an existing dataset in place; schedules and tools holding that reference read the new data on their next run."
    },
    {
      "id": "datasets_list",
      "name": "datasets list",
      "description": "List and search your uploaded datasets, with fuzzy matching on name, description, and tags. Returns each dataset's uuid:// reference for use in create_analysis and run_analysis."
    },
    {
      "id": "discover_tools",
      "name": "discover tools",
      "description": "Browse the analyses you can run: the ones you commissioned plus the platform Standard Library (prebuilt tools; each result tagged source:'own' or 'standard_library'). Plain-language match; no query lists everything, your own first. Nothing fits? Commission it with create_analysis."
    },
    {
      "id": "tools_schema",
      "name": "tools schema",
      "description": "Get an analysis's parameter schema. ALWAYS call before run_analysis."
    },
    {
      "id": "run_analysis",
      "name": "run analysis",
      "description": "Run an analysis on your data. Returns a shareable interactive report URL with statistics you can cite, re-run and share, and the method named."
    },
    {
      "id": "create_analysis",
      "name": "create analysis",
      "description": "Commission a NEW analysis built for your question. tier is REQUIRED. The user picks. Easiest: fuzzy_request (plain language) + dataset_ref + tier. Snapshot = instant automated report (~2-10 min). JSON = a fast computed answer, numbers + method, re-runnable tool you own (~5 min). Brief = the computed answer on a one-page report: chart, numbers, method (~7 min). Deck = commissioned deep analysis, a durable re-runnable module you own (30-45 min). Failed builds are never billed."
    },
    {
      "id": "modify_analysis",
      "name": "modify analysis",
      "description": "Modify an EXISTING analysis into a new version: reword the question, swap the method, or add a variable. Pass tool_name + changes (plain language). Rebuilds on the analysis's own dataset by default; the original stays put. Returns pipeline tracking. Follow with build_status."
    },
    {
      "id": "request_estimate",
      "name": "request estimate",
      "description": "START HERE for a new question: free, ~30 s. A rough answer over a sample plus the layout of the complete package, every place named with the question it will answer, and a page link. Then review_estimate with the user."
    },
    {
      "id": "review_estimate",
      "name": "review estimate",
      "description": "The estimate as you review it WITH the user: the question as understood, the estimated answer (sample, marked), every place and its question, the page link, a review checklist. Before order_analytics_package."
    },
    {
      "id": "adjust_estimate",
      "name": "adjust estimate",
      "description": "Apply the user's layout wishes to the estimate's page through the layout agent; a new named arrangement, nothing overwritten, no number changes."
    },
    {
      "id": "answer_now",
      "name": "answer now",
      "description": "A read of the data (average, count, total, highest/lowest by group, a value in a month) answered in this response, in seconds. Not a read -> immediate=false with the reason; continue with decide_path."
    },
    {
      "id": "decide_path",
      "name": "decide path",
      "description": "Step 0 for a new question: which path answers it on this data. One record: route (reuse | answer | package | ask | none), a score with its reason for each of answer, package, ask and none, the compiled read plan when it is a read, the method family and the library's tool fit when it is a package, and the one question to ask when something is missing. Deterministic, read-only."
    },
    {
      "id": "find_precedent",
      "name": "find precedent",
      "description": "Before estimating: how did we answer this objective before, on this data or any data? Prior packages and library runs with their tools, mappings, bespoke module names, method and verdicts. Platform-wide, read-only."
    },
    {
      "id": "check_tool_fit",
      "name": "check tool fit",
      "description": "Before naming a library tool: does it fit THIS dataset for THIS question? Column mapping, missing required inputs, method-fit verdict, the places it delivers. Read-only."
    },
    {
      "id": "order_analytics_package",
      "name": "order analytics package",
      "description": "Order what the estimate promised after reviewing it: library tools that fit, a bespoke build, or both, computed on the whole dataset; one reviewed page delivered. Credits per tool run; failed runs never billed."
    },
    {
      "id": "package_status",
      "name": "package status",
      "description": "Read an analytics package back: status, every run under it, the report link once delivered."
    },
    {
      "id": "rerun_package",
      "name": "rerun package",
      "description": "Run a delivered package again, on its own data or new data: the same tools, the same curated objects, the same layout, as a new package with its own link."
    },
    {
      "id": "my_objects",
      "name": "my objects",
      "description": "List and search the objects you own across every question: the curated charts, tables and figures of each delivered package, grouped by objective."
    },
    {
      "id": "build_status",
      "name": "build status",
      "description": "Check a commissioned build in-chat: stage progress, queue position, rejection reason if the data didn't match the objective, honest ETA, report link when delivered."
    },
    {
      "id": "ask_library",
      "name": "ask library",
      "description": "Ask a question across all your delivered analyses: a synthesized answer with citations back to specific reports."
    },
    {
      "id": "reports_list",
      "name": "reports list",
      "description": "Your report library: every analysis delivered, with status and links. Pass semantic_query to search report content in plain language."
    },
    {
      "id": "warehouse",
      "name": "warehouse",
      "description": "Query your org's data warehouse free: browse the catalog (tables with column roles + computed metrics), semantically find data, plain-language ask, or named templates. Requires warehouse enablement (business plans)."
    },
    {
      "id": "schedules",
      "name": "schedules",
      "description": "Standing re-runs of analyses you own: action='create' (weekly/monthly against a re-runnable data reference, connector:// or an https:// link; report emailed after each run), 'list', or 'cancel'."
    },
    {
      "id": "reports_view",
      "name": "reports view",
      "description": "Get a shareable browser link for a report, viewable without authentication."
    },
    {
      "id": "report_cards",
      "name": "report cards",
      "description": "Browse a delivered report's individual cards (charts, tables, insights) inline in chat."
    }
  ],
  "_generated": {
    "by": "scripts/generate-agent-manifests.py",
    "from": [
      "https://api.mcpanalytics.ai/.well-known/mcp/server-card.json",
      "https://api.mcpanalytics.ai/.well-known/mcp.json"
    ],
    "note": "Derived from the canonical MCP documents; do not hand-edit."
  }
}