finops-mcp-server
Version:
MCP server for FinOps Center cost optimization integration
62 lines • 1.83 kB
TypeScript
/**
* MCP Protocol Handler - Corrected Version Based on Actual Schema
*
* Updated to match the actual GraphQL schema where processCostOptimizationRecommendation
* is a mutation that processes actions on existing recommendations
*/
import { MCPHandler, MCPInitializeResult, MCPListToolsParams, MCPListToolsResult, MCPCallToolParams, MCPCallToolResult } from './types/mcp.js';
import { APIClient } from './types/api.js';
import { ServerConfig, Logger } from './types/config.js';
/**
* MCP Server implementation for FinOps Center integration
*/
export declare class FinOpsMCPHandler implements MCPHandler {
private server;
private apiClient;
private config;
private logger;
private isInitialized;
private registeredTools;
constructor(apiClient: APIClient, config: ServerConfig, logger?: Logger);
/**
* Set up MCP server request handlers
*/
private setupServerHandlers;
/**
* Initialize the MCP server
*/
initialize(): Promise<MCPInitializeResult>;
/**
* Start the MCP server
*/
start(): Promise<void>;
/**
* Shutdown the MCP server
*/
shutdown(): Promise<void>;
/**
* Register available MCP tools
*/
private registerTools;
/**
* Execute a tool call
*/
callTool(params: MCPCallToolParams): Promise<MCPCallToolResult>;
/**
* Get cost optimization recommendations
*/
private getCostOptimizationRecommendations;
/**
* Get cost trends
*/
private getCostTrends;
/**
* Process cost optimization recommendation (matches actual schema)
*/
private processCostOptimizationRecommendation;
/**
* List available tools
*/
listTools(params?: MCPListToolsParams): Promise<MCPListToolsResult>;
}
//# sourceMappingURL=mcp-handler.d.ts.map