Rastreo de MCP
Rastree qué herramientas llaman los clientes de IA en su servidor MCP, con qué frecuencia, qué clientes (Claude, Cursor, Windsurf) generan más uso y las tasas de error.
import { BetterMeter } from "@bettermeter/node";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
const bm = new BetterMeter({
siteId: "my-mcp-server",
apiKey: "bm_...",
});
const server = new McpServer({
name: "my-server",
version: "1.0.0",
});
// Wraps server.tool() — auto-tracks every invocation
bm.wrapMcpServer(server);
// Tools registered after wrapping are automatically tracked
server.tool("search_docs", { query: z.string() }, async (args) => {
// ... your tool logic (unchanged)
});bm.trackTool({
tool: "search_docs",
client: "claude-code",
protocolVersion: "2024-11-05",
durationMs: 250,
success: true,
inputTokens: 150,
outputTokens: 800,
});Qué se rastrea
Nombres de herramientas, nombres de clientes, duración, éxito/fallo y conteos opcionales de tokens. Los parámetros de entrada y el contenido de salida de las herramientas nunca se envían.
Referencia de herramientas MCP
BetterMeter funciona como un servidor MCP para asistentes de IA. Cada comando CLI tiene una herramienta MCP correspondiente con el prefijo bettermeter_.
{
"mcpServers": {
"bettermeter": {
"command": "npx",
"args": ["bettermeter"]
}
}
}Las herramientas MCP que modifican datos requieren una frase de confirmación exacta (CONFIRM <action> <target>) para la acción y el objetivo específicos antes de crear, actualizar, eliminar, escanear o enviar solicitudes pagadas.
Todas las herramientas de analíticas aceptan site_id (string) y range (today|7d|30d|90d|12m) — salvo bettermeter_all_sites, que abarca toda la cuenta: no declara ningún site_id y su range acepta además una ventana personalizada YYYY-MM-DD..YYYY-MM-DD. limit (number, 1-100, opcional) solo lo declaran las herramientas de lista que devuelven filas clasificadas; las herramientas de resumen, tendencia y detalle no lo aceptan. La herramienta MCP bettermeter_export soporta los formatos json y md (el comando CLI export también soporta csv). Ejemplos de uso para asistentes de IA:
bettermeter_live_visitors with activity=truebettermeter_live_displaybettermeter_statsbettermeter_ai_trafficbettermeter_cli_commandsbettermeter_mcp_clientsbettermeter_api_endpoints with range=7dbettermeter_pulse_askbettermeter_pulse_healthbettermeter_pulse_insightsbettermeter_pulse_briefing with period=weeklybettermeter_ad_spend_sync with CONFIRM sync ad spend <site_id>bettermeter_crm_sync with CONFIRM sync crm <connection_id>Lista completa de herramientas
Las herramientas de tráfico humano excluyen por defecto el tráfico automatizado conocido y detectado con alta confianza. Usa include_bots=true cuando necesites explícitamente los totales sin filtrar.
Las herramientas que aceptan limit son bettermeter_pages, bettermeter_sources, bettermeter_bots, bettermeter_countries, bettermeter_browsers, bettermeter_visitors, bettermeter_sessions, bettermeter_events, bettermeter_campaigns, bettermeter_conversions, bettermeter_keywords, bettermeter_campaign_visitors, bettermeter_export, bettermeter_cli_commands, bettermeter_mcp_tools, bettermeter_mcp_clients y bettermeter_api_endpoints. Si lo omites, el endpoint devuelve su propia página por defecto, que varía según el conjunto de datos; envíalo solo para pedir un número concreto de filas. En bettermeter_sources (con filter) y bettermeter_bots (con category) el límite se aplica antes del filtro, por lo que un resultado filtrado puede contener menos filas que el límite.
Tiempo real
bettermeter_live_visitorsbettermeter_live_displayCartera de sitios
bettermeter_all_sitesAnalíticas web
bettermeter_statsbettermeter_pagesbettermeter_sourcesbettermeter_ai_trafficbettermeter_botsbettermeter_timeseriesbettermeter_countriesbettermeter_devicesbettermeter_browsersbettermeter_visitorsbettermeter_sessionsbettermeter_find_visitorbettermeter_visitorbettermeter_update_visitorbettermeter_visitor_propertiesbettermeter_tag_visitorbettermeter_eventsbettermeter_event_detailbettermeter_campaignsbettermeter_campaign_detailbettermeter_campaign_visitorsbettermeter_keywordsbettermeter_marketingbettermeter_landing_page_screenshotbettermeter_channelsbettermeter_exportAnalíticas de CLI
bettermeter_cli_overviewbettermeter_cli_commandsbettermeter_cli_timeseriesAnalíticas de MCP
bettermeter_mcp_overviewbettermeter_mcp_toolsbettermeter_mcp_clientsbettermeter_mcp_timeseriesAnalíticas de API
bettermeter_api_overviewbettermeter_api_endpointsbettermeter_api_timeseriesMedios de pago
bettermeter_ad_connectionsbettermeter_ad_spendbettermeter_ad_spend_syncbettermeter_ad_creativeCRM y conversiones
bettermeter_conversionsbettermeter_crm_connectionsbettermeter_crm_syncEnvío de alertas de Slack
bettermeter_slack_webhooksbettermeter_slack_connectbettermeter_slack_testbettermeter_slack_updatebettermeter_slack_removeBuilder
bettermeter_dashboardsbettermeter_create_dashboardbettermeter_update_dashboardbettermeter_delete_dashboardbettermeter_reportsbettermeter_create_reportbettermeter_report_previewbettermeter_update_reportbettermeter_delete_reportObjetivos de conversión y evolución
bettermeter_goalsbettermeter_goal_detailbettermeter_create_goalbettermeter_update_goalbettermeter_delete_goalbettermeter_suggest_goalsGestión de sitios
bettermeter_sites_listbettermeter_sites_addbettermeter_sites_removebettermeter_sites_infobettermeter_sites_updatebettermeter_installGestión de equipo
bettermeter_members_listbettermeter_members_addbettermeter_members_removebettermeter_members_update_rolebettermeter_cancel_invitationPosicionamiento en búsqueda y visibilidad IA
bettermeter_brand_reportbettermeter_brand_configbettermeter_brand_comparebettermeter_brand_alertsbettermeter_ai_mentionsbettermeter_ai_mention_historybettermeter_backlinksFacturación
bettermeter_billingPulse AI
bettermeter_pulse_askbettermeter_pulse_threadsbettermeter_pulse_threadbettermeter_pulse_thread_deletebettermeter_pulse_insightsbettermeter_pulse_healthbettermeter_pulse_briefingbettermeter_pulse_forecastbettermeter_pulse_comparebettermeter_pulse_alerts_listbettermeter_pulse_alerts_createbettermeter_pulse_alerts_deletebettermeter_pulse_notificationsEl gasto de Meta es comercialmente sensible y requiere acceso EDITOR o ADMIN tanto en las herramientas directas como en Pulse; el catálogo Pulse de VIEWER omite únicamente la herramienta de gasto. bettermeter_ad_spend_sync llama a Meta y actualiza el gasto almacenado, por lo que también requiere la frase exacta CONFIRM sync ad spend <site_id>.