grafana-mcp-analyzer
Version:
让AI助手直接分析你的Grafana监控数据 - A Model Context Protocol server for Grafana data analysis
81 lines (80 loc) • 2.64 kB
TypeScript
export declare function generateRequestId(): string;
export declare function storeRequestMetadata(requestId: string, metadata: {
timestamp: string;
url: string;
method?: string;
params?: Record<string, any>;
data?: any;
prompt?: string;
sessionId?: string;
}): Promise<void>;
export declare function getRequestMetadata(requestId: string): Promise<any>;
export declare function storeResponseData(requestId: string, data: any): Promise<{
type: string;
size: number;
chunks: number;
resourceUri: string;
chunkingInfo: {
dataType: string;
chunkCount: number;
guidance: string;
};
chunkingStrategy?: undefined;
} | {
type: string;
chunks: number;
size: number;
chunkingStrategy: string;
resourceUri: string;
chunkingInfo: {
dataType: string;
chunkCount: number;
guidance: string;
};
}>;
export declare function getResponseData(requestId: string, chunkId?: string): Promise<any>;
export declare function listDataFiles(requestId: string): Promise<string[]>;
export declare function storeAnalysis(requestId: string, analysis: any): Promise<void>;
/**
* 安全存储分析结果,确保写入后可读取
* @param requestId 请求ID
* @param analysis 分析数据
* @param timeout 超时时间(毫秒)
* @returns 存储的分析数据
*/
export declare function safeStoreAnalysis(requestId: string, analysis: any, timeout?: number): Promise<any>;
export declare function getAnalysis(requestId: string): Promise<any>;
export declare function listAllRequests(): Promise<any[]>;
export declare function listRequestsBySession(sessionId: string): Promise<any[]>;
export declare function deleteRequest(requestId: string): Promise<boolean>;
export declare function requestExists(requestId: string): Promise<boolean>;
export declare function getRequestStats(requestId: string): Promise<{
requestId: string;
timestamp: any;
prompt: any;
sessionId: any;
dataType: string;
dataFiles: number;
totalSize: number;
hasAnalysis: boolean;
resourceUris: string[];
}>;
/**
* 初始化数据清理
*/
export declare function initializeDataCleanup(): Promise<void>;
export declare function cleanupExpiredData(forceCleanAll?: boolean, maxAgeHours?: number): Promise<number>;
export declare function getDataStoreStats(): Promise<{
totalRequests: number;
totalSize: number;
totalSizeMB: string;
oldestRequest: {
id: string;
timestamp: string;
} | null;
newestRequest: {
id: string;
timestamp: string;
} | null;
storageRoot: string;
}>;