Skip to main content

CLI and MCP server for the Sentinel DevOps portal - manage deployments, services, and projects

Project description

sentinel-cli

CLI and MCP server for the Sentinel DevOps portal. Deploy, monitor, and manage services from the terminal or via AI agents.

Install

pip install sentinel-cli

Requires Python 3.12+.

CLI

sentinel login                        # OTP auth (Payd Auth)
sentinel projects                     # List all projects
sentinel services                     # List all containers
sentinel status                       # Projects + last deploy overview
sentinel deploy bradar                # Deploy by project name
sentinel deploy bradar --tag v1.2.3   # Deploy specific image tag
sentinel rollback bradar <deploy-id>  # Roll back to previous deploy
sentinel deployments --project bradar # Deployment history
sentinel logs sentinel-api --tail 50  # Container logs
sentinel logs bradar --since 1h       # Logs from last hour

Auth

Run sentinel login once. Tokens are cached at ~/.sentinel/credentials.json with auto-refresh.

Or set SENTINEL_TOKEN env var with a valid admin JWT to skip the login flow.

Override API URL

SENTINEL_URL=http://localhost:8000 sentinel projects

MCP Server (for Claude Code / AI agents)

The package includes an MCP server that exposes Sentinel tools for AI agents.

Add to your Claude Code settings (.claude/settings.json):

{
  "mcpServers": {
    "sentinel": {
      "command": "sentinel-mcp"
    }
  }
}

Available tools

Tool Description
sentinel_list_projects List all projects with type, domain, status
sentinel_list_services List all Docker containers with status
sentinel_list_deployments Recent deployments, filterable by project
sentinel_deploy Trigger a deployment by project name
sentinel_rollback Roll back to a previous deployment
sentinel_get_logs Container logs with tail and time filter
sentinel_project_status Project details + latest deployment

The MCP server reads auth from ~/.sentinel/credentials.json (run sentinel login first) or SENTINEL_TOKEN env var.

What is Sentinel?

Sentinel is a self-hosted DevOps portal for managing Docker container deployments behind Caddy reverse proxy. It provides webhook-based deploys, automatic health checks with rollback, custom domain management with on-demand TLS, and a web UI for monitoring.

sentinel.paydlabs.com | GitHub

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

sentinel_cli-0.3.0.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

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

sentinel_cli-0.3.0-py3-none-any.whl (23.4 kB view details)

Uploaded Python 3

File details

Details for the file sentinel_cli-0.3.0.tar.gz.

File metadata

  • Download URL: sentinel_cli-0.3.0.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for sentinel_cli-0.3.0.tar.gz
Algorithm Hash digest
SHA256 571410851d5d7a021011a83144f7c654185076671015ffc2a7cafafb14600b00
MD5 6f43b5bae848265e2804f794cc76f2af
BLAKE2b-256 ea2e721d1c8568c43a1002a9771af20d4919f67a539e2c8e6dd2f60284c692b1

See more details on using hashes here.

File details

Details for the file sentinel_cli-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: sentinel_cli-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 23.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for sentinel_cli-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c27ff757fccb62124de2616cf9059aced3a76ada1e33c802d452f6c2876dcbcd
MD5 b2f5a1eb93095fb47ad5c8212ac06605
BLAKE2b-256 ffec818ccecc2add195027e9108ef7f0b4d624a3a46fe18144fdbbb231edfb57

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