A Model Context Protocol (MCP) server for managing enterprise voice agent configurations with support for both OpenAI and VAPI voice providers.
- 🏢 Enterprise Configuration Management: Load, create, and manage enterprise voice agent configurations
- 🎤 Dual Voice Provider Support: Switch between OpenAI Realtime API and VAPI (defaults to VAPI)
- 🏭 Industry Templates: Pre-built templates for airline, hotel, banking, and retail industries
- 📚 Knowledge Base Management: Add and manage knowledge base documents
- 🔌 API Integration: Configure and manage API endpoints for voice agents
- 📊 Configuration Export/Import: Export configurations to JSON or load from files
- Install dependencies:
npm install- Build the project:
npm run build- Set up environment variables (copy from
env.example):
cp env.example .env
# Edit .env with your configuration# Development mode
npm run dev
# Production mode
npm startThe MCP server provides the following tools:
load_enterprise_config: Load configuration from a JSON fileload_config_from_string: Load configuration from JSON stringexport_config: Export current configuration to JSONget_config_summary: Get configuration summary
set_voice_provider: Set voice provider (OpenAI or VAPI) with configuration
get_enterprise_info: Get detailed enterprise informationget_voice_agent_config: Get voice agent configurationget_apis_config: Get all configured APIsget_knowledge_base: Get knowledge base configuration
add_api_endpoint: Add new API endpoint to configurationadd_knowledge_document: Add document to knowledge base
get_industry_templates: Get available industry templatescreate_config_from_template: Create configuration from industry template
config://enterprise: Current enterprise configurationconfig://voice-provider: Current voice provider configurationconfig://summary: Configuration summary
DEFAULT_VOICE_PROVIDER: Default voice provider (vapi or openai)OPENAI_API_KEY: OpenAI API key (if using OpenAI)VAPI_PUBLIC_KEY: VAPI public key (if using VAPI)VAPI_ASSISTANT_ID: VAPI assistant ID (if using VAPI)
The enterprise configuration follows this structure:
{
"enterprise": {
"name": "Company Name",
"industry": "hotel",
"description": "Company description",
"headquarters": "Location",
"website": "https://company.com",
"supportHours": "24/7",
"languages": ["English"],
"contactInfo": {
"phone": "+1-800-COMPANY",
"email": "support@company.com"
}
},
"apis": [
{
"name": "API Name",
"description": "API description",
"endpoints": [...]
}
],
"knowledgeBase": {
"name": "Knowledge Base Name",
"documents": [...],
"categories": [...]
},
"voiceAgent": {
"name": "Voice Assistant Name",
"instructions": "Assistant instructions",
"personality": {...},
"capabilities": [...]
}
}The server includes pre-built templates for:
- Airline: Flight booking, baggage policies, check-in procedures
- Hotel: Room reservations, amenities, check-in/out procedures
- Banking: Account inquiries, transactions, loan information
- Retail: Product information, orders, returns, loyalty programs
{
"provider": "vapi",
"vapi": {
"publicKey": "your_vapi_public_key",
"assistantId": "your_assistant_id",
"baseUrl": "https://api.vapi.ai"
}
}{
"provider": "openai",
"openai": {
"apiKey": "sk-your_openai_api_key",
"model": "gpt-4o",
"voice": "alloy"
}
}This MCP server is designed to work with the Voice Agent application. It provides:
- Configuration Loading: Load enterprise configurations from files or strings
- Provider Selection: Choose between OpenAI and VAPI voice providers
- Dynamic Configuration: Modify configurations at runtime
- Template Support: Create configurations from industry templates
src/
├── index.ts # Main MCP server implementation
├── config-manager.ts # Enterprise configuration management
└── types.ts # TypeScript type definitions
npm run buildnpm run devMIT