Skip to main content
Glama
AiAgency-Now

VoiceAI-MCP-VAVicky

Official
by AiAgency-Now

create_assistant

Configure and deploy AI assistants for voice or text interactions by setting parameters like provider, model, voice, and integration options.

Instructions

Create a new assistant with comprehensive configuration

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesAssistant name
apiKeyYesOpenAI API Key
welcome_messageNoWelcome messageHello how can I help you today?
promptNoInstructions/Prompt for the assistant
activeNoWhether assistant is active
assistant_typeNoAI Type
ai_platformNoAI Provider
openai_modelNoAI Modelgpt-3.5-turbo
openai_temperatureNoAI Temperature (0-2)
booking_botNoIs booking bot
locationNoGoHighLevel Location
calendarNoCalendar ID
timezoneNoTimezone
custom_fieldNoCustom field
limit_call_timeNoLimit call time in seconds
limit_call_tokensNoLimit call tokens
max_call_tokensNoMax call tokens
elevenlabs_voice_idNoElevenLabs Voice ID
twilio_sidNoTwilio SID
twilio_tokenNoTwilio Token
twilio_phoneNoTwilio Phone Number
twilio_welcomeNoTwilio Welcome Message
twilio_speech_timeoutNoTwilio Speech Timeout
twilio_initial_delayNoTwilio Initial Delay
google_calendarNoGoogle Calendar Integration
webhook_to_sendNoWebhook URL
openai_realtimeNoOpenAI Realtime
openai_realtime_voiceNoOpenAI Realtime Voice
openai_websitesNoOpenAI Websites

Implementation Reference

  • Switch case handling the 'create_assistant' tool: constructs a POST request to `${baseUrl}/assistants` with body from filtered arguments.
    case 'create_assistant':
      url = `${this.baseUrl}/assistants`;
      method = 'POST';
      body = this.filterEmptyValues(args);
      break;
  • Tool definition including name, description, and detailed inputSchema for 'create_assistant' parameters.
    {
      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']
      }
    },
  • Utility function used by create_assistant (and others) to filter out empty/undefined values from the request body.
    filterEmptyValues(obj) {
      const cleaned = {};
      for (const [key, value] of Object.entries(obj)) {
        if (value !== undefined && value !== null && value !== '') {
          cleaned[key] = value;
        }
      }
      return cleaned;
    }

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