Metadata-Version: 2.4
Name: cmdop-server
Version: 0.0.3
Summary: Run your own CMDOP relay — the self-hostable hub your machines and AI agents connect through.
Project-URL: Homepage, https://cmdop.com/server
Project-URL: Documentation, https://docs.cmdop.com
Project-URL: Repository, https://github.com/commandoperator/cmdop-server
Project-URL: Bug Tracker, https://github.com/commandoperator/cmdop-server/issues
Project-URL: Connect, https://cmdop.com/connect
Project-URL: Bots, https://cmdop.com/bots
License: Apache-2.0
Keywords: agent,ai-agent,cmdop,fleet,grpc,jarvis,relay,self-hosted
Requires-Python: >=3.12
Requires-Dist: aiosmtplib>=5.1.0
Requires-Dist: alembic>=1.18
Requires-Dist: anthropic>=0.99
Requires-Dist: argon2-cffi>=23.1
Requires-Dist: arq>=0.28.0
Requires-Dist: asyncpg>=0.30
Requires-Dist: croniter>=6.2.2
Requires-Dist: cryptography>=43.0
Requires-Dist: email-validator>=2.2
Requires-Dist: fastapi>=0.136
Requires-Dist: grpcio-health-checking>=1.80
Requires-Dist: grpcio-reflection>=1.80
Requires-Dist: grpcio>=1.80
Requires-Dist: httpx>=0.27
Requires-Dist: jinja2>=3.1.6
Requires-Dist: openai>=2.34
Requires-Dist: opentelemetry-api>=1.41
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.41
Requires-Dist: opentelemetry-instrumentation-fastapi>=0.62b1
Requires-Dist: opentelemetry-instrumentation-grpc>=0.62b1
Requires-Dist: opentelemetry-instrumentation-httpx>=0.62b1
Requires-Dist: opentelemetry-instrumentation-sqlalchemy>=0.62b1
Requires-Dist: opentelemetry-sdk>=1.41
Requires-Dist: orjson>=3.10
Requires-Dist: pillow-heif>=0.20
Requires-Dist: pillow>=11.0
Requires-Dist: prometheus-client>=0.25
Requires-Dist: psycopg[binary]>=3.3
Requires-Dist: pydantic-ai-slim>=1.91
Requires-Dist: pydantic-settings>=2.14
Requires-Dist: pydantic>=2.13
Requires-Dist: pynacl>=1.6.2
Requires-Dist: python-multipart>=0.0.20
Requires-Dist: redis>=5.0
Requires-Dist: sqlalchemy[asyncio]>=2.0
Requires-Dist: structlog>=25.5
Requires-Dist: typer>=0.25
Requires-Dist: uvicorn[standard]>=0.46
Description-Content-Type: text/markdown

# cmdop-server

![CMDOP server — your own self-hostable relay](https://raw.githubusercontent.com/commandoperator/cmdop-server/main/assets/hero-cmdop-server.webp)

**Your own CMDOP relay, in your own network.** The hub your machines dial into to
become reachable from anywhere — run commands, edit files, stream a live AI agent,
open tunnels — without opening a single inbound port. Self-host it instead of
relying on the public cloud, and keep your fleet and its data where you want them.

```bash
pip install cmdop-server
```

📚 **[docs.cmdop.com](https://docs.cmdop.com)** — install, configure, and run.
[Server](https://cmdop.com/server) · [Connect](https://cmdop.com/connect) ·
[Bots](https://cmdop.com/bots) · [SDK](https://cmdop.com/sdk)

## What you get

| | |
|---|---|
| 🛰️ **Reachable, anywhere** | Machines dial **out** over gRPC — NAT- and firewall-friendly, no inbound ports. |
| 💻 **Full remote control** | Terminal, remote exec, file ops, and tunnels across your whole fleet. |
| 🤖 **Built-in AI** | **Jarvis** lives in the server and can drive your machines on its own. |
| 🔒 **Yours to host** | Your network, your Postgres — on-prem or air-gapped. Fleets isolated by row-level security. |
| 📦 **One dependency** | A single pure-Python package. Upgrade the whole engine by bumping one version. |

## How it works

Machines run the [CMDOP agent](https://cmdop.com/connect) and connect out to your
server. Your apps, dashboard, and the [SDK](https://cmdop.com/sdk) reach the same
server over REST + WebSocket. The server ties the fleet together and hosts the AI.

```
   your machines ──gRPC(out)──▶  cmdop-server  ◀──REST/WS──  your apps · SDK · dashboard
   (anywhere, NAT-ok)              (you host)                 + Jarvis, the built-in AI
```

## Make it yours

`cmdop-server` is the part that doesn't change — install it and keep your
deployment thin. You add only what's yours:

- **config** — a few YAML / env values
- **migrations** — your database schema on top of the baseline
- **your AI** — Jarvis prompts and tools, tuned to your fleet
- **your bots** — Telegram, Discord, Slack
- **extensions** — your own routes and services

## Links

- **Docs** → [docs.cmdop.com](https://docs.cmdop.com)
- **Product** → [cmdop.com/server](https://cmdop.com/server) ·
  [Connect](https://cmdop.com/connect) · [Bots](https://cmdop.com/bots) ·
  [SDK](https://cmdop.com/sdk)
- **Source** → [github.com/commandoperator/cmdop-server](https://github.com/commandoperator/cmdop-server)
- [CMDOP](https://cmdop.com)

## License

Apache-2.0.
