/** * CostHawk MCP Server - Comprehensive LLM & Tool Pricing * * Self-contained pricing data for all major LLM providers and tools. * Used by the MCP server for cost calculations and pricing queries. * * Last updated: February 2026 * Sources: Official provider pricing pages */ /** * Standard LLM pricing (per 1 MILLION tokens) */ export interface LLMPricing { provider: string; model: string; inputPer1M: number; outputPer1M: number; contextWindow?: number; notes?: string; } /** * Claude Code specific pricing with cache tokens */ export interface ClaudeCodePricing { inputPer1M: number; outputPer1M: number; cacheWritePer1M: number; cacheReadPer1M: number; } /** * Tool/Feature pricing */ export interface ToolPricing { tool: string; provider: string; pricePerCall?: number; pricePerQuery?: number; pricePerMinute?: number; pricePerImage?: number; notes?: string; } /** * Token counts from Claude Code transcripts */ export interface TokenCounts { inputTokens: number; outputTokens: number; cacheCreationTokens: number; cacheReadTokens: number; } /** * Calculated cost breakdown */ export interface CostBreakdown { inputCost: number; outputCost: number; cacheWriteCost: number; cacheReadCost: number; totalCost: number; } /** * All LLM pricing across providers * Prices are per 1 MILLION tokens */ export declare const ALL_LLM_PRICING: LLMPricing[]; /** * Pricing for AI tools and features */ export declare const TOOL_PRICING: ToolPricing[]; /** * Claude Code specific pricing with cache tokens */ export declare const CLAUDE_CODE_PRICING: Record; export declare const CLAUDE_SUBSCRIPTIONS: { readonly pro: { readonly name: "Claude Pro"; readonly monthlyFee: 20; readonly description: "Base Claude subscription"; }; readonly max_5x: { readonly name: "Claude Max 5×"; readonly monthlyFee: 100; readonly description: "5× the usage of Pro"; }; readonly max_20x: { readonly name: "Claude Max 20×"; readonly monthlyFee: 200; readonly description: "20× the usage of Pro"; }; }; export declare const OPENAI_SUBSCRIPTIONS: { readonly plus: { readonly name: "ChatGPT Plus"; readonly monthlyFee: 20; readonly description: "Standard subscription"; }; readonly pro: { readonly name: "ChatGPT Pro"; readonly monthlyFee: 200; readonly description: "Unlimited access including o1-pro"; }; }; /** * Get LLM pricing by provider and model */ export declare function getLLMPricing(provider: string, model: string): LLMPricing | undefined; /** * Get all pricing for a provider */ export declare function getPricingByProvider(provider: string): LLMPricing[]; /** * Get all available providers */ export declare function getProviders(): string[]; /** * Get tool pricing */ export declare function getToolPricing(tool: string, provider?: string): ToolPricing | undefined; /** * Get all tool pricing for a provider */ export declare function getToolsByProvider(provider: string): ToolPricing[]; /** * Get Claude Code pricing with cache tokens */ export declare function getClaudeCodePricing(model: string): ClaudeCodePricing; /** * Calculate cost for Claude Code token usage */ export declare function calculateCost(tokens: TokenCounts, model: string): CostBreakdown; /** * Calculate LLM cost (simple input/output) */ export declare function calculateLLMCost(provider: string, model: string, inputTokens: number, outputTokens: number): number; /** * Format cost for display */ export declare function formatCost(cost: number): string; /** * Format token count for display */ export declare function formatTokens(count: number): string; /** * Calculate savings compared to subscription */ export declare function calculateSavings(retailCost: number, subscriptionCost: number): { savings: number; savingsPercentage: number; status: "saving" | "losing" | "breakeven"; }; export declare const getPricing: typeof getClaudeCodePricing; //# sourceMappingURL=pricing-constants.d.ts.map