Skip to main content
Glama

mcp-server-cloudflare

Official
by cloudflare
metrics.ts1.72 kB
import { type ClientCapabilities } from '@modelcontextprotocol/sdk/types.js' import { MetricsEvent, MetricsEventIndexIds } from './analytics-engine' /** * TODO: once there are better hooks into MCP servers, we should track the session ID */ export class ToolCall extends MetricsEvent { constructor( private toolCall: { userId?: string toolName: string errorCode?: number } ) { super() } toDataPoint(): AnalyticsEngineDataPoint { return { indexes: [MetricsEventIndexIds.TOOL_CALL], blobs: this.mapBlobs({ blob3: this.toolCall.userId, blob4: this.toolCall.toolName, }), doubles: this.mapDoubles({ double1: this.toolCall.errorCode, }), } } } export class SessionStart extends MetricsEvent { constructor( private session: { userId?: string clientInfo?: { name: string version: string } clientCapabilities?: ClientCapabilities } ) { super() } toDataPoint(): AnalyticsEngineDataPoint { return { indexes: [MetricsEventIndexIds.SESSION_START], blobs: this.mapBlobs({ blob3: this.session.userId, blob4: this.session.clientInfo?.name, blob5: this.session.clientInfo?.version, }), doubles: this.mapDoubles({ double1: this.session.clientCapabilities?.roots ? 1 : 0, double2: this.session.clientCapabilities?.sampling ? 1 : 0, }), } } } export class AuthUser extends MetricsEvent { constructor( private authUser: { userId?: string errorMessage?: string } ) { super() } toDataPoint(): AnalyticsEngineDataPoint { return { indexes: [MetricsEventIndexIds.AUTH_USER], blobs: this.mapBlobs({ blob3: this.authUser.userId, blob4: this.authUser.errorMessage, }), } } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cloudflare/mcp-server-cloudflare'

If you have feedback or need assistance with the MCP directory API, please join our Discord server