AI Agent Analytics

Seller-side analytics for AI-agent discovery, settled revenue, delivery, and repeat use.

Should I use this

Quality & Safety

B
Description quality
100%
Schema completeness
53%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,758Tokens (tool definitions)
~6.1 KBTypical response size
Moderate attention impact (1.37% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "ai-agent-analytics": {
      "url": "https://analytics.davisvillelabs.com/mcp"
    }
  }
}

Remote endpoints

https://analytics.davisvillelabs.com/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_products

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "This tool takes no parameters."
}

Output Schema

{
  "type": "object",
  "properties": {
    "schema": {
      "type": "string",
      "description": "Response schema identifier."
    },
    "products": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Stable product/property ID to pass as product_id to product-scoped tools."
          },
          "name": {
            "type": "string",
            "description": "Customer-visible product name."
          },
          "status": {
            "type": "string",
            "description": "Current product state."
          },
          "time_zone": {
            "type": "string",
            "description": "IANA time zone used for product-local daily metrics."
          },
          "created_at": {
            "type": "string",
            "description": "UTC ISO-8601 product creation timestamp."
          }
        },
        "required": [
          "id",
          "name",
          "status",
          "time_zone",
          "created_at"
        ],
        "additionalProperties": {}
      },
      "description": "Active products visible to this authorization."
    }
  },
  "required": [
    "schema",
    "products"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢get_daily_pulse

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "This tool takes no parameters."
}

Output Schema

{
  "type": "object",
  "properties": {
    "schema": {
      "type": "string",
      "description": "Delegated Daily Pulse response schema."
    },
    "state": {
      "type": "string",
      "enum": [
        "ready",
        "preparing"
      ],
      "description": "Whether a precomputed Daily Pulse snapshot is available."
    },
    "source": {
      "type": "string",
      "const": "precomputed_daily_snapshot"
    },
    "history_scan_on_read": {
      "type": "boolean",
      "const": false
    },
    "organization": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "name"
      ],
      "additionalProperties": {}
    },
    "snapshot": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "schema",
    "state",
    "source",
    "history_scan_on_read",
    "organization",
    "snapshot"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢scan_agent_commerce_readiness(url)

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.

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"
}

Output Schema

{
  "type": "object",
  "properties": {
    "schema": {
      "type": "string",
      "description": "Readiness-scan schema identifier."
    },
    "target": {
      "type": "object",
      "properties": {
        "origin": {
          "type": "string",
          "description": "Normalized public HTTPS origin that was inspected."
        },
        "hostname": {
          "type": "string",
          "description": "Normalized public hostname that passed syntax and DNS preflight checks."
        }
      },
      "required": [
        "origin",
        "hostname"
      ],
      "additionalProperties": {}
    },
    "observed_at": {
      "type": "string",
      "description": "UTC scan timestamp."
    },
    "summary": {
      "type": "object",
      "properties": {
        "machine_interface_observed": {
          "type": "boolean",
          "description": "Whether at least one public machine interface was directly observed."
        },
        "mcp": {
          "type": "string",
          "description": "Observed MCP state such as present, protected, absent, invalid, or unavailable."
        },
        "openapi": {
          "type": "string",
          "description": "Observed OpenAPI state."
        },
        "llms_txt": {
          "type": "string",
          "description": "Observed llms.txt state."
        },
        "security_txt": {
          "type": "string",
          "description": "Observed security.txt state."
        },
        "oauth_protected_resource_metadata": {
          "type": "string",
          "description": "Whether RFC 9728 metadata was observed for a protected MCP."
        },
        "portable_skill_index": {
          "type": "string",
          "description": "Observed portable-skill index state."
        },
        "payment_or_commercial_surface_declared": {
          "type": "boolean",
          "description": "Whether public OpenAPI evidence declares a payment or commercial surface."
        }
      },
      "required": [
        "machine_interface_observed",
        "mcp",
        "openapi",
        "llms_txt",
        "security_txt",
        "oauth_protected_resource_metadata",
        "portable_skill_index",
        "payment_or_commercial_surface_declared"
      ],
      "additionalProperties": {}
    },
    "checks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Fixed machine-surface identifier."
          },
          "standard": {
            "type": "string",
            "description": "Protocol or convention being checked."
          },
          "url": {
            "type": "string",
            "description": "Exact public URL inspected."
          },
          "status": {
            "type": "string",
            "description": "Observed status such as present, protected, absent, invalid, redirected, or unavailable."
          },
          "http_status": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ],
            "description": "Observed HTTP status when a response was received."
          },
          "error": {
            "description": "Bounded scanner error classification when applicable.",
            "type": "string"
          },
          "evidence": {
            "description": "Small public evidence summary for this surface.",
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "id",
          "standard",
          "url",
          "status",
          "http_status"
        ],
        "additionalProperties": {}
      },
      "description": "Results for the fixed public surfaces; no user-supplied paths are fetched."
    },
    "gaps": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Evidence-based follow-up gaps; absence is not proof a capability does not exist."
    },
    "integrity": {
      "type": "object",
      "properties": {
        "security_score_assigned": {
          "type": "boolean"
        },
        "redirects_followed": {
          "type": "boolean"
        },
        "credentials_sent": {
          "type": "boolean"
        },
        "user_supplied_paths_fetched": {
          "type": "boolean"
        },
        "fixed_public_surfaces_only": {
          "type": "boolean"
        },
        "direct_ip_and_private_style_targets_rejected": {
          "type": "boolean"
        },
        "dns_a_aaaa_preflight_verified_public": {
          "type": "boolean"
        },
        "dns_rebinding_fully_eliminated": {
          "type": "boolean"
        },
        "response_body_limit_bytes": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "note": {
          "type": "string"
        }
      },
      "required": [
        "security_score_assigned",
        "redirects_followed",
        "credentials_sent",
        "user_supplied_paths_fetched",
        "fixed_public_surfaces_only",
        "direct_ip_and_private_style_targets_rejected",
        "dns_a_aaaa_preflight_verified_public",
        "dns_rebinding_fully_eliminated",
        "response_body_limit_bytes",
        "note"
      ],
      "additionalProperties": {},
      "description": "Scanner safety properties and explicit limitations."
    }
  },
  "required": [
    "schema",
    "target",
    "observed_at",
    "summary",
    "checks",
    "gaps",
    "integrity"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded11 tools