OMICall MCP Server

OMICall MCP Server

Provides access to over 80 tools for managing OMICall and OMICRM APIs, including call center operations, ticket management, and multi-channel communication across platforms like Zalo and Facebook. It enables automated calling, agent management, and AI-powered text-to-speech capabilities through natural language.

Category
Visit Server

README

<p align="center"> <img src="assets/omicall-mcp.png" alt="OMICall MCP" width="600" /> </p>

<p align="center"> <a href="https://www.npmjs.com/package/omicall-mcp"><img src="https://img.shields.io/npm/v/omicall-mcp.svg" alt="npm version" /></a> <a href="https://www.npmjs.com/package/omicall-mcp"><img src="https://img.shields.io/npm/dm/omicall-mcp.svg" alt="npm downloads" /></a> <a href="https://github.com/VIHATTeam/OMICALL-MCP/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/omicall-mcp.svg" alt="license" /></a> <a href="https://smithery.ai/server/omicall-mcp"><img src="https://smithery.ai/badge/omicall-mcp" alt="smithery" /></a> </p>

OMICall MCP Server

MCP server for OMICall / OMICRM APIs.

80+ tools across 9 groups: Auth, Call Center, Ticket, Multi-Channel (Zalo, Facebook, Telegram, LiveTalk), Agent, Notifications, Webhook, Auto Call, and AI.

Quick Start

npx omicall-mcp

Setup per Platform

<details> <summary><strong>Claude Code</strong></summary>

Global (all projects):

# 1. Add MCP server
claude mcp add OMICall-mcp --scope user \
  -e OMICALL_USERNAME=admin@company.com \
  -e OMICALL_PASSWORD=your-password \
  -e OMICALL_DOMAIN=your-company \
  -- npx omicall-mcp

# 2. Auto-approve all tools (no permission prompts)
claude permissions allow "mcp__OMICall-mcp__*"

Persist permissions — add to ~/.claude/settings.json:

{
  "permissions": {
    "allow": [
      "mcp__OMICall-mcp__*"
    ]
  }
}

Per-project — add to .mcp.json:

{
  "mcpServers": {
    "omicall": {
      "command": "npx",
      "args": ["omicall-mcp"],
      "env": {
        "OMICALL_USERNAME": "admin@company.com",
        "OMICALL_PASSWORD": "your-password",
        "OMICALL_DOMAIN": "your-company"
      }
    }
  }
}

</details>

<details> <summary><strong>Claude Desktop</strong></summary>

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "omicall": {
      "command": "npx",
      "args": ["omicall-mcp"],
      "env": {
        "OMICALL_USERNAME": "admin@company.com",
        "OMICALL_PASSWORD": "your-password",
        "OMICALL_DOMAIN": "your-company"
      }
    }
  }
}

</details>

<details> <summary><strong>Cursor</strong></summary>

Settings > MCP Servers > Add:

{
  "omicall": {
    "command": "npx",
    "args": ["omicall-mcp"],
    "env": {
      "OMICALL_USERNAME": "admin@company.com",
      "OMICALL_PASSWORD": "your-password",
      "OMICALL_DOMAIN": "your-company"
    }
  }
}

</details>

<details> <summary><strong>Windsurf</strong></summary>

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "omicall": {
      "command": "npx",
      "args": ["omicall-mcp"],
      "env": {
        "OMICALL_USERNAME": "admin@company.com",
        "OMICALL_PASSWORD": "your-password",
        "OMICALL_DOMAIN": "your-company"
      }
    }
  }
}

</details>

<details> <summary><strong>VS Code (Copilot / Cline)</strong></summary>

Add to .vscode/mcp.json:

{
  "servers": {
    "omicall": {
      "command": "npx",
      "args": ["omicall-mcp"],
      "env": {
        "OMICALL_USERNAME": "admin@company.com",
        "OMICALL_PASSWORD": "your-password",
        "OMICALL_DOMAIN": "your-company"
      }
    }
  }
}

</details>


Tools (80+)

Auth

Tool Description
login_omicall_mcp Authenticate (auto pre_auth → tenant select → login)
select_tenant Select tenant if multiple
logout Logout and clear tokens
get_balance Account balance
get_service_package Enabled modules & usage limits

Call Center <sup>switchboard</sup>

Tool Description
search_calls Search call history with filters
get_call_detail Call details by transaction ID
update_call Add tags/notes
evaluate_call / list_eval_criteria Call evaluation
click_to_call Initiate outbound call
list_extensions / get_extension / update_extension / update_extension_status PBX extensions
list_hotlines / get_hotline / update_hotline Hotline management
list_groups / create_group / update_group / delete_group Ring groups
add_group_members / remove_group_members Group members
list_ivr / create_ivr / update_ivr / delete_ivr IVR menus
list_scripts / create_script / update_script / delete_script Call scripts
list_audio / generate_tts_audio / delete_audio Audio files

Ticket <sup>ticket</sup>

Tool Description
search_tickets Search with date range, keyword
get_ticket / create_ticket / update_ticket / delete_ticket CRUD
update_ticket_status Status change
create_ticket_note / update_ticket_note / delete_ticket_note Notes
list_ticket_interactions Interaction history
create_ticket_evaluation / get_ticket_eval_criteria Evaluation
get_ticket_categories / ticket_statistics / transfer_tickets Categories, stats, transfer

Multi-Channel <sup>integrated</sup>

6 channels: Zalo OA / Zalo Personal / Facebook Chat / Facebook Post / Telegram / LiveTalk

Tool Description
search_conversations Search across all channels (date/keyword/agent filters)
get_conversation / get_all_channels Conversation detail, channel list
search_channel_messages Messages per channel (auto channel-specific endpoint)
send_zalo_message Send via Zalo OA
send_zalo_personal_message Send in Zalo personal chat
send_facebook_message Send via Facebook Messenger
send_facebook_comment Reply to Facebook post/comment
send_telegram_message Send via Telegram bot
send_livetalk_message Send in LiveTalk widget
mark_conversation_read / transfer_conversation Actions

Agent & Notifications

Tool Description
list_agents / get_agent / invite_agent / get_agent_pbx_info Employee management
list_notifications / count_unread_notifications Notifications
mark_notification_read / mark_all_notifications_read Mark read

Webhook

Tool Description
list_webhooks / register_webhook / destroy_webhook Webhook CRUD (HTTPS enforced)

Auto Call <sup>switchboard</sup>

Tool Description
autocall_by_phone Auto call with TTS/recording/IVR
autocall_by_extension Auto call internal extension

AI <sup>ai</sup>

Tool Description
text_to_speech TTS with 4 Vietnamese voices
register_stt_webhook Register STT webhook

Service Package Gate

Each tool auto-checks if the required module is enabled for your account:

Tool Group Required Module Channel Sub-gate
auth, agent, webhook, notifications None
callcenter, autocall switchboard
ticket ticket
multichannel integrated Per channel: zalo, facebook, telegram, livetalk, etc.
ai ai

Disabled module returns: "Module X is not enabled in your service package."


Contributing

For development setup and contribution guidelines, please contact VIHATTeam.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured