Skip to main content

Omnara Agent Dashboard - MCP Server and Python SDK

Project description

Omnara - Mission Control for Your AI Agents ๐Ÿš€

Your AI workforce, in your pocket.

PyPI version Downloads Python Versions License GitHub stars Ruff

Omnara Mobile Experience


๐Ÿš€ Quick Start

# Install Omnara
pip install omnara

# Start a Claude Code session that's synced between terminal, web, and mobile
omnara

That's it! Create an account when prompted, then return to your terminal to interact with Claude Code. You can now see and interact with your Claude Code session from the web dashboard or the mobile app.

๐Ÿ’ก What is Omnara?

Omnara transforms your AI agents (Claude Code, Cursor, GitHub Copilot, and more) from silent workers into communicative teammates. Get real-time visibility into what your agents are doing, respond to their questions instantly, and guide them to success - all from your phone.

โœจ Key Features

Feature Description
๐Ÿ“Š Real-Time Monitoring See every step your AI agents take as they work
๐Ÿ’ฌ Interactive Q&A Respond instantly when agents need guidance
๐Ÿ“ฑ Mobile-First Design Full control from your phone, tablet, or desktop
๐Ÿ”” Smart Notifications Get alerted only when your input is needed
๐ŸŽฏ Universal Dashboard All your AI agents in one unified interface

๐ŸŽฌ See It In Action

Mobile Notifications

The moment your agent needs help, you're there. No more returning to failed jobs hours later.

Agent Activity Feed

๐Ÿ’ก Why Omnara?

We built Omnara because we were tired of:

  • โŒ Starting long agent jobs and finding them stuck hours later
  • โŒ Missing critical questions that blocked progress
  • โŒ Having no visibility into what our AI was actually doing
  • โŒ Being tied to our desks while agents worked

Now you can:

  • โœ… Launch agents and monitor them from anywhere
  • โœ… Get push notifications when input is needed
  • โœ… Send real-time feedback to guide your agents
  • โœ… Have confidence your AI workforce is productive

๐Ÿ—๏ธ Architecture Overview

Omnara provides a unified platform for monitoring and controlling your AI agents:

graph TB
    subgraph "Your AI Agents"
        A[๐Ÿค– AI Agents<br/>Claude Code, Cursor, etc.]
    end

    subgraph "Omnara Platform"
        API[๐ŸŒ API Server]
        DB[(๐Ÿ“Š PostgreSQL)]
        NOTIFY[๐Ÿ”” Notification Service<br/>Push/Email/SMS]
    end

    subgraph "Your Devices"
        M[๐Ÿ“ฑ Mobile App]
        W[๐Ÿ’ป Web Dashboard]
    end

    A -->|Send updates| API
    API -->|Store data| DB
    API -->|Trigger notifications| NOTIFY
    NOTIFY -->|Alert users| M
    DB -->|Real-time sync| M
    DB -->|Real-time sync| W
    M -->|User responses| API
    W -->|User responses| API
    API -->|Deliver feedback| A

    style A fill:#e3f2fd,stroke:#1976d2,stroke-width:3px,color:#000
    style API fill:#c8e6c9,stroke:#388e3c,stroke-width:2px,color:#000
    style DB fill:#ffccbc,stroke:#d84315,stroke-width:2px,color:#000
    style NOTIFY fill:#fff59d,stroke:#f57f17,stroke-width:2px,color:#000
    style M fill:#f8bbd0,stroke:#c2185b,stroke-width:3px,color:#000
    style W fill:#f8bbd0,stroke:#c2185b,stroke-width:3px,color:#000

๐Ÿš€ How It Works

1. Connect Your Agent โ†’ Install Omnara SDK or wrapper
2. Get Real-Time Updates โ†’ See every step your agent takes
3. Respond Instantly โ†’ Answer questions from anywhere

๐Ÿ”„ Two Ways to Use Omnara

Mode Setup How It Works
Real-Time Monitoring omnara or uv run omnara Monitor your Claude session, forwards to Omnara
Remote Launch omnara serve or uv run omnara serve Launch agents from phone, communicate via MCP

๐Ÿ”ง Technical Stack

  • Backend: FastAPI with separate read/write servers for optimal performance
  • Frontend: React (Web) + React Native (Mobile)
  • Protocol: Model Context Protocol (MCP) + REST API
  • Database: PostgreSQL with SQLAlchemy ORM
  • Auth: Dual JWT system (Supabase for users, custom for agents)

๐Ÿ“– How to Use

Option 1: Monitor Your Claude Sessions

See what Claude is doing in real-time:

  1. Install Omnara:
    # Using pip
    pip install omnara
    
    # Using uv (faster)
    uv tool install omnara
    
  2. Start monitoring:
    # If installed with pip or uv
    omnara
    
    # Using pipx (no omnara installation required)
    pipx run omnara
    
    # Using uvx (no omnara installation required)
    uvx omnara
    
  3. Authenticate in your browser (opens automatically)
  4. See everything your agent does in the Omnara dashboard!

