Skip to main content
Glama

Codebase MCP Server

by Ravenight13
metrics-endpoint.yaml8.18 kB
openapi: 3.1.0 info: title: Metrics Endpoint version: 1.0.0 description: | Prometheus-compatible metrics endpoint for codebase-mcp and workflow-mcp servers. Constitutional Compliance: - Principle V: Production quality observability - FR-012: Prometheus-compatible format (request counts, latency histograms, error rates) - FR-014: Performance warnings logged when thresholds exceeded servers: - url: http://localhost:8020 description: Codebase-MCP server - url: http://localhost:8010 description: Workflow-MCP server (hypothetical for Phase 06) paths: /metrics: get: summary: Get Prometheus-compatible metrics description: | Returns server metrics in Prometheus exposition format, including: - Request counters (total, successful, failed) - Latency histograms with percentile buckets - Error rate counters by type - Resource utilization (connection pool, memory) Response time: <100ms (does not impact main operations per edge case requirement) operationId: getMetrics tags: - Metrics responses: '200': description: Metrics retrieved successfully content: application/json: schema: $ref: '#/components/schemas/MetricsResponse' examples: codebase_mcp: summary: Codebase-MCP metrics value: counters: - name: codebase_mcp_requests_total help_text: Total number of requests value: 10000 - name: codebase_mcp_errors_total help_text: Total number of errors value: 42 - name: codebase_mcp_indexing_operations_total help_text: Total number of indexing operations value: 150 histograms: - name: codebase_mcp_search_latency_seconds help_text: Search query latency buckets: - bucket_le: 0.1 count: 450 - bucket_le: 0.5 count: 9500 - bucket_le: 1.0 count: 9950 - bucket_le: 2.0 count: 10000 count: 10000 sum: 2345.67 - name: codebase_mcp_indexing_duration_seconds help_text: Repository indexing duration buckets: - bucket_le: 30.0 count: 50 - bucket_le: 60.0 count: 140 - bucket_le: 120.0 count: 150 count: 150 sum: 7850.25 text/plain: schema: type: string description: Prometheus text exposition format example: | # HELP codebase_mcp_requests_total Total number of requests # TYPE codebase_mcp_requests_total counter codebase_mcp_requests_total 10000 # HELP codebase_mcp_errors_total Total number of errors # TYPE codebase_mcp_errors_total counter codebase_mcp_errors_total 42 # HELP codebase_mcp_search_latency_seconds Search query latency # TYPE codebase_mcp_search_latency_seconds histogram codebase_mcp_search_latency_seconds_bucket{le="0.1"} 450 codebase_mcp_search_latency_seconds_bucket{le="0.5"} 9500 codebase_mcp_search_latency_seconds_bucket{le="1.0"} 9950 codebase_mcp_search_latency_seconds_bucket{le="2.0"} 10000 codebase_mcp_search_latency_seconds_bucket{le="+Inf"} 10000 codebase_mcp_search_latency_seconds_count 10000 codebase_mcp_search_latency_seconds_sum 2345.67 '500': description: Metrics collection failed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: MetricsResponse: type: object required: - counters - histograms properties: counters: type: array items: $ref: '#/components/schemas/MetricCounter' description: Counter metrics (monotonically increasing values) histograms: type: array items: $ref: '#/components/schemas/MetricHistogram' description: Histogram metrics (latency distributions) MetricCounter: type: object required: - name - help_text - value properties: name: type: string description: Metric name (Prometheus naming convention with underscores) pattern: '^[a-z_][a-z0-9_]*$' example: 'codebase_mcp_requests_total' help_text: type: string description: Human-readable metric description example: 'Total number of requests' value: type: integer minimum: 0 description: Current counter value (monotonically increasing) example: 10000 MetricHistogram: type: object required: - name - help_text - buckets - count - sum properties: name: type: string description: Metric name (Prometheus naming convention) pattern: '^[a-z_][a-z0-9_]*$' example: 'codebase_mcp_search_latency_seconds' help_text: type: string description: Human-readable metric description example: 'Search query latency' buckets: type: array items: $ref: '#/components/schemas/LatencyHistogramBucket' description: Histogram buckets (must be sorted by bucket_le, monotonically increasing counts) minItems: 1 count: type: integer minimum: 0 description: Total observation count (must equal highest bucket count) example: 10000 sum: type: number format: double minimum: 0 description: Sum of all observed values example: 2345.67 LatencyHistogramBucket: type: object required: - bucket_le - count properties: bucket_le: type: number format: double description: | Bucket upper bound (le = less than or equal). All observations <= bucket_le are counted in this bucket. example: 0.5 count: type: integer minimum: 0 description: Cumulative count of observations <= bucket_le example: 9500 ErrorResponse: type: object required: - error - message properties: error: type: string description: Error type example: 'metrics_collection_error' message: type: string description: Human-readable error message example: 'Failed to collect metrics from in-memory store' tags: - name: Metrics description: | Prometheus-compatible metrics for observability. Key Metrics: - **Request Counters**: Total requests, successful requests, failed requests - **Latency Histograms**: Search latency, indexing duration, query latency - **Error Counters**: Errors by type (timeout, connection_pool_exhausted, etc.) - **Resource Utilization**: Connection pool usage, memory usage Constitutional Performance Targets: - Search latency: p95 < 500ms - Indexing duration: p95 < 60s - Project switching (workflow-mcp): p95 < 50ms - Entity queries (workflow-mcp): p95 < 100ms

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/Ravenight13/codebase-mcp'

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