Skip to main content
Glama
AiAgency-Now

VoiceAI-MCP-VAVicky

Official
by AiAgency-Now

get_assistant_files

Retrieve files linked to a specific assistant in the VoiceAI platform to manage and access associated resources.

Instructions

Get files associated with an assistant

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
assistant_idYesAssistant ID

Implementation Reference

  • Switch case within the executeTool method that handles the 'get_assistant_files' tool by setting the API URL to fetch files for the given assistant_id and executing a GET request via fetch.
    case 'get_assistant_files':
      url = `${this.baseUrl}/assistants/${args.assistant_id}/files`;
      break;
  • Schema definition for the 'get_assistant_files' tool, specifying input as an object requiring 'assistant_id' string.
      name: 'get_assistant_files',
      description: 'Get files associated with an assistant',
      inputSchema: {
        type: 'object',
        properties: {
          assistant_id: { type: 'string', description: 'Assistant ID' }
        },
        required: ['assistant_id']
      }
    },
  • index.js:37-458 (registration)
    Registration of all tools including 'get_assistant_files' via the ListToolsRequestSchema handler in setupToolHandlers method.
    this.server.setRequestHandler(ListToolsRequestSchema, async () => {
      return {
        tools: [
          // User Management
          {
            name: 'get_user',
            description: 'Get user data including tokens and settings',
            inputSchema: {
              type: 'object',
              properties: {},
              required: []
            }
          },
          {
            name: 'update_white_label',
            description: 'Update White Label details: name, description, domain and color',
            inputSchema: {
              type: 'object',
              properties: {
                whitelabel_name: { type: 'string', description: 'White label name' },
                whitelabel_description: { type: 'string', description: 'White label description' },
                whitelabel_domain: { type: 'string', description: 'White label domain' },
                whitelabel_color: { type: 'string', description: 'White label color (hex code)' }
              },
              required: []
            }
          },
          {
            name: 'update_smtp',
            description: 'Update SMTP settings for custom email notifications',
            inputSchema: {
              type: 'object',
              properties: {
                smtp_email: { type: 'string', description: 'SMTP email address' },
                smtp_password: { type: 'string', description: 'SMTP password' },
                smtp_host: { type: 'string', description: 'SMTP host' },
                smtp_port: { type: 'string', description: 'SMTP port' }
              },
              required: ['smtp_email', 'smtp_password', 'smtp_host']
            }
          },
          // API Token Management
          {
            name: 'update_openai_token',
            description: 'Update OpenAI API Key',
            inputSchema: {
              type: 'object',
              properties: {
                openai_token: { type: 'string', description: 'OpenAI API Key' }
              },
              required: ['openai_token']
            }
          },
          {
            name: 'update_elevenlabs_token',
            description: 'Update Elevenlabs API Key',
            inputSchema: {
              type: 'object',
              properties: {
                elevenlabs_token: { type: 'string', description: 'Elevenlabs API Key' }
              },
              required: ['elevenlabs_token']
            }
          },
          {
            name: 'update_deepseek_token',
            description: 'Update Deepseek API Key',
            inputSchema: {
              type: 'object',
              properties: {
                deepseek_token: { type: 'string', description: 'Deepseek API Key' }
              },
              required: ['deepseek_token']
            }
          },
          {
            name: 'update_gemini_token',
            description: 'Update Google Gemini API Key',
            inputSchema: {
              type: 'object',
              properties: {
                gemini_token: { type: 'string', description: 'Google Gemini API Key' }
              },
              required: ['gemini_token']
            }
          },
          {
            name: 'update_openrouter_token',
            description: 'Update Open Router API Key',
            inputSchema: {
              type: 'object',
              properties: {
                openrouter_token: { type: 'string', description: 'Open Router API Key' }
              },
              required: ['openrouter_token']
            }
          },
          // Assistant Management
          {
            name: 'get_assistants',
            description: 'Get all assistants for the authenticated user',
            inputSchema: {
              type: 'object',
              properties: {},
              required: []
            }
          },
          {
            name: 'get_assistant',
            description: 'Get basic information about a specific assistant',
            inputSchema: {
              type: 'object',
              properties: {
                assistant_id: { type: 'string', description: 'Assistant ID' }
              },
              required: ['assistant_id']
            }
          },
          {
            name: 'get_one_assistant',
            description: 'Get complete information about a specific assistant',
            inputSchema: {
              type: 'object',
              properties: {
                assistant_id: { type: 'string', description: 'Assistant ID' }
              },
              required: ['assistant_id']
            }
          },
          {
            name: 'create_assistant',
            description: 'Create a new assistant with comprehensive configuration',
            inputSchema: {
              type: 'object',
              properties: {
                name: { type: 'string', description: 'Assistant name' },
                apiKey: { type: 'string', description: 'OpenAI API Key' },
                welcome_message: { type: 'string', description: 'Welcome message', default: 'Hello how can I help you today?' },
                prompt: { type: 'string', description: 'Instructions/Prompt for the assistant' },
                active: { type: 'boolean', description: 'Whether assistant is active', default: true },
                assistant_type: { type: 'string', enum: ['Text Only', 'Voice Only', 'Text & Voice', 'Voice & Text'], description: 'AI Type' },
                ai_platform: { type: 'string', enum: ['openai', 'gemini', 'openrouter', 'deepseek'], description: 'AI Provider' },
                openai_model: { type: 'string', description: 'AI Model', default: 'gpt-3.5-turbo' },
                openai_temperature: { type: 'number', description: 'AI Temperature (0-2)', default: 0.8 },
                booking_bot: { type: 'boolean', description: 'Is booking bot', default: false },
                location: { type: 'string', description: 'GoHighLevel Location' },
                calendar: { type: 'string', description: 'Calendar ID' },
                timezone: { type: 'string', description: 'Timezone' },
                custom_field: { type: 'string', description: 'Custom field' },
                limit_call_time: { type: 'number', description: 'Limit call time in seconds', default: 240 },
                limit_call_tokens: { type: 'number', description: 'Limit call tokens', default: 2000 },
                max_call_tokens: { type: 'number', description: 'Max call tokens', default: 18000 },
                elevenlabs_voice_id: { type: 'string', description: 'ElevenLabs Voice ID' },
                twilio_sid: { type: 'string', description: 'Twilio SID' },
                twilio_token: { type: 'string', description: 'Twilio Token' },
                twilio_phone: { type: 'string', description: 'Twilio Phone Number' },
                twilio_welcome: { type: 'string', description: 'Twilio Welcome Message' },
                twilio_speech_timeout: { type: 'number', description: 'Twilio Speech Timeout', default: 3 },
                twilio_initial_delay: { type: 'number', description: 'Twilio Initial Delay', default: 1 },
                google_calendar: { type: 'boolean', description: 'Google Calendar Integration', default: false },
                webhook_to_send: { type: 'string', description: 'Webhook URL' },
                openai_realtime: { type: 'boolean', description: 'OpenAI Realtime', default: false },
                openai_realtime_voice: { type: 'string', enum: ['alloy', 'echo', 'fable', 'nova', 'onyx', 'shimmer'], description: 'OpenAI Realtime Voice' },
                openai_websites: { type: 'array', items: { type: 'string' }, description: 'OpenAI Websites' }
              },
              required: ['name', 'apiKey']
            }
          },
          {
            name: 'update_assistant',
            description: 'Update an existing assistant',
            inputSchema: {
              type: 'object',
              properties: {
                assistant_id: { type: 'string', description: 'Assistant ID' },
                name: { type: 'string', description: 'Assistant name' },
                apiKey: { type: 'string', description: 'OpenAI API Key' },
                welcome_message: { type: 'string', description: 'Welcome message' },
                prompt: { type: 'string', description: 'Instructions/Prompt' },
                active: { type: 'boolean', description: 'Whether assistant is active' },
                assistant_type: { type: 'string', enum: ['Text Only', 'Voice Only', 'Text & Voice', 'Voice & Text'] },
                ai_platform: { type: 'string', enum: ['openai', 'gemini', 'openrouter', 'deepseek'] },
                openai_model: { type: 'string', description: 'AI Model' },
                openai_temperature: { type: 'number', description: 'AI Temperature (0-2)' },
                booking_bot: { type: 'boolean', description: 'Is booking bot' },
                location: { type: 'string', description: 'GoHighLevel Location' },
                calendar: { type: 'string', description: 'Calendar ID' },
                timezone: { type: 'string', description: 'Timezone' },
                custom_field: { type: 'string', description: 'Custom field' }
              },
              required: ['assistant_id']
            }
          },
          {
            name: 'delete_assistant',
            description: 'Delete an assistant',
            inputSchema: {
              type: 'object',
              properties: {
                assistant_id: { type: 'string', description: 'Assistant ID' }
              },
              required: ['assistant_id']
            }
          },
    
          // Assistant Files
          {
            name: 'get_assistant_files',
            description: 'Get files associated with an assistant',
            inputSchema: {
              type: 'object',
              properties: {
                assistant_id: { type: 'string', description: 'Assistant ID' }
              },
              required: ['assistant_id']
            }
          },
          {
            name: 'delete_assistant_file',
            description: 'Delete a specific file from an assistant',
            inputSchema: {
              type: 'object',
              properties: {
                assistant_id: { type: 'string', description: 'Assistant ID' },
                file_id: { type: 'string', description: 'File ID' }
              },
              required: ['assistant_id', 'file_id']
            }
          },
    
          // Assistant Usage & Analytics
          {
            name: 'get_assistant_usage',
            description: 'Get usage statistics for an assistant',
            inputSchema: {
              type: 'object',
              properties: {
                assistant_id: { type: 'string', description: 'Assistant ID' }
              },
              required: ['assistant_id']
            }
          },
          {
            name: 'get_assistants_token_usage',
            description: 'Get token usage across all assistants',
            inputSchema: {
              type: 'object',
              properties: {},
              required: []
            }
          },
          {
            name: 'get_dashboard_assistant',
            description: 'Get the dashboard assistant for the authenticated user',
            inputSchema: {
              type: 'object',
              properties: {},
              required: []
            }
          },
          // Chat with Assistant
          {
            name: 'chat_with_assistant',
            description: 'Chat with a specific assistant',
            inputSchema: {
              type: 'object',
              properties: {
                assistant_id: { type: 'string', description: 'Assistant ID' },
                message: { type: 'string', description: 'Message to send' },
                thread_id: { type: 'string', description: 'Chat/Thread ID' },
                audio: { type: 'boolean', description: 'Enable audio response', default: false }
              },
              required: ['assistant_id', 'message', 'thread_id']
            }
          },
          // Twilio Operations
          {
            name: 'connect_twilio',
            description: 'Connect Twilio account credentials',
            inputSchema: {
              type: 'object',
              properties: {
                twilio_sid: { type: 'string', description: 'Twilio Account SID' },
                twilio_token: { type: 'string', description: 'Twilio Auth Token' }
              },
              required: ['twilio_sid', 'twilio_token']
            }
          },
          {
            name: 'disconnect_twilio',
            description: 'Disconnect Twilio account',
            inputSchema: {
              type: 'object',
              properties: {},
              required: []
            }
          },
          {
            name: 'get_twilio_numbers',
            description: 'Get all Twilio phone numbers',
            inputSchema: {
              type: 'object',
              properties: {},
              required: []
            }
          },
          {
            name: 'get_available_numbers',
            description: 'Get available phone numbers for purchase',
            inputSchema: {
              type: 'object',
              properties: {
                country_code: { type: 'string', description: 'Country code', default: 'US' },
                number_type: { type: 'string', enum: ['local', 'tollfree', 'mobile'], description: 'Number type', default: 'local' },
                search_pattern: { type: 'string', description: 'Search for numbers containing this pattern' },
                locality: { type: 'string', description: 'Locality/city for local numbers' }
              },
              required: []
            }
          },
          {
            name: 'buy_twilio_number',
            description: 'Purchase a new Twilio phone number',
            inputSchema: {
              type: 'object',
              properties: {
                phone_number: { type: 'string', description: 'Phone number to purchase' }
              },
              required: ['phone_number']
            }
          },
          {
            name: 'update_twilio_number',
            description: 'Update Twilio number configuration',
            inputSchema: {
              type: 'object',
              properties: {
                number_sid: { type: 'string', description: 'Number SID' },
                friendly_name: { type: 'string', description: 'Friendly name' },
                voice_webhook: { type: 'string', description: 'Voice webhook URL' },
                sms_webhook: { type: 'string', description: 'SMS webhook URL' }
              },
              required: ['number_sid']
            }
          },
          {
            name: 'get_twilio_usage',
            description: 'Get Twilio usage statistics',
            inputSchema: {
              type: 'object',
              properties: {
                start_date: { type: 'string', description: 'Start date (ISO format)' },
                end_date: { type: 'string', description: 'End date (ISO format)' },
                limit: { type: 'number', description: 'Max number of results', default: 50 }
              },
              required: []
            }
          },
          // Call Management
          {
            name: 'make_call',
            description: 'Make a phone call through assistant',
            inputSchema: {
              type: 'object',
              properties: {
                assistant_id: { type: 'string', description: 'Assistant ID' },
                phone_number: { type: 'string', description: 'Phone number to call' },
                contact_id: { type: 'string', description: 'Contact ID (optional)' }
              },
              required: ['assistant_id', 'phone_number']
            }
          },
          {
            name: 'make_bulk_call',
            description: 'Make bulk phone calls',
            inputSchema: {
              type: 'object',
              properties: {
                assistant_id: { type: 'string', description: 'Assistant ID' },
                contact_bulk_id: { type: 'string', description: 'Contact bulk ID' }
              },
              required: ['assistant_id', 'contact_bulk_id']
            }
          },
          {
            name: 'get_calls_in_progress',
            description: 'Get all calls currently in progress',
            inputSchema: {
              type: 'object',
              properties: {},
              required: []
            }
          },
          {
            name: 'cancel_call',
            description: 'Cancel an active phone call',
            inputSchema: {
              type: 'object',
              properties: {
                call_id: { type: 'string', description: 'Call ID' }
              },
              required: ['call_id']
            }
          },
          // SMS Operations
          {
            name: 'send_sms',
            description: 'Send SMS message through assistant',
            inputSchema: {
              type: 'object',
              properties: {
                assistant_id: { type: 'string', description: 'Assistant ID' },
                phone_number: { type: 'string', description: 'Phone number to send SMS' },
                message: { type: 'string', description: 'SMS message content' },
                contact_id: { type: 'string', description: 'Contact ID (optional)' }
              },
              required: ['assistant_id', 'phone_number', 'message']
            }
          }
        ]
      };
    });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AiAgency-Now/MCP-VoiceAI-WhiteLabel'

If you have feedback or need assistance with the MCP directory API, please join our Discord server