# io.github.Omnidim/omnidim-mcp-server (npm · @omnidim-ai/mcp-server)

Official MCP server for OmniDimension. Drive voice agents, dispatch calls, and run bulk campaigns.

- Trust score: 81/100 (high trust)
- Change this week: +28
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.omnidim.io`: 33/100, [markdown](https://verifymcp.io/servers/omnidim-omnidim-mcp-server/mcp.md), [page](https://verifymcp.io/servers/omnidim-omnidim-mcp-server/mcp)
- npm · `@omnidim-ai/mcp-server`: 81/100 (this document), [markdown](https://verifymcp.io/servers/omnidim-omnidim-mcp-server/omnidim-ai-mcp-server.md), [page](https://verifymcp.io/servers/omnidim-omnidim-mcp-server/omnidim-ai-mcp-server)

## Channel facts

- Registry: `npm`
- Package: `@omnidim-ai/mcp-server`
- Version: `0.8.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (109 of 110), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (109 of 110), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to Omnidim/omnidim-mcp-server).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 4 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 84/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 2647 tokens (~57/item across 46 items; 42 tools + 4 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add omnidim-omnidim-mcp-server -- npx -y @omnidim-ai/mcp-server
```

### Codex

```bash
codex mcp add omnidim-omnidim-mcp-server -- npx -y @omnidim-ai/mcp-server
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "omnidim-omnidim-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@omnidim-ai/mcp-server"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add omnidim-omnidim-mcp-server --command npx --arg -y --arg @omnidim-ai/mcp-server
```

### Hermes

```yaml
mcp_servers:
  omnidim-omnidim-mcp-server:
    command: "npx"
    args: ["-y", "@omnidim-ai/mcp-server"]
```

### Other

```json
{
  "mcpServers": {
    "omnidim-omnidim-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@omnidim-ai/mcp-server"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 81, +4)

- [functional improvement] Stability: unverified → 0.27

### 2026-08-02 (score 77, +51)

- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Provenance: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [security] The attested source repository moved: Omnidim/omnidim-mcp-server
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional improvement] License: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Schema quality: unverified → good
- [functional improvement] Dependency health: unverified → partial
- [functional] Licence: MIT

### 2026-08-01 (score 26, −27)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-27 (score 53)

First indexed and scored.

## MCP tools (42)

### `listAgents` (~66 tokens)

Retrieve all agents for the authenticated user with pagination support.

Input parameters:

- `name` (string): Filter agents whose name matches this substring (case-insensitive).
- `pageno` (integer): Page number for pagination.
- `pagesize` (integer): Number of items per page (max 150).

### `createAgent` (~68 tokens)

Create a new agent with the provided configuration. The full
config supports transcriber, model, voice, web search, transfer,
end-call conditions, post-call actions (email + webhook),
ambient background track, initial ringing sound, and multilingual support.

Input parameters:

- `requestBody` (required): The JSON request body.

### `getAgent` (~30 tokens)

Get details of a specific agent by ID.

Input parameters:

- `agent_id` (number, required): The ID of the agent.

### `updateAgent` (~45 tokens)

Update an existing agent. Send only the fields you want to change.

Input parameters:

- `agent_id` (number, required): The ID of the agent.
- `requestBody` (object, required): Agent configuration.

### `deleteAgent` (~27 tokens)

Permanently delete an agent.

Input parameters:

- `agent_id` (number, required): The ID of the agent.

### `dispatchCall` (~47 tokens)

Initiate a call to a phone number using a specified agent. The
phone number must include a country code with a leading plus.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `listCallLogs` (~82 tokens)

Retrieve call logs with pagination and optional filtering.

Input parameters:

- `agentid` (number): Filter by agent ID.
- `bulk_call_id` (number): Filter by bulk-call campaign ID.
- `call_status` (string): Filter by call outcome.
- `pageno` (integer): Page number for pagination.
- `pagesize` (integer): Number of items per page.

### `getCallLog` (~49 tokens)

Detailed information about a specific call (duration, status, transcript, sentiment, extracted variables).

Input parameters:

- `call_log_id` (number, required): Id of the call log, as returned by the call log list.

### `fetchBulkCalls` (~62 tokens)

List bulk-call campaigns with pagination and optional status filter.

Input parameters:

- `pageno` (integer): Page number for pagination.
- `pagesize` (integer): Items per page (max 150).
- `status` (string): Filter by status (e.g. completed).

### `createBulkCall` (~157 tokens)

Create a new bulk-call campaign. Supports immediate, scheduled,
and auto-retry modes.

There are two kinds of campaign:

\- **Static** (default): you supply the full `contact_list` up
  front and the campaign dials through it.
\- **Dynamic**: set `is_dynamic` to `true` and the campaign accepts
  contacts in real time via the Add contact to dynamic campaign
  webhook. `contact_list` is optional here, so you can start the
  campaign empty and feed it from a CRM, form, or automation. A
  dynamic campaign stays alive waiting for contacts instead of
  completing when its queue drains.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `addBulkCallContact` (~123 tokens)

Push a single contact into a dynamic bulk-call campaign in real
time. Dynamic campaigns are created from the dashboard (Bulk Call
\> Create New Campaign > Dynamic Campaign) and stay alive waiting
for contacts, so this webhook is how you feed them from a CRM,
form, or automation platform. The contact is queued immediately,
and the campaign starts calling it as soon as it is within
operating hours.

Input parameters:

- `campaign_id` (number, required): ID of the dynamic campaign to add the contact to.
- `requestBody` (object, required): The JSON request body.

### `getBulkCall` (~33 tokens)

Get detailed information about a bulk-call campaign.

Input parameters:

- `bulk_call_id` (number, required): Id of the bulk call campaign.

### `bulkCallActions` (~47 tokens)

Pause, resume, or reschedule a running campaign.

Input parameters:

- `bulk_call_id` (number, required): Id of the bulk call campaign.
- `requestBody` (object, required): The JSON request body.

### `cancelBulkCall` (~30 tokens)

Cancel a bulk-call campaign.

Input parameters:

- `bulk_call_id` (number, required): Id of the bulk call campaign.

### `getBulkCallLiveStatus` (~36 tokens)

Real-time status of a running bulk-call campaign.

Input parameters:

- `bulk_call_id` (number, required): Id of the bulk call campaign.

### `listKnowledgeBaseFiles` (~20 tokens)

List all knowledge-base files for the authenticated user.

### `canUploadFile` (~34 tokens)

Check whether a file can be uploaded based on size and type.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `uploadKnowledgeBaseFile` (~36 tokens)

Upload a PDF file. The file content must be Base64 encoded.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `attachKnowledgeBaseFiles` (~31 tokens)

Attach multiple knowledge-base files to an agent.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `detachKnowledgeBaseFiles` (~32 tokens)

Detach multiple knowledge-base files from an agent.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `deleteKnowledgeBaseFile` (~39 tokens)

Permanently delete a file. Removes it from any attached agents. Cannot be undone.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `listPhoneNumbers` (~45 tokens)

Retrieve all phone numbers associated with your account.

Input parameters:

- `pageno` (integer): Page number for pagination.
- `pagesize` (integer): Items per page (max 150).

### `attachPhoneNumber` (~32 tokens)

Attach an account-owned phone number to an existing agent.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `detachPhoneNumber` (~31 tokens)

Detach a phone number from its associated agent.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `importTwilioNumber` (~35 tokens)

Import an existing Twilio number by providing your Twilio credentials.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `importExotelNumber` (~34 tokens)

Import an Exotel number by providing your Exotel credentials.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `importSipTrunk` (~32 tokens)

Import a phone number associated with a SIP trunk.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `listLLMProviders` (~18 tokens)

Retrieve all available Large Language Model providers.

### `listVoices` (~175 tokens)

Retrieve voices with filtering and pagination support. ElevenLabs
supports advanced filtering by name, language, accent, and gender.
Other providers support basic pagination only.

Input parameters:

- `accent` (string): Accent label (e.g. `american`, `british`). ElevenLabs only.
- `gender` (string): Filter voices by gender. ElevenLabs only.
- `language` (string): ISO language code (e.g. `en`, `hi`, `es`). ElevenLabs only.
- `page` (integer): 1-indexed page number.
- `page_size` (integer): Voices per page. Capped at 100.
- `provider` (string): TTS provider to list voices from. Omit to list across all providers.
- `search` (string): Substring match against voice name or description. ElevenLabs only.

### `listSTTProviders` (~18 tokens)

Retrieve all Speech-to-Text providers.

### `listTTSProviders` (~18 tokens)

Retrieve all Text-to-Speech providers.

### `listAllProviders` (~19 tokens)

Comprehensive response with services and voices in one payload.

### `getVoice` (~41 tokens)

Detailed metadata for a specific voice.

Input parameters:

- `voice_id` (number, required): Numeric id of the voice, as returned in the `id` field of the voices list.

### `listChildOrganizations` (~54 tokens)

List all child organizations and their users under the reseller
account. Returns each organization's balance, cost-per-minute
rate, and concurrency limit, plus the dashboard menu access
flags scoped to your reseller's permissions for every user.

### `addUser` (~44 tokens)

Create a new child user and organization under the reseller.
The new organization is linked to your reseller account
automatically.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `setUserAccessControl` (~54 tokens)

Enable or disable dashboard menu access flags for a child user.
Only the flags you pass are changed. Flags outside your
reseller's permissions are silently ignored.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `setUserExpiry` (~46 tokens)

Set or remove the expiry date on a child user. The user must
belong to a child organization of your reseller.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `setChildConcurrency` (~78 tokens)

Set the maximum number of simultaneous calls a child
organization can run. Slots come from the reseller's shared
pool. Increasing the limit deducts the delta from your pool
and fails if you don't have enough slots. Decreasing the
limit returns the delta to your pool immediately.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `calculateCreditOperation` (~65 tokens)

Preview the cost of a transfer or revert without moving any
credits. Use this to confirm amounts before calling the
transfer or revert endpoints. The response shape differs
between forward transfers and reverts. See the examples.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `transferCreditsToChild` (~70 tokens)

Transfer minutes from the reseller balance to a child
organization. Credits are deducted from your balance
immediately on success. The target organization must be a
direct child of your reseller. Use the calculate endpoint
first to preview the cost.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `revertCreditsFromChild` (~74 tokens)

Take back unused minutes from a child organization to the
reseller balance. The refund is calculated at the child's
current rate, so you don't pass one. This matches exactly
what was originally charged. Use the calculate endpoint
first to preview the refund.

Input parameters:

- `requestBody` (object, required): The JSON request body.

### `getResellerCreditLogs` (~138 tokens)

Paginated history of all credit transfers and reverts for the
reseller account. Returns reverse-chronological order by
default. Date filters are inclusive.

Input parameters:

- `date_from` (string): Filter logs from this date in `YYYY-MM-DD` format (e.g. `2026-01-01`).
- `date_to` (string): Filter logs up to and including this date in `YYYY-MM-DD` format (e.g. `2026-03-31`).
- `page` (integer): Page number for pagination.
- `page_size` (number): Number of records per page (max 100).

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/omnidim-omnidim-mcp-server/omnidim-ai-mcp-server#diagnostics

## Score history

- 2026-08-03: 81
- 2026-08-02: 77
- 2026-08-01: 26
- 2026-07-31: 53
- 2026-07-29: 53
- 2026-07-28: 53
- 2026-07-27: 53

## Links

- npm package: https://www.npmjs.com/package/@omnidim-ai/mcp-server
- Socket report: https://socket.dev/npm/package/@omnidim-ai/mcp-server
- Repository: https://github.com/Omnidim/omnidim-mcp-server
- Website: https://omnidim.io/
- Changelog RSS feed: https://verifymcp.io/servers/omnidim-omnidim-mcp-server/omnidim-ai-mcp-server/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/omnidim-omnidim-mcp-server/omnidim-ai-mcp-server/changelog.json
- HTML version of this page: https://verifymcp.io/servers/omnidim-omnidim-mcp-server/omnidim-ai-mcp-server
