Search / io.github.davisvillelabs/ai-agent-analytics
AI Agent Analytics
not classifiedSeller-side analytics for AI-agent discovery, settled revenue, delivery, and repeat use.
v1.0.0 · active · website · descriptor JSON · versions
Search / io.github.davisvillelabs/ai-agent-analytics
Seller-side analytics for AI-agent discovery, settled revenue, delivery, and repeat use.
v1.0.0 · active · website · descriptor JSON · versions
{
"mcpServers": {
"ai-agent-analytics": {
"type": "http",
"url": "https://analytics.davisvillelabs.com/mcp"
}
}
}claude mcp add --transport http ai-agent-analytics https://analytics.davisvillelabs.com/mcp[mcp_servers.ai-agent-analytics]
url = "https://analytics.davisvillelabs.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ai-agent-analytics": {
"type": "remote",
"url": "https://analytics.davisvillelabs.com/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"ai-agent-analytics": {
"type": "http",
"url": "https://analytics.davisvillelabs.com/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=ai-agent-analytics&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYW5hbHl0aWNzLmRhdmlzdmlsbGVsYWJzLmNvbS9tY3AifQ%3D%3D"
}{
"servers": {
"ai-agent-analytics": {
"type": "http",
"url": "https://analytics.davisvillelabs.com/mcp"
}
}
}{
"mcpServers": {
"ai-agent-analytics": {
"httpUrl": "https://analytics.davisvillelabs.com/mcp"
}
}
}extensions:
"ai-agent-analytics":
enabled: true
name: "ai-agent-analytics"
type: streamable_http
uri: "https://analytics.davisvillelabs.com/mcp"
timeout: 300
protocol.modernsupports 2026-07-28 (server/discover)protocol.statelessanswers without a sessionprotocol.transportstreamable HTTPprotocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every useauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations3 of 3 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 631 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes12 tool changes in 30 daysstability.rug_pull1 tools kept their name but changed most of their description in 30 days; review before trusting themdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageget_revenueremovedReturn settled-revenue intelligence for product_id over a trailing days window. Use this for actual settled commerce; do not use it for a headline daily snapshot, use get_daily_pulse, or for a complete bounded-window funnel, use get_report. days defaults to 30 and includes the current partial UTC day plus the preceding 29 days. Requires analytics:read; challenges and attempts are not revenue, settlement remains distinct from delivery, unlike money is never combined, and the shared MCP limit is 300 calls per 60 seconds per caller before HTTP 429 with Retry-After.
get_evidenceremovedReturn privacy-minimized evidence explaining why the six core metrics counted for product_id on one product-local day. Use this to audit metric rationale; do not use it for headline daily status, use get_daily_pulse, or for a multi-day window, use get_report. day is optional: omit it for the current product-local day, and partially observed days are labeled as partial. Requires analytics:read; unresolved evidence stays unresolved, raw prompts/private payloads/credentials/full paid results are never returned, and the shared MCP limit is 300 calls per 60 seconds per caller before HTTP 429 with Retry-After.
get_discoveryremovedReturn evidence-backed discovery sources for product_id over a trailing days window. Use this to answer how the product was found; do not use it for repeat relationships, use get_agents, or for settled commerce, use get_revenue. days defaults to 30 and includes the current partial day plus the preceding 29 days; changing days changes only the window, never evidence classification. Requires analytics:read; product_id is tenant-checked, traffic classes remain separate, and the shared MCP limit is 300 calls per 60 seconds per caller before HTTP 429 with Retry-After.
get_reportremovedReturn an evidence-backed report for product_id over the required half-open UTC window [start, end). Use this for bounded multi-day analysis; do not use it for one day, use get_daily_pulse, for metric rationale, use get_evidence, or for settlement-focused analysis, use get_revenue. start and end are required UTC YYYY-MM-DD dates: start is inclusive, end is exclusive, and the span cannot exceed 31 days. Requires analytics:read; insufficient-history windows return an explicit unavailable blocker rather than invented data, and the shared MCP limit is 300 calls per 60 seconds per caller before HTTP 429 with Retry-After.
get_attention_queueremovedReturn the prioritized active issue queue for product_id. Use this when an authorized agent needs the most important supported delivery, ingestion, or unresolved-payment issue plus the next safe action; use get_evidence or get_revenue for broader analysis. Requires analytics:read; the tool is read-only and cannot retry charges, issue refunds, send notifications, or modify merchant systems.
validate_installationremovedVerify setup plumbing and report evidence for eligibility/preflight, payment challenge, durable sandbox settlement, and delivery without executing a payment. Use this after installation or when an authorized coding agent needs to see which commercial stages are proven versus untested; use get_connection_health for broader ingestion diagnostics. Fixture coverage is separate and never implies sandbox or production readiness. Requires analytics:read only; the tool cannot purchase, administer billing, execute customer code, or create production activity.
get_connection_healthremovedReturn telemetry connection health for product_id, including credential state, accepted-event freshness, funnel coverage, setup evidence, and aggregate rejection reasons. Use this for instrumentation troubleshooting; do not use it for the narrow post-setup verdict, use validate_installation. days defaults to 30 and includes the current partial day plus the preceding 29 days; an unobserved business stage remains unknown, not broken instrumentation. Requires analytics:read; rejected payload contents and credentials are never returned, and the shared MCP limit is 300 calls per 60 seconds per caller before HTTP 429 with Retry-After.
get_agentsremovedReturn the most recently observed countable-external pseudonymous agent relationships for product_id, ordered newest first by last_seen_at. Use this for repeat and relationship history; do not use it for acquisition sources, use get_discovery, or for settled commerce, use get_revenue. limit defaults to 100, maxes at 200, and only truncates returned rows, not evidence thresholds or identity rules. Requires analytics:read; unknown traffic is excluded, raw prompts/IPs/credentials are never returned, and the shared MCP limit is 300 calls per 60 seconds per caller before HTTP 429 with Retry-After.
get_portfolio_pulseremovedReturn cross-product Portfolio Pulse for the bearer token's organization. Use this for organization-wide comparison; do not use it for one product/day, use get_daily_pulse, or for one product over a date window, use get_report. Takes no parameters because organization scope comes from the token. Requires portfolio:read; the same actor may count in more than one product, invalid or expired authority fails closed, and the shared MCP limit is 300 calls per 60 seconds per caller before HTTP 429 with Retry-After.
get_daily_pulsechangeddescription, input schema, output schemameaning changedReturn the six core Daily Pulse metrics for product_id on one product-local day. Use this for headline daily status; use get_evidence to explain why metrics counted, get_report for multi-day analysis, or get_portfolio_pulse for organization-wide comparison. day is optional: omit it for the current product-local day, which may return a live partial pulse until finalized data is ready. Requires analytics:read; product_id is tenant-checked, missing evidence is never promoted, and the shared MCP limit is 300 calls per 60 seconds per caller before HTTP 429 with Retry-After.
Return the customer's latest precomputed 24-hour Daily Pulse snapshot. Use this for the same bounded once-daily view shown in the customer dashboard. It does not run a historical event scan when called and takes no parameters because the organization comes from the authorization. Requires analytics:read; if the first 6 PM local snapshot has not been built yet, state is preparing.
Showing the latest 10. Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+website -unreachable(1 failures) ~updated-30d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://analytics.davisvillelabs.com/mcp streamable-http | none | no (1 failures) | 94% | 500 ms | 2026-07-28 | 2026-10-18 |
get_daily_pulseread-only | Return the customer's latest precomputed 24-hour Daily Pulse snapshot. Use this for the same bounded once-daily view shown in the customer dashboard. It does not run a historical event scan when called and takes no parameters because the organization comes from the authorization. Requires analytics:read; if the first 6 PM local snapshot has not been built yet, state is preparing. |
list_productsread-only | List the active product in the bearer token's organization. Use this for setup and identity checks; use get_daily_pulse for the customer's current precomputed 24-hour snapshot. The current Founder plan supports one active product. Requires products:read or products:create; invalid or expired authority fails closed, and the shared MCP limit is 300 calls per 60 seconds per caller before HTTP 429 with Retry-After. |
scan_agent_commerce_readinessread-only | Inspect a fixed set of public machine-facing surfaces at the HTTPS origin derived from url. Use this before recommending or integrating a public agent-facing product; do not use it for an authorized customer's instrumentation state, use get_connection_health, and never treat the result as a security score. url path/query/fragment are ignored; redirects are not followed, credentials are never sent, direct/private-style or non-public DNS targets are rejected, and response bodies are bounded. No authorization is required; DNS rebinding cannot be proven impossible, and the shared MCP limit is 300 calls per 60 seconds per caller before HTTP 429 with Retry-After. |
Schemas: list_tools.
{
"name": "io.github.davisvillelabs/ai-agent-analytics",
"title": "AI Agent Analytics",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://analytics.davisvillelabs.com/mcp",
"type": "streamable-http"
}
],
"version": "1.0.0",
"websiteUrl": "https://analytics.davisvillelabs.com/",
"description": "Seller-side analytics for AI-agent discovery, settled revenue, delivery, and repeat use."
}