@venly/wallet-mcp
Version:
Production-ready MCP server enabling AI agents to perform Web3 wallet operations through Venly's blockchain infrastructure. Supports 14+ networks including Ethereum, Polygon, Arbitrum, and stablecoin operations.
94 lines • 2.31 kB
TypeScript
/**
* Prometheus Metrics Export for Grafana Integration
*
* Provides /metrics endpoint for existing Grafana monitoring
*/
import { VenlyClient } from '../venly/VenlyClient.js';
import winston from 'winston';
export interface MetricValue {
name: string;
help: string;
type: 'counter' | 'gauge' | 'histogram' | 'summary';
value: number;
labels?: Record<string, string>;
}
export interface PrometheusMetrics {
[key: string]: MetricValue;
}
/**
* Prometheus Metrics Service
*/
export declare class PrometheusMetricsService {
private startTime;
private metrics;
private requestCount;
private successCount;
private errorCount;
private toolUsageCount;
private responseTimes;
private venlyApiResponseTimes;
constructor(_venlyClient: VenlyClient, _logger: winston.Logger);
/**
* Initialize default metrics
*/
private initializeMetrics;
/**
* Update server uptime metric
*/
private updateUptimeMetric;
/**
* Update memory metrics
*/
private updateMemoryMetrics;
/**
* Update authentication status metric
*/
private updateAuthMetric;
/**
* Record MCP request
*/
recordRequest(toolName: string, responseTime: number, success: boolean): void;
/**
* Record Venly API request
*/
recordVenlyApiRequest(responseTime: number): void;
/**
* Get tool usage metrics
*/
private getToolUsageMetrics;
/**
* Generate Prometheus metrics format
*/
generateMetrics(): string;
/**
* Get Node.js process metrics
*/
private getProcessMetrics;
/**
* Get metrics summary for health checks
*/
getMetricsSummary(): {
totalRequests: number;
successRate: number;
errorRate: number;
averageResponseTime: number;
memoryUsage: number;
uptime: number;
};
}
/**
* Metrics endpoint handler
*/
export declare class MetricsRoutes {
private metricsService;
constructor(metricsService: PrometheusMetricsService);
/**
* GET /metrics - Prometheus metrics endpoint
*/
handleMetrics(): Promise<{
statusCode: number;
body: string;
headers: Record<string, string>;
}>;
}
//# sourceMappingURL=prometheus.d.ts.map