Option 2: Launch Agents Remotely

Trigger Claude from your phone:

  1. Start the server on your computer:
    # Using pip
    pip install omnara
    omnara serve
    
    # Using uv (faster)
    uv tool install omnara
    omnara serve
    
  2. Set up your agent in the mobile app with the webhook URL shown
  3. Launch agents from anywhere - beach, coffee shop, bed!

For Developers

๐Ÿ› ๏ธ Development Setup

Prerequisites: Docker, Python 3.10+, Node.js

Quick Start:

git clone https://github.com/omnara-ai/omnara
cd omnara
cp .env.example .env
python scripts/generate_jwt_keys.py
./dev-start.sh  # Starts everything automatically

Stop services: ./dev-stop.sh

For detailed setup instructions, manual configuration, and contribution guidelines, see our Contributing Guide.

๐Ÿ”ง Advanced Usage (Without CLI)

Note: Most users should use the simple omnara or omnara serve commands shown above. These methods are for advanced users who need custom integrations or want to run the underlying scripts directly.

Method 1: Direct Wrapper Script

Run the monitoring wrapper directly (what omnara does under the hood):

# Basic usage
python -m integrations.cli_wrappers.claude_code.claude_wrapper_v3 --api-key YOUR_API_KEY

# With git diff tracking
python -m integrations.cli_wrappers.claude_code.claude_wrapper_v3 --api-key YOUR_API_KEY --git-diff

# Custom API endpoint (for self-hosted)
python -m integrations.cli_wrappers.claude_code.claude_wrapper_v3 --api-key YOUR_API_KEY --base-url https://your-server.com

Method 2: Manual MCP Configuration

For custom MCP setups, you can configure manually:

{
  "mcpServers": {
    "omnara": {
      "command": "pipx",
      "args": ["run", "--no-cache", "omnara", "mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}

Method 3: Python SDK

from omnara import OmnaraClient
import uuid

client = OmnaraClient(api_key="your-api-key")
instance_id = str(uuid.uuid4())

# Log progress and check for user feedback
response = client.send_message(
    agent_type="claude-code",
    content="Analyzing codebase structure",
    agent_instance_id=instance_id,
    requires_user_input=False
)

# Ask for user input when needed
answer = client.send_message(
    content="Should I refactor this legacy module?",
    agent_instance_id=instance_id,
    requires_user_input=True
)

Method 4: REST API

curl -X POST https://api.omnara.com/api/v1/messages/agent \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content": "Starting deployment process", "agent_type": "claude-code", "requires_user_input": false}'

๐Ÿค Contributing

We love contributions! Check out our Contributing Guide to get started.

Development Commands

make lint       # Run code quality checks
make format     # Auto-format code
make test       # Run test suite
./dev-start.sh  # Start development servers

๐Ÿ“Š Pricing

Plan Price Features
Free $0/mo 10 agents/month, Core features
Pro $9/mo Unlimited agents, Priority support
Enterprise Contact Us Teams, SSO, Custom integrations

๐Ÿ†˜ Support

๐Ÿ“œ License

Omnara is open source software licensed under the Apache 2.0 License.


Built with โค๏ธ by the Omnara team

Website โ€ข Twitter โ€ข LinkedIn

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

omnara-1.6.0.tar.gz (110.8 kB view details)

Uploaded Source

Built Distribution

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

omnara-1.6.0-py3-none-any.whl (114.0 kB view details)

Uploaded Python 3

File details

Details for the file omnara-1.6.0.tar.gz.

File metadata

  • Download URL: omnara-1.6.0.tar.gz
  • Upload date:
  • Size: 110.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for omnara-1.6.0.tar.gz
Algorithm Hash digest
SHA256 a59612928c26543bd84d16f527f1f4b354a73f8297bc46e6b97600c3dd256f56
MD5 bc5628bab750061b9b934aa02b08c607
BLAKE2b-256 63905dfe432e9efd47ab9c5c3ffd9ba7c42c3219309e0cecba18adbf88745e50

See more details on using hashes here.

File details

Details for the file omnara-1.6.0-py3-none-any.whl.

File metadata

  • Download URL: omnara-1.6.0-py3-none-any.whl
  • Upload date:
  • Size: 114.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for omnara-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 35b4b8a9371d504cd95612aaabb8c09e65e8429126b33f1a581a6e4beff64b6d
MD5 63b7ec728d821e8fc30d77706881a501
BLAKE2b-256 e4e0ee1499d91c1b9fdde22c01f6029b040cbac3f8b57c9936bdadbbb0c920c3

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