Card snapshot
mcpanalytics.ai
·
2026-10-01 08:52:01 UTC
·
bda9b92d93b96dbbc49d3d2cf67fd43275c06a20e3fdb18bc18cc06a3a7ab817
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"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."
}
}