proxy_get_performance_metrics
Retrieve and reset performance metrics for the Web Proxy MCP Server to monitor and analyze HTTP/HTTPS traffic efficiently. Facilitates automated proxy server management and optimization.
Instructions
Get proxy server performance metrics
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| reset | No | Reset metrics after retrieval |
Implementation Reference
- src/tools/tool-handlers.js:455-466 (handler)Executes the proxy_get_performance_metrics tool by retrieving metrics from the proxyServer instance, optionally resetting the metrics if requested, and returning a formatted JSON text response.case 'proxy_get_performance_metrics': const metrics = this.proxyServer.getMetrics(); if (args.reset) { this.proxyServer.resetMetrics(); } return { content: [{ type: "text", text: `⚡ Performance Metrics\n\n${JSON.stringify(metrics, null, 2)}${args.reset ? '\n\n✅ Metrics reset' : ''}` }] };
- Defines the tool's metadata including name, description, and input schema with an optional 'reset' boolean parameter.proxy_get_performance_metrics: { name: "proxy_get_performance_metrics", description: "Get proxy server performance metrics", inputSchema: { type: "object", properties: { reset: { type: "boolean", description: "Reset metrics after retrieval", default: false } } } }
- index.js:66-74 (registration)Registers the tool schema (along with all other tools from TOOLS) with the MCP server via the ListToolsRequestHandler.this.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: Object.entries(TOOLS).map(([name, tool]) => ({ name, description: tool.description, inputSchema: tool.inputSchema })) }; });
- index.js:77-99 (registration)Registers the general tool call handler that routes execution to ToolHandlers.handleTool, which dispatches to the specific case for this tool.this.server.setRequestHandler(CallToolRequestSchema, async (request) => { const { name, arguments: args } = request.params; try { const result = await this.toolHandlers.handleTool(name, args || {}); if (result.isError) { throw new McpError( ErrorCode.InternalError, result.error ); } return result; } catch (error) { console.error(`Tool error [${name}]:`, error.message); throw new McpError( ErrorCode.InternalError, `Tool execution failed: ${error.message}` ); } });