Explore PostHog MCP intent clusters — agent goals grouped by semantic similarity, with each cluster's tool distribution and error rates. Use when the user asks "what are agents trying to do with the MCP?", "group the intents", "which goals fail most?", "what does each cluster route to?", wants to recompute the clustering, or pastes an MCP analytics intent-clustering URL.
79
100%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Intent clustering takes the free-text $mcp_intent values agents attach to
their tool calls, embeds them, and groups semantically similar goals into
clusters. Each cluster carries its tool distribution, call counts, and error
rates — answering "what are people trying to do, and does it work?" rather
than "which tool was called".
Unlike tool quality and sessions (which ultimately aggregate $mcp_tool_call),
clustering needs embeddings and is not expressible in SQL. It is served by
two typed tools backed by a stored snapshot.
| Tool | Purpose |
|---|---|
posthog:mcp-analytics-intent-clusters-retrieve | Fetch the latest cluster snapshot for the project |
posthog:mcp-analytics-intent-clusters-recompute | Trigger an async recompute of the snapshot |
posthog:mcp-analytics-intent-clusters-retrieve
{}Returns a snapshot with status, last_computed_at, computed_with (the
embedding model and clustering parameters), and a clusters array. Each cluster
has a label, intent_count, call_count, error_count, error_rate_pct,
routing_entropy, a tool_distribution (which tools that goal routes to, with
per-tool error rates), and sample_intents.
Read clusters by call_count for "what are agents mostly doing", or by
error_rate_pct for "which goals are failing" — a high error rate on a cluster
points at a class of agent goals the tools serve badly.
routing_entropy is how spread-out a cluster's tool usage is: low entropy means
one goal reliably maps to one tool; high entropy means agents are casting around
for the right tool for that goal (often a missing-capability signal).
status: idle, clusters: []): no run has
happened yet. Trigger one (below) and tell the user it computes in the
background.last_computed_at: offer to recompute.posthog:mcp-analytics-intent-clusters-recompute
{}Returns immediately with status: computing (HTTP 202); the work runs in the
background. Poll posthog:mcp-analytics-intent-clusters-retrieve until status
returns to idle (done) or error. Don't block waiting — tell the user to
re-ask in a minute.
https://app.posthog.com/project/<project_id>/mcp-analytics/intent-clustering$mcp_intent coverage — if few calls carry
an intent, clusters will be sparse; cross-check intent coverage with a quick
countIf(toString(properties.$mcp_intent) != '') over $mcp_tool_callerror_rate_pct plus high routing_entropy is the
strongest "the tools don't serve this goal well" signal — worth a closer look
at its sample_intents and tool_distributionexploring-mcp-tool-quality —
per-tool error rates and latencyexploring-mcp-sessions — the individual
runs behind the intentsbb04e92
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.