MCP Fleet Overview — AI Workflow Plan | Diaphora
MCP Fleet Overview
Aggregate the last 30 days of MCP telemetry across every server and category into a single ranked table of calls, errors, connections, and active users.
Best for
Platform PMs · DevOps · Leadership
Runs with
BigQuery · Fleet ranking · Connection status
Core outputs
- Ranked server table
- Error rates
- Connection status
- Active users
Capability requirements
MCP
What it solves
No quick, repeatable snapshot exists. Someone has to go looking, table by table.
One-shot snapshot of the entire fleet. Not a table someone had to go find.
Dormant connections and error concentration, surfaced instantly.
A typed table, ready to pipe straight into a dashboard.
Workflow
- Run one read-only BigQuery aggregation across the MCP catalog.
- Rank servers by call volume with error and connection-status columns.
- Return a typed, chart-ready records table for the fleet.
Implementation
Review the underlying FML blueprint — the sessions, tools, and typed schemas that define this workflow — and see exactly how it is instructed for repeatable execution.
FML Blueprint
mcpops-active.fml
require mcp BigQuery
session("mcp_analytics") {
use mcp BigQuery
call("execute_sql_readonly") -> vars:bq_result {
projectId = "barndoor-production"
query = "SELECT mcp_name, mcp_category, COUNT(DISTINCT tenant_id) AS tenant_count, SUM(total_tool_calls) AS total_calls, SUM(total_errors) AS total_errors, SAFE_DIVIDE(SUM(total_errors), NULLIF(SUM(total_tool_calls), 0)) AS error_rate, MAX(last_tool_call) AS last_tool_call, COUNTIF(connected_but_never_called) AS connections_never_called, SUM(active_users) AS total_active_users, COUNT(DISTINCT IF(status = 'Active', mcp_id, NULL)) AS active_connections, COUNT(DISTINCT IF(status = 'Pending', mcp_id, NULL)) AS pending_connections, COUNT(DISTINCT IF(status = 'Error', mcp_id, NULL)) AS error_connections FROM `barndoor-production.gtm_analytics.mcp_block` WHERE DATE(last_tool_call) >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY) OR last_tool_call IS NULL GROUP BY mcp_name, mcp_category ORDER BY total_calls DESC LIMIT 50"
}
+ The BigQuery query has executed successfully. Here is the raw JSON result:
{{ .vars.bq_result | json }}
- Parse the BigQuery result into the structured schema below.
The data contains an array of rows where each row has columns in the exact order as the schema fields (mcp_name, mcp_category, tenant_count, total_calls, total_errors, error_rate, last_tool_call, connections_never_called, total_active_users, active_connections, pending_connections, error_connections).
Convert string representations of numbers to their appropriate int/float types.
schema {
records: {
mcp_name: string
mcp_category: string
tenant_count: int
total_calls: int
total_errors: int
error_rate: float
last_tool_call: string
connections_never_called: int
total_active_users: int
active_connections: int
pending_connections: int
error_connections: int
}[]
}
}