{"name":"io.github.davisvillelabs/ai-agent-analytics","slug":"davisvillelabs-ai-agent-analytics","title":"AI Agent Analytics","description":"Seller-side analytics for AI-agent discovery, settled revenue, delivery, and repeat use.","url":"https://mcp.market/server/davisvillelabs-ai-agent-analytics","rating":null,"grade":"C","score":67,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-21T01:00:55.891Z","last_ok_at":"2026-09-21T01:00:55.891Z","latency_ms":73},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://analytics.davisvillelabs.com/","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://analytics.davisvillelabs.com/mcp"}],"packages":[],"tools":[{"name":"get_agents","description":"Return the most recently observed privacy-safe pseudonymous agent relationships for product_id; limit defaults to 100, caps rows at 200, and changes only the returned row set, not evidence thresholds or identity rules. Use this to inspect repeat relationships; use get_discovery for acquisition sources or get_revenue for settled commerce. Requires analytics:read; unknown traffic never becomes a Real Agent, sensitive raw data is not returned, and MCP calls share a 300-request/60-second caller limit with HTTP 429 plus Retry-After on excess.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"product_id":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,160}$","description":"Exact AI Agent Analytics product/property ID returned by list_products. Do not pass a product name, URL, or organization ID."},"limit":{"description":"Maximum relationship rows to return, 1 through 200 inclusive. Defaults to 100 when omitted.","type":"integer","minimum":1,"maximum":200}},"required":["product_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_connection_health","description":"Return telemetry connection health for product_id over a trailing days diagnostic window; days=30 includes the current partial day plus the preceding 29 days, while unobserved business stages remain unknown rather than being labeled broken instrumentation. Use this to troubleshoot credential state, event freshness, funnel coverage, setup evidence, or aggregate rejections; use validate_installation for the narrower post-setup verdict. Requires analytics:read; rejected payload contents and credentials are never returned, and MCP calls share a 300-request/60-second caller limit with HTTP 429 plus Retry-After on excess.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"product_id":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,160}$","description":"Exact AI Agent Analytics product/property ID returned by list_products. Do not pass a product name, URL, or organization ID."},"days":{"description":"Diagnostic lookback length in whole days, 1 through 90 inclusive. Defaults to 30 when omitted.","type":"integer","minimum":1,"maximum":90}},"required":["product_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_daily_pulse","description":"Return the six core Daily Pulse metrics for product_id and an optional product-local day; omitting day selects the current product-local day and may return a live partial pulse until finalized daily data is ready. Use this for headline daily metrics; use get_evidence for metric rationale, get_report for multi-day analysis, or get_portfolio_pulse for organization-wide comparison. Requires analytics:read; product_id is tenant-checked, missing evidence is never promoted, and MCP calls share a 300-request/60-second caller limit with HTTP 429 plus Retry-After on excess.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"product_id":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,160}$","description":"Exact AI Agent Analytics product/property ID returned by list_products. Do not pass a product name, URL, or organization ID."},"day":{"description":"Product-local calendar day as YYYY-MM-DD. Omit to read the current product-local day, with live-pulse fallback when the finalized daily pulse is not ready.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["product_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_discovery","description":"Return evidence-backed discovery sources for product_id over a trailing days window; days=30 means the current partial day plus the preceding 29 days, and changing days never changes evidence classification. Use this to answer how the product was found; use get_agents for observed relationships or get_revenue for settled commerce. Requires analytics:read; product_id is tenant-checked, traffic classes stay separate, and MCP calls share a 300-request/60-second caller limit with HTTP 429 plus Retry-After on excess.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"product_id":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,160}$","description":"Exact AI Agent Analytics product/property ID returned by list_products. Do not pass a product name, URL, or organization ID."},"days":{"description":"Lookback length in whole days, 1 through 90 inclusive. Defaults to 30 when omitted.","type":"integer","minimum":1,"maximum":90}},"required":["product_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_evidence","description":"Return privacy-minimized evidence explaining why the six core metrics counted for product_id and an optional product-local day; omitting day selects the current product-local day, and a partially observed day is labeled as such. Use this when auditing why a metric counted; use get_daily_pulse for headlines or get_report for window-level analysis. Requires analytics:read; unresolved evidence stays unresolved, sensitive raw data is not returned, and MCP calls share a 300-request/60-second caller limit with HTTP 429 plus Retry-After on excess.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"product_id":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,160}$","description":"Exact AI Agent Analytics product/property ID returned by list_products. Do not pass a product name, URL, or organization ID."},"day":{"description":"Product-local calendar day as YYYY-MM-DD. Omit to inspect the current product-local day.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["product_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_portfolio_pulse","description":"Return cross-product Portfolio Pulse for the organization selected by the bearer token; there are no parameters, and the response sums property-level evidence without cross-product actor deduplication. Use this for organization-wide comparison; use get_daily_pulse for one product/day or get_report for one product over a date window. Requires portfolio:read; invalid or expired authority fails closed, and MCP calls share a 300-request/60-second caller limit with HTTP 429 plus Retry-After on excess.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"description":"This tool takes no parameters."}},{"name":"get_report","description":"Return an evidence-backed report for product_id over the required half-open UTC window [start, end); start is inclusive, end is exclusive, and the span cannot exceed 31 UTC days. Use this for bounded multi-day analysis; use get_daily_pulse for one day, get_evidence for metric rationale, or get_revenue for settlement-focused analysis. Requires analytics:read; insufficient-history windows return an explicit unavailable blocker, product_id is tenant-checked, and MCP calls share a 300-request/60-second caller limit with HTTP 429 plus Retry-After on excess.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"product_id":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,160}$","description":"Exact AI Agent Analytics product/property ID returned by list_products. Do not pass a product name, URL, or organization ID."},"start":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Required UTC calendar start date as YYYY-MM-DD, inclusive."},"end":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Required UTC calendar end date as YYYY-MM-DD, exclusive. Must be after start and no more than 31 UTC days later."}},"required":["product_id","start","end"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_revenue","description":"Return settled-revenue intelligence for product_id over a trailing days window; days=30 includes the current partial UTC day plus the preceding 29 days, and only countable-external settled receipts enter revenue buckets. Use this for actual settled commerce; use get_daily_pulse for headline daily metrics or get_report for full-window funnel analysis. Requires analytics:read; challenges are not revenue, settlement stays distinct from delivery, unlike money is never combined, and MCP calls share a 300-request/60-second caller limit with HTTP 429 plus Retry-After on excess.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"product_id":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,160}$","description":"Exact AI Agent Analytics product/property ID returned by list_products. Do not pass a product name, URL, or organization ID."},"days":{"description":"Lookback length in whole days, 1 through 90 inclusive. Defaults to 30 when omitted.","type":"integer","minimum":1,"maximum":90}},"required":["product_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"list_products","description":"Return active products for the organization selected by the bearer token; there are no parameters, so organization scope is implicit and cross-tenant products are never returned. Use this to obtain product_id values for product-scoped tools; use get_portfolio_pulse instead for organization-wide metrics. Requires products:read or products:create; invalid or expired authority fails closed, and MCP calls share a 300-request/60-second caller limit with HTTP 429 plus Retry-After on excess.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"description":"This tool takes no parameters."}},{"name":"scan_agent_commerce_readiness","description":"Inspect a fixed set of public machine-facing surfaces at the HTTPS origin derived from url; path/query/fragment are ignored, each fetch has a bounded timeout/body, redirects are not followed, and no credentials are sent. Use this before recommending or integrating a public agent-facing product; use get_connection_health for an authorized customer's instrumentation state, and never treat this as a security score. No authorization is required; private/non-public targets are rejected, DNS rebinding cannot be proven impossible, and MCP calls share a 300-request/60-second caller limit with HTTP 429 plus Retry-After on excess.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Any public HTTPS URL on the product host. Only its scheme and host are used; path, query, and fragment are ignored. Custom ports, embedded credentials, IP literals, localhost/private-style hostnames, and non-public A/AAAA answers are rejected."}},"required":["url"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"validate_installation","description":"Verify product_id has an active ingestion credential, an accepted customer_test setup event, and an accepted event visible to Agent Analytics; validation uses a fixed 30-day health window and has no other parameters. Use this immediately after setup; use get_connection_health for broader diagnostics or history. Requires analytics:read; this proves setup plumbing only, creates no production activity, and MCP calls share a 300-request/60-second caller limit with HTTP 429 plus Retry-After on excess.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"product_id":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,160}$","description":"Exact AI Agent Analytics product/property ID returned by list_products. Do not pass a product name, URL, or organization ID."}},"required":["product_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}}],"scan":{"score":67,"grade":"C","scanned_at":"2026-09-19T19:28:43.691Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T19:28:43.618Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1593ms"]},"poisoning":{"score":15,"max":15,"notes":["11 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://analytics.davisvillelabs.com/mcp","reachable":true,"authRequired":false,"latencyMs":1593,"serverInfo":{"name":"ai-agent-analytics","version":"1.0.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://analytics.davisvillelabs.com/favicon.svg","source":"registry"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}