UNPKG

@chinchillaenterprises/mcp-ai-assistant

Version:

MCP server for AI assistant with ElevenLabs text-to-speech integration

53 lines 2.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getUsageTool = void 0; const zod_1 = require("zod"); const account_state_js_1 = require("../../services/account-state.js"); const elevenlabs_client_js_1 = require("../../services/elevenlabs-client.js"); const inputSchema = zod_1.z.object({}); exports.getUsageTool = { name: 'elevenlabs_get_usage', description: 'Get subscription and usage information for the current account', inputSchema, handler: async (args) => { const accountState = new account_state_js_1.AccountState(); const client = new elevenlabs_client_js_1.ElevenLabsClient(accountState); try { const subscriptionInfo = await client.getSubscriptionInfo(); return { content: [{ type: 'text', text: JSON.stringify({ success: true, usage: { character_count: subscriptionInfo.character_count, character_limit: subscriptionInfo.character_limit, can_extend_character_limit: subscriptionInfo.can_extend_character_limit, allowed_to_extend_character_limit: subscriptionInfo.allowed_to_extend_character_limit, next_character_count_reset_unix: subscriptionInfo.next_character_count_reset_unix, voice_limit: subscriptionInfo.voice_limit, professional_voice_limit: subscriptionInfo.professional_voice_limit, can_use_instant_voice_cloning: subscriptionInfo.can_use_instant_voice_cloning, can_use_professional_voice_cloning: subscriptionInfo.can_use_professional_voice_cloning, available_models: subscriptionInfo.available_models, can_use_style: subscriptionInfo.can_use_style, can_use_speaker_boost: subscriptionInfo.can_use_speaker_boost } }, null, 2) }] }; } catch (error) { return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: error instanceof Error ? error.message : 'Unknown error occurred' }, null, 2) }] }; } } }; //# sourceMappingURL=get-usage.js.map