Show raw JSON evidence
{
"checks": {
"action_safety_probe": {
"details": {
"auth_present": true,
"confirmation_signals": [],
"safeguard_count": 0,
"summary": {
"bulk_access_tools": 3,
"capability_distribution": {
"admin": 3,
"exec": 8,
"export": 3,
"filesystem": 4,
"network": 6,
"other": 2,
"read": 7,
"secrets": 2,
"write": 8
},
"destructive_tools": 0,
"egress_tools": 0,
"exec_tools": 8,
"high_risk_tools": 5,
"risk_distribution": {
"critical": 1,
"high": 4,
"low": 2,
"medium": 8
},
"secret_tools": 2,
"tool_count": 15
}
},
"latency_ms": null,
"status": "error"
},
"advanced_capabilities_probe": {
"details": {
"capabilities": {
"completions": false,
"elicitation": false,
"prompts": true,
"resource_links": false,
"resources": true,
"roots": false,
"sampling": false,
"structured_outputs": false
},
"enabled": [
"prompts",
"resources"
],
"enabled_count": 2,
"initialize_capability_keys": [
"prompts",
"resources",
"tools"
]
},
"latency_ms": null,
"status": "warning"
},
"connector_publishability_probe": {
"details": {
"blockers": [
"transport_compliance",
"action_safety"
],
"criteria": {
"action_safety": false,
"auth_flow": true,
"connector_replay": true,
"initialize": true,
"protocol_version": true,
"remote_transport": true,
"request_association": true,
"server_card": true,
"session_resume": true,
"step_up_auth": true,
"tool_surface": true,
"tools_list": true,
"transport_compliance": false
},
"high_risk_tools": 5,
"tool_count": 15,
"transport": "streamable-http"
},
"latency_ms": null,
"status": "warning"
},
"connector_replay_probe": {
"details": {
"reason": "no_historical_snapshot"
},
"latency_ms": null,
"status": "missing"
},
"determinism_probe": {
"details": {
"attempts": 2,
"baseline_signature": "991b9e67ca29815d455a5202eb4f2bac1cd01d51ead5d1ae82ee0cdf4853ea84",
"errors": [],
"matches": 2,
"stable_ratio": 1.0,
"successful": 2
},
"latency_ms": 194.25,
"status": "ok"
},
"initialize": {
"details": {
"headers": {
"content-type": "application/json"
},
"http_status": 200,
"payload": {
"id": 1,
"jsonrpc": "2.0",
"result": {
"capabilities": {
"prompts": {},
"resources": {},
"tools": {
"listChanged": false
}
},
"instructions": "DISCOVERY MODE \u2014 no API key detected, so this connection can BROWSE but not RUN.\n\nYou can call: tools/list (see what is available), ping.\nEvery analysis tool will return 401 until a key is present.\n\nTo actually run anything, the user needs a free API key: sign up at https://account.mcpanalytics.ai \u2014 it takes a minute and includes 500 free credits \u2014 then set it as the X-API-Key header (or MCP_API_KEY in the client config).\n\nTell the user this up front rather than attempting a call and reporting an auth failure.",
"protocolVersion": "2024-11-05",
"serverInfo": {
"name": "MCP Analytics",
"version": "1.0.5"
}
}
},
"url": "https://api.mcpanalytics.ai/mcp/api-key"
},
"latency_ms": 84.49,
"status": "ok"
},
"interactive_flow_probe": {
"details": {
"oauth_supported": true,
"prompt_available": false,
"risk_hits": [],
"safe_hits": [
"browser"
]
},
"latency_ms": null,
"status": "ok"
},
"oauth_authorization_server": {
"details": {
"headers": {
"content-type": "application/json; charset=utf-8",
"strict-transport-security": "max-age=31536000; includeSubDomains",
"x-ratelimit-limit": "300",
"x-ratelimit-remaining": "299",
"x-ratelimit-reset": "1785480446"
},
"http_status": 200,
"payload": {
"authorization_endpoint": "https://auth0.mcpanalytics.ai/authorize",
"authorization_grant_profiles_supported": [
"urn:ietf:params:oauth:grant-profile:id-jag"
],
"backchannel_authentication_endpoint": "https://auth0.mcpanalytics.ai/bc-authorize",
"backchannel_token_delivery_modes_supported": [
"poll"
],
"claims_supported": [
"aud",
"auth_time",
"created_at",
"email",
"email_verified",
"exp",
"family_name",
"given_name",
"iat",
"identities",
"iss",
"name",
"nickname",
"phone_number",
"picture",
"sub"
],
"code_challenge_methods_supported": [
"S256",
"plain"
],
"device_authorization_endpoint": "https://auth0.mcpanalytics.ai/oauth/device/code",
"dpop_signing_alg_values_supported": [
"ES256"
],
"end_session_endpoint": "https://auth0.mcpanalytics.ai/oidc/logout",
"global_token_revocation_endpoint": "https://auth0.mcpanalytics.ai/oauth/global-token-revocation/connection/{connectionName}",
"global_token_revocation_endpoint_auth_methods_supported": [
"global-token-revocation+jwt"
],
"grant_types_supported": [
"client_credentials",
"authorization_code",
"refresh_token",
"password",
"implicit",
"urn:ietf:params:oauth:grant-type:device_code",
"urn:ietf:params:oauth:grant-type:token-exchange",
"http://auth0.com/oauth/grant-type/password-realm",
"http://auth0.com/oauth/grant-type/passwordless/otp",
"http://auth0.com/oauth/grant-type/mfa-oob",
"http://auth0.com/oauth/grant-type/mfa-otp",
"http://auth0.com/oauth/grant-type/mfa-recovery-code",
"urn:ietf:params:oauth:grant-type:jwt-bearer"
],
"id_token_signing_alg_values_supported": [
"HS256",
"RS256",
"PS256"
],
"issuer": "https://auth0.mcpanalytics.ai/",
"jwks_uri": "https://auth0.mcpanalytics.ai/.well-known/jwks.json",
"mfa_challenge_endpoint": "https://auth0.mcpanalytics.ai/mfa/challenge",
"registration_endpoint": "https://auth0.mcpanalytics.ai/oidc/register",
"request_parameter_supported": false,
"request_uri_parameter_supported": false,
"response_modes_supported": [
"query",
"fragment",
"form_post"
],
"response_types_supported": [
"code",
"token",
"id_token",
"code token",
"code id_token",
"token id_token",
"code token id_token"
],
"revocation_endpoint": "https://auth0.mcpanalytics.ai/oauth/revoke",
"scopes_supported": [
"openid",
"profile",
"offline_access",
"name",
"given_name",
"family_name",
"nickname",
"email",
"email_verified",
"picture",
"created_at",
"identities",
"phone",
"address"
],
"subject_types_supported": [
"public"
],
"token_endpoint": "https://auth0.mcpanalytics.ai/oauth/token",
"token_endpoint_auth_methods_supported": [
"client_secret_basic",
"client_secret_post",
"private_key_jwt",
"none"
],
"token_endpoint_auth_signing_alg_values_supported": [
"RS256",
"RS384",
"PS256"
],
"userinfo_endpoint": "https://auth0.mcpanalytics.ai/userinfo"
},
"url": "https://auth0.mcpanalytics.ai/.well-known/oauth-authorization-server"
},
"latency_ms": 311.09,
"status": "ok"
},
"oauth_protected_resource": {
"details": {
"headers": {
"content-type": "application/json"
},
"http_status": 200,
"payload": {
"authorization_servers": [
"https://auth0.mcpanalytics.ai"
],
"bearer_methods_supported": [
"header"
],
"resource": "https://api.mcpanalytics.ai",
"resource_documentation": "https://api.mcpanalytics.ai/docs",
"resource_policy_uri": "https://mcpanalytics.ai/privacy"
},
"url": "https://api.mcpanalytics.ai/.well-known/oauth-protected-resource"
},
"latency_ms": 214.38,
"status": "ok"
},
"official_registry_probe": {
"details": {
"direct_match": true,
"official_peer_count": 1,
"registry_identifier": "ai.mcpanalytics/analytics",
"registry_source": "official_registry"
},
"latency_ms": null,
"status": "ok"
},
"openid_configuration": {
"details": {
"headers": {
"content-type": "application/json; charset=utf-8",
"strict-transport-security": "max-age=31536000; includeSubDomains",
"x-ratelimit-limit": "300",
"x-ratelimit-remaining": "298",
"x-ratelimit-reset": "1785480446"
},
"http_status": 200,
"payload": {
"authorization_endpoint": "https://auth0.mcpanalytics.ai/authorize",
"authorization_grant_profiles_supported": [
"urn:ietf:params:oauth:grant-profile:id-jag"
],
"backchannel_authentication_endpoint": "https://auth0.mcpanalytics.ai/bc-authorize",
"backchannel_token_delivery_modes_supported": [
"poll"
],
"claims_supported": [
"aud",
"auth_time",
"created_at",
"email",
"email_verified",
"exp",
"family_name",
"given_name",
"iat",
"identities",
"iss",
"name",
"nickname",
"phone_number",
"picture",
"sub"
],
"code_challenge_methods_supported": [
"S256",
"plain"
],
"device_authorization_endpoint": "https://auth0.mcpanalytics.ai/oauth/device/code",
"dpop_signing_alg_values_supported": [
"ES256"
],
"end_session_endpoint": "https://auth0.mcpanalytics.ai/oidc/logout",
"global_token_revocation_endpoint": "https://auth0.mcpanalytics.ai/oauth/global-token-revocation/connection/{connectionName}",
"global_token_revocation_endpoint_auth_methods_supported": [
"global-token-revocation+jwt"
],
"grant_types_supported": [
"client_credentials",
"authorization_code",
"refresh_token",
"password",
"implicit",
"urn:ietf:params:oauth:grant-type:device_code",
"urn:ietf:params:oauth:grant-type:token-exchange",
"http://auth0.com/oauth/grant-type/password-realm",
"http://auth0.com/oauth/grant-type/passwordless/otp",
"http://auth0.com/oauth/grant-type/mfa-oob",
"http://auth0.com/oauth/grant-type/mfa-otp",
"http://auth0.com/oauth/grant-type/mfa-recovery-code",
"urn:ietf:params:oauth:grant-type:jwt-bearer"
],
"id_token_signing_alg_values_supported": [
"HS256",
"RS256",
"PS256"
],
"issuer": "https://auth0.mcpanalytics.ai/",
"jwks_uri": "https://auth0.mcpanalytics.ai/.well-known/jwks.json",
"mfa_challenge_endpoint": "https://auth0.mcpanalytics.ai/mfa/challenge",
"registration_endpoint": "https://auth0.mcpanalytics.ai/oidc/register",
"request_parameter_supported": false,
"request_uri_parameter_supported": false,
"response_modes_supported": [
"query",
"fragment",
"form_post"
],
"response_types_supported": [
"code",
"token",
"id_token",
"code token",
"code id_token",
"token id_token",
"code token id_token"
],
"revocation_endpoint": "https://auth0.mcpanalytics.ai/oauth/revoke",
"scopes_supported": [
"openid",
"profile",
"offline_access",
"name",
"given_name",
"family_name",
"nickname",
"email",
"email_verified",
"picture",
"created_at",
"identities",
"phone",
"address"
],
"subject_types_supported": [
"public"
],
"token_endpoint": "https://auth0.mcpanalytics.ai/oauth/token",
"token_endpoint_auth_methods_supported": [
"client_secret_basic",
"client_secret_post",
"private_key_jwt",
"none"
],
"token_endpoint_auth_signing_alg_values_supported": [
"RS256",
"RS384",
"PS256"
],
"userinfo_endpoint": "https://auth0.mcpanalytics.ai/userinfo"
},
"url": "https://auth0.mcpanalytics.ai/.well-known/openid-configuration"
},
"latency_ms": 60.04,
"status": "ok"
},
"probe_noise_resilience": {
"details": {
"headers": {
"content-type": "text/plain; charset=utf-8"
},
"http_status": 200,
"url": "https://api.mcpanalytics.ai/robots.txt"
},
"latency_ms": 237.46,
"status": "ok"
},
"prompt_get": {
"details": {
"reason": "not_advertised"
},
"latency_ms": null,
"status": "missing"
},
"prompts_list": {
"details": {
"error": "Client error '401 Unauthorized' for url 'https://api.mcpanalytics.ai/mcp/api-key'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401",
"headers": {
"content-type": "application/json",
"www-authenticate": "API-Key realm=\"https://api.mcpanalytics.ai\""
},
"http_status": 401,
"payload": {},
"reason": "auth_required",
"url": "https://api.mcpanalytics.ai/mcp/api-key"
},
"latency_ms": 81.1,
"status": "auth_required"
},
"protocol_version_probe": {
"details": {
"claimed_version": "2024-11-05",
"lag_days": 385,
"latest_known_version": "2025-11-25",
"releases_behind": 3,
"validator_protocol_version": "2025-03-26"
},
"latency_ms": null,
"status": "warning"
},
"provenance_divergence_probe": {
"details": {
"direct_official_match": true,
"drift_fields": [],
"metadata_document_count": 2,
"registry_homepage": null,
"registry_repository": null,
"registry_title": null,
"registry_version": null,
"server_card_homepage": "https://mcpanalytics.ai",
"server_card_repository": "https://github.com/embeddedlayers/mcp-analytics",
"server_card_title": "MCP Analytics",
"server_card_version": "1.0.5"
},
"latency_ms": null,
"status": "ok"
},
"request_association_probe": {
"details": {
"reason": "no_request_association_capabilities_advertised"
},
"latency_ms": null,
"status": "missing"
},
"resource_read": {
"details": {
"reason": "not_advertised"
},
"latency_ms": null,
"status": "missing"
},
"resources_list": {
"details": {
"error": "Client error '401 Unauthorized' for url 'https://api.mcpanalytics.ai/mcp/api-key'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401",
"headers": {
"content-type": "application/json",
"www-authenticate": "API-Key realm=\"https://api.mcpanalytics.ai\""
},
"http_status": 401,
"payload": {},
"reason": "auth_required",
"url": "https://api.mcpanalytics.ai/mcp/api-key"
},
"latency_ms": 242.99,
"status": "auth_required"
},
"server_card": {
"details": {
"headers": {
"content-type": "application/json"
},
"http_status": 200,
"payload": {
"description": "Statistical analysis platform \u2014 upload CSV or connect GA4/GSC, run 77+ validated R-based analysis modules (regression, ML, time series, marketing attribution, churn prediction, RFM segmentation), get interactive HTML reports with AI insights and PDF export. Pay per report, no subscription.",
"homepage": "https://mcpanalytics.ai",
"name": "MCP Analytics",
"repository": "https://github.com/embeddedlayers/mcp-analytics",
"tools": [
{
"description": "Direct link to the right account page for anything not doable in chat \u2014 billing, browser upload, report management. Hand the user the link and guide them.",
"name": "account_link"
},
{
"description": "Platform documentation and info \u2014 how it works, tiers, usage.",
"name": "about"
},
{
"description": "AI help desk \u2014 which analysis fits your question, interpreting results, fixing errors. Multi-turn.",
"name": "agent_advisor"
},
{
"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.",
"name": "datasets_upload"
},
{
"description": "List and search your uploaded datasets \u2014 fuzzy matching on name, description, and tags. Returns each dataset's uuid:// reference for use in create_analysis and run_analysis.",
"name": "datasets_list"
},
{
"description": "Browse the analyses you can run \u2014 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.",
"name": "discover_tools"
},
{
"description": "Get an analysis's parameter schema \u2014 ALWAYS call before run_analysis.",
"name": "tools_schema"
},
{
"description": "Run an analysis on your data. Returns a shareable interactive report URL \u2014 validated statistics you can cite, re-run, and share.",
"name": "run_analysis"
},
{
"description": "Commission a NEW analysis built for your question. tier is REQUIRED \u2014 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 \u2014 chart, numbers, method (~7 min). Deck = commissioned deep analysis, a durable re-runnable module you own (30-45 min). Failed builds are never billed.",
"name": "create_analysis"
},
{
"description": "Modify an EXISTING analysis into a new version \u2014 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 \u2014 follow with build_status.",
"name": "modify_analysis"
},
{
"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.",
"name": "build_status"
},
{
"description": "Ask a question across all your delivered analyses \u2014 synthesized answer with citations back to specific reports.",
"name": "ask_library"
},
{
"description": "Your report library \u2014 every analysis delivered, with status and links. Pass semantic_query to search report content in plain language.",
"name": "reports_list"
},
{
"description": "Get a shareable browser link for a report \u2014 viewable without authentication.",
"name": "reports_view"
},
{
"description": "Browse a delivered report's individual cards (charts, tables, insights) inline in chat.",
"name": "report_cards"
}
],
"version": "1.0.5"
},
"url": "https://api.mcpanalytics.ai/.well-known/mcp/server-card.json"
},
"latency_ms": 285.84,
"status": "ok"
},
"session_resume_probe": {
"details": {
"protocol_version": "2024-11-05",
"reason": "no_session_id",
"resume_expected": true,
"transport": "streamable-http"
},
"latency_ms": null,
"status": "warning"
},
"step_up_auth_probe": {
"details": {
"auth_required_checks": [
"prompts_list",
"resources_list"
],
"broad_scopes": [],
"challenge_headers": [
"API-Key realm=\"https://api.mcpanalytics.ai\"",
"API-Key realm=\"https://api.mcpanalytics.ai\""
],
"minimal_scope_documented": false,
"oauth_present": true,
"scope_specificity_ratio": 0.0667,
"step_up_signals": [],
"supported_scopes": [
"address",
"created_at",
"email",
"email_verified",
"family_name",
"given_name",
"identities",
"name",
"nickname",
"offline_access",
"openid",
"phone",
"picture",
"profile"
]
},
"latency_ms": null,
"status": "warning"
},
"tool_snapshot_probe": {
"details": {
"current_tool_count": 15,
"reason": "no_historical_snapshot"
},
"latency_ms": null,
"status": "missing"
},
"tools_list": {
"details": {
"headers": {
"content-type": "application/json"
},
"http_status": 200,
"payload": {
"id": 2,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Direct link to the right account page for anything not doable in chat \u2014 billing, browser upload, report management. Hand the user the link and guide them.",
"inputSchema": {
"properties": {
"section": {
"description": "Where to send the user",
"enum": [
"home",
"billing",
"upgrade",
"create",
"upload",
"reports"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "account_link"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Platform documentation and info \u2014 how it works, tiers, usage.",
"inputSchema": {
"properties": {
"topic": {
"description": "Topic: platform, manual, connectors, or a docs section",
"type": "string"
}
},
"required": [
"topic"
],
"type": "object"
},
"name": "about"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "AI help desk \u2014 which analysis fits your question, interpreting results, fixing errors. Multi-turn.",
"inputSchema": {
"properties": {
"message": {
"description": "Your question or request",
"type": "string"
}
},
"required": [
"message"
],
"type": "object"
},
"name": "agent_advisor"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"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.",
"inputSchema": {
"properties": {
"data": {
"description": "Rows as an array of flat objects \u2014 creates the dataset in one call",
"items": {
"type": "object"
},
"type": "array"
},
"expires_in": {
"default": 300,
"description": "Token expiration in seconds",
"type": "integer"
}
},
"type": "object"
},
"name": "datasets_upload"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "List and search your uploaded datasets \u2014 fuzzy matching on name, description, and tags. Returns each dataset's uuid:// reference for use in create_analysis and run_analysis.",
"inputSchema": {
"properties": {
"limit": {
"default": 20,
"description": "Max results",
"type": "integer"
},
"search": {
"description": "Search by name, description, or tags",
"type": "string"
}
},
"type": "object"
},
"name": "datasets_list"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Browse the analyses you can run \u2014 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.",
"inputSchema": {
"properties": {
"query": {
"description": "Plain-language search over your library + the Standard Library; omit to list everything",
"type": "string"
}
},
"type": "object"
},
"name": "discover_tools"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Get an analysis's parameter schema \u2014 ALWAYS call before run_analysis.",
"inputSchema": {
"properties": {
"tool_name": {
"description": "Name of the analysis",
"type": "string"
}
},
"required": [
"tool_name"
],
"type": "object"
},
"name": "tools_schema"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"description": "Run an analysis on your data. Returns a shareable interactive report URL \u2014 validated statistics you can cite, re-run, and share.",
"inputSchema": {
"properties": {
"taskList": {
"description": "Execution inputs. Call tools_schema first for the analysis-specific fields.",
"properties": {
"inputs": {
"properties": {
"column_mapping": {
"description": "Analysis-specific column mapping \u2014 see tools_schema",
"type": "object"
},
"dataset": {
"description": "Dataset reference: uuid://UUID:KEY from datasets_upload/datasets_list",
"type": "string"
},
"module_parameters": {
"description": "Analysis-specific parameters \u2014 see tools_schema",
"type": "object"
},
"userContext": {
"description": "Business context: objective (what you want to learn, required) and company",
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"tool_name": {
"description": "Name of the analysis to run",
"type": "string"
}
},
"required": [
"tool_name",
"taskList"
],
"type": "object"
},
"name": "run_analysis"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"description": "Commission a NEW analysis built for your question. tier is REQUIRED \u2014 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 \u2014 chart, numbers, method (~7 min). Deck = commissioned deep analysis, a durable re-runnable module you own (30-45 min). Failed builds are never billed.",
"inputSchema": {
"properties": {
"column_mapping": {
"description": "Optional semantic-to-real column map (hint only)",
"type": "object"
},
"dataset_ref": {
"description": "Single-dataset URI: 'uuid://UUID:KEY'",
"type": "string"
},
"datasets_refs": {
"description": "Multi-dataset URIs keyed by role",
"type": "object"
},
"fuzzy_request": {
"description": "Plain-language description of the analysis you want",
"type": "string"
},
"notes": {
"description": "Optional context for the build \u2014 constraints, definitions, or preferences the analyst agents should honor",
"type": "string"
},
"specification": {
"description": "Full 11-field spec (legacy path \u2014 prefer fuzzy_request)",
"type": "object"
},
"tier": {
"description": "snapshot = instant report (~2-10 min); json = fast computed answer (~5 min, default); brief = one-page report of the answer (~7 min); deck = commissioned re-runnable module (30-45 min)",
"enum": [
"snapshot",
"json",
"brief",
"deck"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "create_analysis"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"description": "Modify an EXISTING analysis into a new version \u2014 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 \u2014 follow with build_status.",
"inputSchema": {
"properties": {
"changes": {
"description": "What to change, in plain language, e.g. 'also break it down by region' or 'use a random forest instead'",
"type": "string"
},
"dataset_ref": {
"description": "Optional \u2014 rebuild against a different dataset ('uuid://UUID:KEY')",
"type": "string"
},
"tier": {
"description": "Optional \u2014 change the depth of the new version",
"enum": [
"snapshot",
"json",
"brief",
"deck"
],
"type": "string"
},
"tool_name": {
"description": "The analysis to modify (from discover_tools or your library)",
"type": "string"
}
},
"required": [
"tool_name",
"changes"
],
"type": "object"
},
"name": "modify_analysis"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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.",
"inputSchema": {
"properties": {
"pipeline_id": {
"description": "pipeline_id from create_analysis",
"type": "integer"
},
"track_token": {
"description": "Token from the tracking URL",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "build_status"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Ask a question across all your delivered analyses \u2014 synthesized answer with citations back to specific reports.",
"inputSchema": {
"properties": {
"question": {
"description": "Plain-language question to answer from your report library",
"type": "string"
}
},
"required": [
"question"
],
"type": "object"
},
"name": "ask_library"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Your report library \u2014 every analysis delivered, with status and links. Pass semantic_query to search report content in plain language.",
"inputSchema": {
"properties": {
"limit": {
"default": 10,
"description": "Max results",
"type": "integer"
},
"semantic_query": {
"description": "Natural-language search over your reports' content",
"type": "string"
}
},
"type": "object"
},
"name": "reports_list"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Get a shareable browser link for a report \u2014 viewable without authentication.",
"inputSchema": {
"properties": {
"processing_id": {
"description": "Processing ID from run_analysis / reports_list",
"type": "string"
}
},
"required": [
"processing_id"
],
"type": "object"
},
"name": "reports_view"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Browse a delivered report's individual cards (charts, tables, insights) inline in chat.",
"inputSchema": {
"properties": {
"processing_id": {
"description": "The report's processing id, returned by run_analysis or build_status",
"type": "string"
}
},
"required": [
"processing_id"
],
"type": "object"
},
"name": "report_cards"
}
]
}
},
"url": "https://api.mcpanalytics.ai/mcp/api-key"
},
"latency_ms": 82.95,
"status": "ok"
},
"transport_compliance_probe": {
"details": {
"bad_protocol_error": null,
"bad_protocol_headers": {
"content-type": "application/json"
},
"bad_protocol_payload": {
"id": 410,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Direct link to the right account page for anything not doable in chat \u2014 billing, browser upload, report management. Hand the user the link and guide them.",
"inputSchema": {
"properties": {
"section": {
"description": "Where to send the user",
"enum": [
"home",
"billing",
"upgrade",
"create",
"upload",
"reports"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "account_link"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Platform documentation and info \u2014 how it works, tiers, usage.",
"inputSchema": {
"properties": {
"topic": {
"description": "Topic: platform, manual, connectors, or a docs section",
"type": "string"
}
},
"required": [
"topic"
],
"type": "object"
},
"name": "about"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "AI help desk \u2014 which analysis fits your question, interpreting results, fixing errors. Multi-turn.",
"inputSchema": {
"properties": {
"message": {
"description": "Your question or request",
"type": "string"
}
},
"required": [
"message"
],
"type": "object"
},
"name": "agent_advisor"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"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.",
"inputSchema": {
"properties": {
"data": {
"description": "Rows as an array of flat objects \u2014 creates the dataset in one call",
"items": {
"type": "object"
},
"type": "array"
},
"expires_in": {
"default": 300,
"description": "Token expiration in seconds",
"type": "integer"
}
},
"type": "object"
},
"name": "datasets_upload"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "List and search your uploaded datasets \u2014 fuzzy matching on name, description, and tags. Returns each dataset's uuid:// reference for use in create_analysis and run_analysis.",
"inputSchema": {
"properties": {
"limit": {
"default": 20,
"description": "Max results",
"type": "integer"
},
"search": {
"description": "Search by name, description, or tags",
"type": "string"
}
},
"type": "object"
},
"name": "datasets_list"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Browse the analyses you can run \u2014 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.",
"inputSchema": {
"properties": {
"query": {
"description": "Plain-language search over your library + the Standard Library; omit to list everything",
"type": "string"
}
},
"type": "object"
},
"name": "discover_tools"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Get an analysis's parameter schema \u2014 ALWAYS call before run_analysis.",
"inputSchema": {
"properties": {
"tool_name": {
"description": "Name of the analysis",
"type": "string"
}
},
"required": [
"tool_name"
],
"type": "object"
},
"name": "tools_schema"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"description": "Run an analysis on your data. Returns a shareable interactive report URL \u2014 validated statistics you can cite, re-run, and share.",
"inputSchema": {
"properties": {
"taskList": {
"description": "Execution inputs. Call tools_schema first for the analysis-specific fields.",
"properties": {
"inputs": {
"properties": {
"column_mapping": {
"description": "Analysis-specific column mapping \u2014 see tools_schema",
"type": "object"
},
"dataset": {
"description": "Dataset reference: uuid://UUID:KEY from datasets_upload/datasets_list",
"type": "string"
},
"module_parameters": {
"description": "Analysis-specific parameters \u2014 see tools_schema",
"type": "object"
},
"userContext": {
"description": "Business context: objective (what you want to learn, required) and company",
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"tool_name": {
"description": "Name of the analysis to run",
"type": "string"
}
},
"required": [
"tool_name",
"taskList"
],
"type": "object"
},
"name": "run_analysis"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"description": "Commission a NEW analysis built for your question. tier is REQUIRED \u2014 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 \u2014 chart, numbers, method (~7 min). Deck = commissioned deep analysis, a durable re-runnable module you own (30-45 min). Failed builds are never billed.",
"inputSchema": {
"properties": {
"column_mapping": {
"description": "Optional semantic-to-real column map (hint only)",
"type": "object"
},
"dataset_ref": {
"description": "Single-dataset URI: 'uuid://UUID:KEY'",
"type": "string"
},
"datasets_refs": {
"description": "Multi-dataset URIs keyed by role",
"type": "object"
},
"fuzzy_request": {
"description": "Plain-language description of the analysis you want",
"type": "string"
},
"notes": {
"description": "Optional context for the build \u2014 constraints, definitions, or preferences the analyst agents should honor",
"type": "string"
},
"specification": {
"description": "Full 11-field spec (legacy path \u2014 prefer fuzzy_request)",
"type": "object"
},
"tier": {
"description": "snapshot = instant report (~2-10 min); json = fast computed answer (~5 min, default); brief = one-page report of the answer (~7 min); deck = commissioned re-runnable module (30-45 min)",
"enum": [
"snapshot",
"json",
"brief",
"deck"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "create_analysis"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"description": "Modify an EXISTING analysis into a new version \u2014 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 \u2014 follow with build_status.",
"inputSchema": {
"properties": {
"changes": {
"description": "What to change, in plain language, e.g. 'also break it down by region' or 'use a random forest instead'",
"type": "string"
},
"dataset_ref": {
"description": "Optional \u2014 rebuild against a different dataset ('uuid://UUID:KEY')",
"type": "string"
},
"tier": {
"description": "Optional \u2014 change the depth of the new version",
"enum": [
"snapshot",
"json",
"brief",
"deck"
],
"type": "string"
},
"tool_name": {
"description": "The analysis to modify (from discover_tools or your library)",
"type": "string"
}
},
"required": [
"tool_name",
"changes"
],
"type": "object"
},
"name": "modify_analysis"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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.",
"inputSchema": {
"properties": {
"pipeline_id": {
"description": "pipeline_id from create_analysis",
"type": "integer"
},
"track_token": {
"description": "Token from the tracking URL",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "build_status"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Ask a question across all your delivered analyses \u2014 synthesized answer with citations back to specific reports.",
"inputSchema": {
"properties": {
"question": {
"description": "Plain-language question to answer from your report library",
"type": "string"
}
},
"required": [
"question"
],
"type": "object"
},
"name": "ask_library"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Your report library \u2014 every analysis delivered, with status and links. Pass semantic_query to search report content in plain language.",
"inputSchema": {
"properties": {
"limit": {
"default": 10,
"description": "Max results",
"type": "integer"
},
"semantic_query": {
"description": "Natural-language search over your reports' content",
"type": "string"
}
},
"type": "object"
},
"name": "reports_list"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Get a shareable browser link for a report \u2014 viewable without authentication.",
"inputSchema": {
"properties": {
"processing_id": {
"description": "Processing ID from run_analysis / reports_list",
"type": "string"
}
},
"required": [
"processing_id"
],
"type": "object"
},
"name": "reports_view"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Browse a delivered report's individual cards (charts, tables, insights) inline in chat.",
"inputSchema": {
"properties": {
"processing_id": {
"description": "The report's processing id, returned by run_analysis or build_status",
"type": "string"
}
},
"required": [
"processing_id"
],
"type": "object"
},
"name": "report_cards"
}
]
}
},
"bad_protocol_status_code": 200,
"delete_error": null,
"delete_status_code": null,
"expired_session_error": null,
"expired_session_status_code": null,
"issues": [
"missing_session_id",
"missing_protocol_header",
"bad_protocol_not_rejected"
],
"last_event_id_visible": false,
"protocol_header_present": false,
"requested_protocol_version": "2024-11-05",
"session_id_present": false,
"transport": "streamable-http"
},
"latency_ms": 88.96,
"status": "error"
},
"utility_coverage_probe": {
"details": {
"completions": {
"advertised": false,
"live_probe": "not_executed",
"sample_target": null
},
"initialize_capability_keys": [
"prompts",
"resources",
"tools"
],
"pagination": {
"metadata_signal": false,
"next_cursor_methods": [],
"supported": false
},
"tasks": {
"advertised": false,
"http_status": 401,
"probe_status": "auth_required"
}
},
"latency_ms": 103.84,
"status": "ok"
}
},
"failures": {
"transport_compliance_probe": {
"bad_protocol_error": null,
"bad_protocol_headers": {
"content-type": "application/json"
},
"bad_protocol_payload": {
"id": 410,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Direct link to the right account page for anything not doable in chat \u2014 billing, browser upload, report management. Hand the user the link and guide them.",
"inputSchema": {
"properties": {
"section": {
"description": "Where to send the user",
"enum": [
"home",
"billing",
"upgrade",
"create",
"upload",
"reports"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "account_link"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Platform documentation and info \u2014 how it works, tiers, usage.",
"inputSchema": {
"properties": {
"topic": {
"description": "Topic: platform, manual, connectors, or a docs section",
"type": "string"
}
},
"required": [
"topic"
],
"type": "object"
},
"name": "about"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "AI help desk \u2014 which analysis fits your question, interpreting results, fixing errors. Multi-turn.",
"inputSchema": {
"properties": {
"message": {
"description": "Your question or request",
"type": "string"
}
},
"required": [
"message"
],
"type": "object"
},
"name": "agent_advisor"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"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.",
"inputSchema": {
"properties": {
"data": {
"description": "Rows as an array of flat objects \u2014 creates the dataset in one call",
"items": {
"type": "object"
},
"type": "array"
},
"expires_in": {
"default": 300,
"description": "Token expiration in seconds",
"type": "integer"
}
},
"type": "object"
},
"name": "datasets_upload"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "List and search your uploaded datasets \u2014 fuzzy matching on name, description, and tags. Returns each dataset's uuid:// reference for use in create_analysis and run_analysis.",
"inputSchema": {
"properties": {
"limit": {
"default": 20,
"description": "Max results",
"type": "integer"
},
"search": {
"description": "Search by name, description, or tags",
"type": "string"
}
},
"type": "object"
},
"name": "datasets_list"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Browse the analyses you can run \u2014 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.",
"inputSchema": {
"properties": {
"query": {
"description": "Plain-language search over your library + the Standard Library; omit to list everything",
"type": "string"
}
},
"type": "object"
},
"name": "discover_tools"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Get an analysis's parameter schema \u2014 ALWAYS call before run_analysis.",
"inputSchema": {
"properties": {
"tool_name": {
"description": "Name of the analysis",
"type": "string"
}
},
"required": [
"tool_name"
],
"type": "object"
},
"name": "tools_schema"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"description": "Run an analysis on your data. Returns a shareable interactive report URL \u2014 validated statistics you can cite, re-run, and share.",
"inputSchema": {
"properties": {
"taskList": {
"description": "Execution inputs. Call tools_schema first for the analysis-specific fields.",
"properties": {
"inputs": {
"properties": {
"column_mapping": {
"description": "Analysis-specific column mapping \u2014 see tools_schema",
"type": "object"
},
"dataset": {
"description": "Dataset reference: uuid://UUID:KEY from datasets_upload/datasets_list",
"type": "string"
},
"module_parameters": {
"description": "Analysis-specific parameters \u2014 see tools_schema",
"type": "object"
},
"userContext": {
"description": "Business context: objective (what you want to learn, required) and company",
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"tool_name": {
"description": "Name of the analysis to run",
"type": "string"
}
},
"required": [
"tool_name",
"taskList"
],
"type": "object"
},
"name": "run_analysis"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"description": "Commission a NEW analysis built for your question. tier is REQUIRED \u2014 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 \u2014 chart, numbers, method (~7 min). Deck = commissioned deep analysis, a durable re-runnable module you own (30-45 min). Failed builds are never billed.",
"inputSchema": {
"properties": {
"column_mapping": {
"description": "Optional semantic-to-real column map (hint only)",
"type": "object"
},
"dataset_ref": {
"description": "Single-dataset URI: 'uuid://UUID:KEY'",
"type": "string"
},
"datasets_refs": {
"description": "Multi-dataset URIs keyed by role",
"type": "object"
},
"fuzzy_request": {
"description": "Plain-language description of the analysis you want",
"type": "string"
},
"notes": {
"description": "Optional context for the build \u2014 constraints, definitions, or preferences the analyst agents should honor",
"type": "string"
},
"specification": {
"description": "Full 11-field spec (legacy path \u2014 prefer fuzzy_request)",
"type": "object"
},
"tier": {
"description": "snapshot = instant report (~2-10 min); json = fast computed answer (~5 min, default); brief = one-page report of the answer (~7 min); deck = commissioned re-runnable module (30-45 min)",
"enum": [
"snapshot",
"json",
"brief",
"deck"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "create_analysis"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"description": "Modify an EXISTING analysis into a new version \u2014 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 \u2014 follow with build_status.",
"inputSchema": {
"properties": {
"changes": {
"description": "What to change, in plain language, e.g. 'also break it down by region' or 'use a random forest instead'",
"type": "string"
},
"dataset_ref": {
"description": "Optional \u2014 rebuild against a different dataset ('uuid://UUID:KEY')",
"type": "string"
},
"tier": {
"description": "Optional \u2014 change the depth of the new version",
"enum": [
"snapshot",
"json",
"brief",
"deck"
],
"type": "string"
},
"tool_name": {
"description": "The analysis to modify (from discover_tools or your library)",
"type": "string"
}
},
"required": [
"tool_name",
"changes"
],
"type": "object"
},
"name": "modify_analysis"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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.",
"inputSchema": {
"properties": {
"pipeline_id": {
"description": "pipeline_id from create_analysis",
"type": "integer"
},
"track_token": {
"description": "Token from the tracking URL",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "build_status"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Ask a question across all your delivered analyses \u2014 synthesized answer with citations back to specific reports.",
"inputSchema": {
"properties": {
"question": {
"description": "Plain-language question to answer from your report library",
"type": "string"
}
},
"required": [
"question"
],
"type": "object"
},
"name": "ask_library"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Your report library \u2014 every analysis delivered, with status and links. Pass semantic_query to search report content in plain language.",
"inputSchema": {
"properties": {
"limit": {
"default": 10,
"description": "Max results",
"type": "integer"
},
"semantic_query": {
"description": "Natural-language search over your reports' content",
"type": "string"
}
},
"type": "object"
},
"name": "reports_list"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Get a shareable browser link for a report \u2014 viewable without authentication.",
"inputSchema": {
"properties": {
"processing_id": {
"description": "Processing ID from run_analysis / reports_list",
"type": "string"
}
},
"required": [
"processing_id"
],
"type": "object"
},
"name": "reports_view"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Browse a delivered report's individual cards (charts, tables, insights) inline in chat.",
"inputSchema": {
"properties": {
"processing_id": {
"description": "The report's processing id, returned by run_analysis or build_status",
"type": "string"
}
},
"required": [
"processing_id"
],
"type": "object"
},
"name": "report_cards"
}
]
}
},
"bad_protocol_status_code": 200,
"delete_error": null,
"delete_status_code": null,
"expired_session_error": null,
"expired_session_status_code": null,
"issues": [
"missing_session_id",
"missing_protocol_header",
"bad_protocol_not_rejected"
],
"last_event_id_visible": false,
"protocol_header_present": false,
"requested_protocol_version": "2024-11-05",
"session_id_present": false,
"transport": "streamable-http"
}
},
"remote_url": "https://api.mcpanalytics.ai/mcp/api-key",
"server_card_payload": {
"description": "Statistical analysis platform \u2014 upload CSV or connect GA4/GSC, run 77+ validated R-based analysis modules (regression, ML, time series, marketing attribution, churn prediction, RFM segmentation), get interactive HTML reports with AI insights and PDF export. Pay per report, no subscription.",
"homepage": "https://mcpanalytics.ai",
"name": "MCP Analytics",
"repository": "https://github.com/embeddedlayers/mcp-analytics",
"tools": [
{
"description": "Direct link to the right account page for anything not doable in chat \u2014 billing, browser upload, report management. Hand the user the link and guide them.",
"name": "account_link"
},
{
"description": "Platform documentation and info \u2014 how it works, tiers, usage.",
"name": "about"
},
{
"description": "AI help desk \u2014 which analysis fits your question, interpreting results, fixing errors. Multi-turn.",
"name": "agent_advisor"
},
{
"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.",
"name": "datasets_upload"
},
{
"description": "List and search your uploaded datasets \u2014 fuzzy matching on name, description, and tags. Returns each dataset's uuid:// reference for use in create_analysis and run_analysis.",
"name": "datasets_list"
},
{
"description": "Browse the analyses you can run \u2014 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.",
"name": "discover_tools"
},
{
"description": "Get an analysis's parameter schema \u2014 ALWAYS call before run_analysis.",
"name": "tools_schema"
},
{
"description": "Run an analysis on your data. Returns a shareable interactive report URL \u2014 validated statistics you can cite, re-run, and share.",
"name": "run_analysis"
},
{
"description": "Commission a NEW analysis built for your question. tier is REQUIRED \u2014 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 \u2014 chart, numbers, method (~7 min). Deck = commissioned deep analysis, a durable re-runnable module you own (30-45 min). Failed builds are never billed.",
"name": "create_analysis"
},
{
"description": "Modify an EXISTING analysis into a new version \u2014 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 \u2014 follow with build_status.",
"name": "modify_analysis"
},
{
"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.",
"name": "build_status"
},
{
"description": "Ask a question across all your delivered analyses \u2014 synthesized answer with citations back to specific reports.",
"name": "ask_library"
},
{
"description": "Your report library \u2014 every analysis delivered, with status and links. Pass semantic_query to search report content in plain language.",
"name": "reports_list"
},
{
"description": "Get a shareable browser link for a report \u2014 viewable without authentication.",
"name": "reports_view"
},
{
"description": "Browse a delivered report's individual cards (charts, tables, insights) inline in chat.",
"name": "report_cards"
}
],
"version": "1.0.5"
},
"server_identifier": "ai.mcpanalytics/analytics"
}