Repository navigation
feat(mcp): instrument MCP server with prometheus metrics - #624
rupesh-kumar-sah wants to merge 1 commit into
Conversation
848c118 to
df28267
Compare
|
Warning Possible malicious code: please review before merging. An automated security scan flagged files in this pull request that appear to contain malicious code. Code like this can run automatically when a project is opened in an editor or its dependencies are installed, so it could compromise the machine of anyone who checks out this branch. Automated scans can be wrong, so this may be a false positive. Maintainers: please review the flagged files carefully before merging, on GitHub in your browser rather than by checking out the branch. The malicious part is often hidden far off to the right of an ordinary-looking line, so scroll sideways through each file. @rupesh-kumar-sah: this pull request adds or changes these files, possibly without your knowledge. Malware like this spreads by adding itself to repositories on machines it has infected, so your machine might be compromised. Please undo these changes in this pull request, and don't open or run other projects on that machine until you've checked it. Flagged files at commit Only merge once you're confident these files are safe. ℹ️ Posted automatically by Drips Wave. Questions? Contact support@drips.network. |
Summary
This PR instruments the MCP server (
BazaarMcpServer) with Prometheus metrics registered to the centralregisterinsrc/metrics.ts, exposing tool usage, performance, and failure categorization at/metrics.Closes #425
Details
Tool Calls Counter (
mcp_tool_calls_total):toolandoutcome(success|failure).bazaar_search,paid_call,payment_budget,lens_get_price), falling back tounknownfor unadvertised tool requests to prevent label cardinality explosions.Tool Duration Histogram (
mcp_tool_duration_seconds):[0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10]).CallToolRequestSchemaacross both success and failure paths.Errors Counter (
mcp_errors_total):code, strictly sourced from the closedMCP_ERROR_CODESvocabulary.createErrorResponseacross all tool error paths, as well as on unauthorized HTTP requests (ERR_UNAUTHORIZED).Prometheus Registry Integration:
src/metrics.tswithregisters: [register]so all metrics automatically appear at/metrics.Verification
tests/mcp*.test.ts— 190 passing tests).tests/mcp.test.tsverifying all 5 acceptance criteria:/metricsexposition outputtsc --noEmitexits 0).