Contents
The Three Layers of MCP Analytics
If you run an MCP server, you probably have some form of monitoring in place. Maybe you set up OpenTelemetry traces. Maybe you use MCPcat for session replays. Maybe you just check your error logs every few days.
Here's the problem: almost every MCP analytics setup tracks the same thing. They tell you what happens after an agent connects to your server. That's useful, but it's only one-third of the picture.
The MCP ecosystem has grown to 73,000+ registered servers with 97 million+ monthly SDK downloads. When an agent needs a capability, it doesn't go straight to your server. It searches. It evaluates options. It makes a selection decision. Then, and only then, does it connect.
Think of it like a restaurant. Internal analytics tell you whether the food was good and the kitchen ran smoothly. But they don't tell you how many people walked past your restaurant, read the menu in the window, and chose the place next door instead.
MCP analytics break down into three distinct layers, and most teams are only watching one of them.
The Analytics Gap
internal health
usage patterns
discoverability
What Do Internal Health Metrics Tell You?
Layer 1 is the foundation. These are the metrics you'd track for any API or service, adapted for the MCP protocol. If your server isn't reliable, nothing else matters.
What gets tracked in Layer 1
- Uptime and availability — Is your server responding? KanseiLink's health surveys find that 52% of registered MCP servers are non-functional at any given time. Just staying up puts you ahead of half the ecosystem.
- Latency — How fast do your tools respond? Agent frameworks typically apply timeout windows of 30-60 seconds. Responses above 10 seconds significantly increase abandonment.
- Error rates — What percentage of tool calls fail? Errors compound: agent frameworks track reliability, and servers with persistently high error rates get deprioritized in future selection as agents learn to avoid them.
- Session replays — What did the full agent-server conversation look like? This is where tools like MCPcat shine, letting you replay individual interactions step by step.
Tools for Layer 1
MCPcat is the most prominent dedicated tool, offering session replay and error tracking specifically for MCP servers. Speakeasy provides SDK generation with built-in telemetry. OpenTelemetry integrations (via the MCP SDK's built-in OTel support) let you pipe MCP traces into existing observability stacks like Datadog or Grafana.
Layer 1 metrics answer a simple question: "Is my server working?" This is table stakes. If your error rate is above 10% or your P95 latency exceeds 5 seconds, fix those before worrying about anything else. But once these are solid, they stop being useful growth indicators.
What Do Usage Pattern Metrics Reveal?
Layer 2 goes deeper. Instead of just tracking whether calls succeed, it tracks what agents are doing with your server and how they're doing it.
What gets tracked in Layer 2
- Tool call distribution — Which of your tools are agents actually calling? Most servers have a long tail: 2-3 tools get 80% of traffic, and the rest are barely touched. This tells you where to invest in quality.
- Parameter patterns — What values do agents pass? Are they using your tool the way you designed it, or working around limitations? Unexpected parameter combinations often reveal gaps in your tool descriptions.
- Call sequences — Do agents use your tools in multi-step workflows? If agents consistently call tool A then tool B, that's a signal you might need a combined tool that does both in one call.
- Success/failure by tool — One tool might have a 98% success rate while another sits at 60%. Aggregated server-level metrics hide this kind of variance.
- Agent diversity — Are you being used by Claude Code, Cursor, Windsurf, custom agents, or just one platform? Concentration risk matters.
Tools for Layer 2
Most Layer 2 data requires custom instrumentation. The MCP SDK supports logging and tracing hooks, and you can pipe these into any analytics platform. MCPcat captures some of this through its session replay feature. Helicone and Langsmith can track LLM-adjacent metrics if you're running an MCP-connected agent framework. But there's no turnkey "MCP usage analytics" product yet — most teams build this layer themselves.
Teams often look at total request count as a growth metric. But request count without context is misleading. A single agent retrying a failed call 10 times looks like 10x the traffic of a successful one-shot call. Track unique successful sessions rather than raw request volume.
Why Is External Discoverability the Blind Spot?
This is where most MCP analytics setups fall apart. Layers 1 and 2 measure traffic you already have. Layer 3 measures traffic you're missing — and it turns out, that's usually the bigger number.
How agent discovery actually works
When an AI agent receives a task like "create an invoice in Stripe," it doesn't go directly to the Stripe MCP server. It performs a Tool Search — a semantic matching operation that ranks available servers by how well their names and descriptions match the agent's intent. In Anthropic's Claude, this is handled by the ToolSearch mechanism. In other frameworks, similar discovery layers exist.
This discovery step happens before your server receives any request. And here's the critical part: if your server doesn't appear in the search results, there is zero signal in your analytics. No request. No error. No log entry. The agent simply selects something else or tells the user it can't complete the task.
What Layer 3 tracks
- Discovery rate — Of all the agent searches relevant to your capability, what percentage surfaces your server? If agents search for "create invoice" 1,000 times a day and your accounting MCP server appears in 200 of those searches, your discovery rate is 20%.
- search_miss events — How often do agents search for something your server can do, but your server doesn't appear in results? This is the invisible failure mode. KanseiLink coined the term "search_miss" to describe it.
- Competitive selection — When agents find multiple options for the same capability, which one do they pick? And why? Description quality, past success rates, and schema clarity all factor into agent selection logic.
- Intent-to-capability mapping — What language do agents use when searching for your capability? If agents search for "send payment" but your tool is described as "execute financial transaction," there's a semantic gap that costs you discovery.
Layer 3 data is structurally invisible to server operators. You can't track a search that never reached you. This is why external analytics — platforms that sit at the discovery layer and observe the search-select-execute pipeline from the outside — are the missing piece. This is what KanseiLink's Agent AEO analytics are built to provide.
What Four Metrics Actually Predict MCP Server Growth?
Across the three layers, four specific metrics correlate most strongly with sustained growth in agent usage. If you could only track four numbers, these are the ones that matter.
1. Discovery Rate
Definition: The percentage of relevant agent searches that surface your server in results.
Why it matters: This is the top of the funnel. If agents can't find you, nothing downstream matters. A server with 100% uptime and 5ms latency but a 10% discovery rate is invisible to 90% of potential users.
How to improve: Optimize your server name and description for semantic matching. Use verb-based, functional language ("creates invoices, tracks payments") rather than brand-forward language ("Acme's enterprise platform"). Implement llms.txt and emerging discovery standards.
2. Selection Rate
Definition: When agents find your server alongside alternatives, how often they choose you.
Why it matters: Discovery without selection is wasted visibility. In categories with 5-10 competing servers, selection rate is determined by description specificity, tool schema clarity, and accumulated success signals.
How to improve: Write tool descriptions that match how agents think about tasks, not how humans market products. Provide specific parameter descriptions with examples. Agents favor servers with clear, constrained tool definitions over servers that promise everything vaguely.
3. Success Rate
Definition: The percentage of agent calls that complete the intended task without error.
Why it matters: This is the only Layer 1 metric that directly feeds back into future selection. Agent frameworks track historical success rates and use them to rank servers in future searches. A server that works 98% of the time will be favored over one that works 80% of the time, even if the second one has a better description.
How to improve: Return clear error messages when things fail. Agents use error quality to decide whether to retry or switch to an alternative. A good error message ("authentication token expired, re-authenticate with OAuth") keeps the agent trying. A bad one ("internal server error") causes immediate abandonment.
4. search_miss Rate
Definition: How often agents search for a capability your server provides but your server is absent from results.
Why it matters: This is the most actionable external metric because it represents a known, fixable gap. Every search_miss is a concrete instance where your server's description didn't match an agent's intent query. Fix the semantic gap, and those misses become discoveries.
How to improve: Use KanseiLink's Agent AEO analytics to identify the specific intent patterns that trigger search_miss for your category. Then update your server description and tool schemas to cover those patterns.
Where Each Metric Lives
(External)
(External)
(Internal)
(External)
Three of the four growth-predictive metrics are external. That's why internal-only dashboards miss the point. You can build the best internal observability stack in the world and still have no idea whether agents are finding you.
How Do Internal and External Analytics Tools Compare?
The current MCP analytics landscape is split between tools that look inward and tools that look outward. Here's how they compare.
| Capability | Internal Tools | External Tools |
|---|---|---|
| Examples | MCPcat, Speakeasy, OpenTelemetry, Helicone | KanseiLink |
| Primary question | "Is my server working?" | "Are agents finding my server?" |
| Data source | Server-side logs, traces, sessions | Agent-side search behavior, registry data |
| Uptime/latency | Yes | Yes (via health surveys) |
| Error tracking | Detailed (with stack traces) | Outcome-level (success/fail) |
| Session replay | Yes (MCPcat) | No |
| Discovery rate | No | Yes |
| search_miss tracking | No (structurally impossible) | Yes |
| Competitive selection | No | Yes |
| AEO grading | No | Yes (8-tier rating) |
| Integration effort | SDK-level (code changes) | Zero-integration (registry-based) |
The key takeaway: these tools are complementary, not competing. Internal tools give you debugging power and operational confidence. External tools give you growth intelligence and competitive positioning. A mature MCP analytics setup needs both.
Should You Build or Buy Your MCP Analytics?
Given the three layers, here's a practical framework for deciding what to build yourself and what to use a product for.
Build: Layer 1 basics
The MCP SDK has built-in support for OpenTelemetry tracing. If you already run Datadog, Grafana, or a similar observability stack, piping MCP traces into it is straightforward. For most teams, this takes a day or two of work and covers uptime, latency, and error rate tracking. You don't need a dedicated product for this.
Buy or build: Layer 2 usage analytics
Tool call distribution and parameter patterns require custom instrumentation, but the data stays within your control. If you have 3-5 tools, a simple logging wrapper is enough. If you have 20+ tools with complex call sequences, MCPcat's session replay becomes genuinely valuable for understanding how agents use your server in practice.
Buy: Layer 3 external discoverability
You cannot build Layer 3 analytics yourself. By definition, search_miss events happen outside your server — you have no data to instrument. Discovery rate requires visibility across the agent-side search layer, not your server-side logs. Competitive selection data requires tracking multiple servers simultaneously. This is where external platforms like KanseiLink provide data that is structurally unavailable from any internal source.
Teams often assume that because they have solid internal monitoring, they have "analytics covered." This is like saying you understand your restaurant's performance because you track kitchen efficiency — without ever counting the people who walk past without entering. The external layer is not optional; it's where growth signals live.
Frequently Asked Questions
What metrics should I track for my MCP server?
Track three layers: (1) Internal health — uptime, error rates, latency, and session quality using tools like MCPcat or OpenTelemetry. (2) Usage patterns — which tools agents call, parameter patterns, and success/failure ratios. (3) External discoverability — whether agents find your server during Tool Search, your selection rate vs. competitors, and search_miss events. Most teams only track layer 1, but layer 3 is what predicts growth.
What is the difference between internal and external MCP analytics?
Internal analytics track what happens after an agent connects to your server — request counts, error rates, latency, session replays. External analytics track what happens before connection — whether agents discover your server during search, how often they select you versus competitors, and how many agents searched for your capability but never found you. Internal tools include MCPcat and Speakeasy. External analytics are tracked by KanseiLink.
Why do most MCP dashboards miss the point?
Most dashboards focus on server health — the same metrics you'd track for any API. These are necessary but insufficient. They show what happens with traffic you already have, but tell you nothing about traffic you're missing. In an ecosystem of 73,000+ servers, the biggest risk isn't server downtime — it's that agents never find you. That invisible failure doesn't appear in any internal dashboard.
How is MCPcat different from KanseiLink?
MCPcat is an internal observability platform for MCP server operators. It provides session replay, error tracking, and debugging tools for calls that reach your server. KanseiLink tracks the external layer — whether agents can find your server during Tool Search, which competitors get selected instead, and what intent patterns lead to your server being missed. MCPcat answers "is my server working?" KanseiLink answers "are agents finding my server?"
What is search_miss and why does it matter?
search_miss occurs when an AI agent searches for a capability your server provides but your server doesn't appear in the results. It's the most damaging analytics blind spot because it generates zero signal in your server logs. The agent simply selects a competitor or gives up. KanseiLink tracks search_miss as part of its Agent AEO analytics, making this invisible failure visible for the first time.
Can I track discovery rate with my own server logs?
No. Discovery rate measures what happens at the agent-side search layer, before any request reaches your server. Your logs only see calls that already found you. Tracking discovery requires visibility across the search-select-execute pipeline from the agent's perspective — which is fundamentally external data. This is why platforms like KanseiLink exist: they sit at the discovery layer and observe what your server logs structurally cannot.