Skip to main content

SDK and MCP Server for Omni Assistant services

Project description

OmniDimension Python SDK

Build and ship AI voice agents from a single prompt.

OmniDimension lets you build, test, and deploy reliable voice AI assistants by simply describing them in plain text. The platform offers rigorous simulation testing and real-time observability, making it easy to debug and monitor agents in production.

👉 Try the Web UI — You can also build and test voice agents visually using our no-code interface.


🚀 Features

  • Prompt-based creation: Define voice agents with natural language.
  • Drag-and-drop editor: Chat or visually edit flows, voices, models, and more.
  • Prebuilt templates: Use plug-and-play agent templates for common use cases.
  • Testing & monitoring: Simulate edge cases and debug live calls.
  • Knowledge Base support: Upload and attach documents (PDFs) for factual grounding.
  • Integrations: Connect to external APIs, CRMs, or tools like Cal.com.
  • Phone agents: Assign numbers and initiate real voice calls via the SDK.

📦 Installation

Basic SDK

pip install omnidimension

With MCP Server Support

pip install omnidimension[mcp]

Requires Python 3.9+


🔐 Authentication

First, obtain your API key from the OmniDimension dashboard. Store it in your environment variables:

Linux/macOS

export OMNIDIM_API_KEY="your_api_key_here"

Windows (CMD)

set OMNIDIM_API_KEY=your_api_key_here

In Python

import os
from omnidimension import Client

api_key = os.environ.get("OMNIDIM_API_KEY")
client = Client(api_key)

✨ SDK Usage

from omnidimension import Client

# Initialize the client with your API key
client = Client(api_key="your_api_key")

# List agents
agents = client.agent.list()
print(agents)

🛰️ MCP Server Usage

You can run the MCP server in several ways:

1. Using the Python module:

python -m omnidimension.mcp_server --api-key your_api_key

2. Using the CLI entry point:

omnidim-mcp-server --api-key your_api_key

3. Using the compatibility module (for MCP clients):

python -m omnidim_mcp_server --api-key your_api_key

You can also set the API key using the environment variable:

export OMNIDIM_API_KEY=your_api_key
python -m omnidimension.mcp_server

⚙️ MCP Client Configuration

To use OmniDimension with MCP clients like Claude Desktop, save the following configuration to a file named omnidim_mcp.json:

{
  "mcpServers": {
    "omnidim-mcp-server": {
      "command": "python3",
      "args": [
        "-m",
        "omnidim_mcp_server"
      ],
      "env": {
        "OMNIDIM_API_KEY": "<your_omnidim_api_key>"
      }
    }
  }
}

📡 Providers API

The Providers API allows you to discover and explore all available AI providers for LLMs, voices, STT, and TTS services.

Quick Examples

# Get all LLM providers
llms = client.providers.list_llms()
print(f"[SUCCESS] Found {llms['total']} LLM providers")

# List voices with pagination
voices = client.providers.list_voices(page=1, page_size=50)
print(f"[SUCCESS] Found {voices['total']} voices")

![INFO] Complete Providers Documentation


📚 Knowledge Base

files = client.knowledge_base.list()
print(files)

file_ids = [123]
agent_id = 456
response = client.knowledge_base.attach(file_ids, agent_id)
print(response)

🔌 Integrations

response = client.integrations.create_custom_api_integration(
    name="WeatherAPI",
    url="https://api.example.com/weather",
    method="GET"
)
print(response)

client.integrations.add_integration_to_agent(agent_id=123, integration_id=789)

☎️ Phone Number Management

numbers = client.phone_number.list(page=1, page_size=10)
print(numbers)

client.phone_number.attach(phone_number_id=321, agent_id=123)

📞 Bulk Call Management

# First, get your phone number IDs
phone_numbers = client.phone_number.list()
phone_number_id = phone_numbers['phone_numbers'][0]['id']  # Use the first available phone number

# Create a bulk call campaign
contact_list = [
    {
        "phone_number": "+1234567890",
        "customer_name": "John Doe",
        "product_interest": "Premium Plan"
    },
    {
        "phone_number": "+1987654321", 
        "customer_name": "Jane Smith",
        "product_interest": "Basic Plan"
    }
]

# Create immediate bulk call
bulk_call = client.bulk_call.create_bulk_calls(
    name="Marketing Campaign - Q4 2024",
    contact_list=contact_list,
    phone_number_id=phone_number_id
)

# Create scheduled bulk call
scheduled_call = client.bulk_call.create_bulk_calls(
    name="Scheduled Campaign",
    contact_list=contact_list,
    phone_number_id=phone_number_id,
    is_scheduled=True,
    scheduled_datetime="2024-12-25 10:00:00",
    timezone="America/New_York"
)

# Fetch all bulk calls
bulk_calls = client.bulk_call.fetch_bulk_calls(page=1, page_size=10, status="active")

# Get bulk call details
details = client.bulk_call.detail_bulk_calls(bulk_call_id=123)

# Control bulk call actions
client.bulk_call.bulk_calls_actions(bulk_call_id=123, action="pause")
client.bulk_call.bulk_calls_actions(bulk_call_id=123, action="resume")
client.bulk_call.bulk_calls_actions(
    bulk_call_id=123, 
    action="reschedule",
    new_scheduled_datetime="2024-12-26 14:00:00",
    new_timezone="America/New_York"
)

# Cancel bulk call
client.bulk_call.cancel_bulk_calls(bulk_call_id=123)

📁 Recommended Project Structure

/docs/
  ├── agents/
  ├── calling/
  ├── integrations/
  ├── knowledge_base/
  └── phone_numbers/

/examples/         # Sample Python scripts
/cookbook/         # Ready-made project use cases

🌐 Learn More

Visit omnidim.io to explore the full platform, UI builder, and templates.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omnidimension-0.2.16.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

omnidimension-0.2.16-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

Details for the file omnidimension-0.2.16.tar.gz.

File metadata

  • Download URL: omnidimension-0.2.16.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for omnidimension-0.2.16.tar.gz
Algorithm Hash digest
SHA256 8068b3fab13dc176291b6973e6a209f4cd34157d1ce77646390c9f17ee8522d9
MD5 7cc4c9d31353cca081a6bbfe43616bad
BLAKE2b-256 501c66f6657e10d9400d217d7a391d9386914aada687d6d77bb9b587008856b9

See more details on using hashes here.

File details

Details for the file omnidimension-0.2.16-py3-none-any.whl.

File metadata

  • Download URL: omnidimension-0.2.16-py3-none-any.whl
  • Upload date:
  • Size: 21.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for omnidimension-0.2.16-py3-none-any.whl
Algorithm Hash digest
SHA256 41adce73a7d5d8857e11f8ada21b5cbc7a47d7a658e5566b5c3fa6bf047304ac
MD5 569ba73a525850346a32ea9634ec01bc
BLAKE2b-256 bd4c136ab662f8c2c0709b1c047d508fd6b25465013c06e39a9c0435bdb4d68b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page