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.2.0.tar.gz (17.6 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.2.0-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sentinel_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 17.6 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.2.0.tar.gz
Algorithm Hash digest
SHA256 9594aa7eb8d5856f92f6bf62da18800282a63b788dfd3fccbbabb159f5584df6
MD5 42350e4591d18c6bdb736d82c0d303e4
BLAKE2b-256 f4557da9b829410275e467f82edda08be0c890ccc05c9858349d21cd843f856c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sentinel_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 20.3 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 25d8dd70406bf5482f325c4deb715c07d50d8bc10878ea0fd4eef80e0f2518d8
MD5 ea27034cd909f6dc7032b04179d477ab
BLAKE2b-256 fa0fcef805034a0eb825a074e218b6bc62185e5ce942655a6e3061ec5c02352b

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