SentinelX MCP
Resumen
Descripción del creador (original en inglés)
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Los tres pilares de PopNx MCP
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
- Opinión de usuariosiAún no hay reseñasLas reseñas se abrirán junto con las cuentas en una etapa posterior
- Nuestras revisiones básicasi1 de 1 superadasRevisado con información pública; el código aún no se ha escaneado
- UsoiMuy nuevo★ –
Qué puedes hacer con él
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
- Conexión: Se ejecuta en la nube
- Transporte: Streamable HTTP
- Categoría: Búsqueda y memoria de IA
Instalación
Elige la app de IA que usas y copia la configuración.
Antes de instalar
- Revisiones básicas: 1 de 1 superadas
- Se ejecuta en el servidor del creador: lo que le pidas pasa por su servidor.
- El registro no indica ninguna clave que completar.
Necesitas
- Se ejecuta en la nubeNo hay nada que instalar; se conecta por internet
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Funciona en Claude para web, escritorio y móvil:
- Abre Settings → Connectors
- Presiona Add custom connector
- Pega la dirección de abajo y presiona Add
- Si te pide iniciar sesión, inicia sesión en el servicio del creador
https://mcp.sentinelx.app/mcp/mcpEjecuta esto en tu terminal
claude mcp add --transport http sentinelx https://mcp.sentinelx.app/mcp/mcpO copia la configuración tú
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"sentinelx": {
"url": "https://mcp.sentinelx.app/mcp/mcp"
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
O copia la configuración tú
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"sentinelx": {
"type": "http",
"url": "https://mcp.sentinelx.app/mcp/mcp"
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
ChatGPT solo se conecta a servidores en internet:
- Abre ChatGPT en la web → Settings → Connectors (Apps)
- Presiona Create o Add (en algunos planes primero hay que activar Developer mode en Advanced)
- Pega la dirección de abajo, ponle un nombre y guarda
- Si te pide iniciar sesión, inicia sesión en el servicio del creador
https://mcp.sentinelx.app/mcp/mcpLos nombres de los menús pueden variar un poco según el plan y con el tiempo.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Qué puede hacer
Todavía no hemos leído la lista de herramientas de este servidor; revisamos los endpoints por turnos.
Revisiones básicasi
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026
- ✓ Superada
El creador coincide con el repo
El nombre en el registro se verificó con el dominio sentinelx.app (el registro comprueba quién es dueño del dominio)
- … Aún sin revisar
Sigue en mantenimiento
Todavía no hemos leído este repo en GitHub
- … Aún sin revisar
Tiene licencia
Todavía no hemos leído este repo en GitHub
- … Aún sin revisar
El endpoint responde
Aún sin revisar; revisamos los endpoints por turnos
- … Aún sin revisar
Inicio de sesión con OAuth
Aún sin revisar; revisamos los endpoints por turnos
- … Aún sin revisar
Sin instrucciones ocultas en las descripciones de herramientas
Aún sin revisar; leemos la lista de herramientas cuando revisamos el endpoint
Comparado con otros en Búsqueda y memoria de IAi
- Más estrellas que el 0% de los otros 5714 servidores de esta categoría
- Publicado en el registro más recientemente que el 31% de los otros 5714 servidores de esta categoría
- Revisiones básicas iguales o mejores que el 100% de los otros 5714 servidores de esta categoría
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Preguntas frecuentes
¿Es seguro SentinelX MCP?
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
¿Qué claves o códigos necesita?
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
¿Se ejecuta en mi computadora o en la nube?
Se ejecuta en la nube del creador. Te conectas por internet sin instalar nada, pero lo que envías pasa por los servidores del creador.
¿Sigue en mantenimiento?
El repo de GitHub cambió por última vez –, y la última versión (0.6.0) llegó al registro hace 3 meses.
¿Qué apps pueden usarlo?
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
¿Qué puedo usar en su lugar?
En la misma categoría: Context7, Codebase Memory, Exa
Alternativas
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
README del creador
Abrir el README
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
sentinelx-cloud-core
Operate your Linux, macOS, and Windows servers from Claude.ai or ChatGPT — safely. SentinelX gives your LLM an allowlisted, auditable shell: it can only run commands you've explicitly permitted, filesystem access is gated by a per-path allowlist, and every action is recorded. No inbound ports — just a single outbound WebSocket.
The security model is the point. Handing an LLM unrestricted shell on a server you care about is the thing SentinelX is designed to avoid: the allowlist is the real trust boundary, so the agent can't run — or invent — anything you didn't allow. This is the agent you install on the host; structured file edits and service management come with it.
SentinelX in ChatGPT — it reads the allowlist, runs only what's permitted ( df -h , /proc/meminfo ), and reports back.
Install
Most people start with the one-liner — it auto-detects Linux or macOS:
curl -fsSL https://get.sentinelx.app | bash
Windows (PowerShell — needs Python 3.12+ and git on PATH):
*Service install* — runs as LocalSystem at boot; needs an elevated PowerShell:
iwr -useb https://get.sentinelx.app/install.ps1 -OutFile "$env:TEMP\sx.ps1"
powershell -ExecutionPolicy Bypass -File "$env:TEMP\sx.ps1"
*Per-user install* — no admin; runs as you at logon (locked-down machines):
iwr -useb https://get.sentinelx.app/install.ps1 -OutFile "$env:TEMP\sx.ps1"
powershell -ExecutionPolicy Bypass -File "$env:TEMP\sx.ps1" -User
The installer clones this repo into a virtualenv, registers the agent as a service (systemd / launchd / Windows service), and walks you through enrollment. On networks that block PyPI, add -Bundle for an offline install from the wheel bundle on the latest release; the agent uses the OS trust store (truststore) so a TLS-inspecting proxy's CA is accepted. Full options — per-user vs service, offline bundle, all flags, uninstall — live in sentinelx-cloud-installer.
SentinelX is also listed in the ChatGPT app directory — ChatGPT users can connect it in one click, no custom MCP URL required.
This repo is also the agent's source — read on if you want to audit or contribute.
Troubleshooting
Common errors and their fixes, each under the exact message you'll see, are on sentinelx.app/troubleshooting: sign-in failing behind antivirus MCP scanning, hosts that keep reconnecting, -32603 errors during a hub update, ChatGPT safety blocks, Manus setup and agents that stay offline. If none of them matches, open an issue here.
Architecture
Internet
│ ┌────────────────┐ │ ┌─────────────────┐ │ Claude.ai or │ MCP over HTTPS │ WebSocket │ Your host │ │ ChatGPT │ ◄───────────────────► │ ◄──────────────► │ │ │ │ (OAuth via Google) │ │ ┌───────────┐ │ └────────────────┘ │ │ │ agent │ │ ┌───────────────────────┐ │ │ (this) │ │ │ mcp.sentinelx.app │ │ └─────┬─────┘ │ │ (SentinelX hub — │ │ │ │ │ closed source) │ │ shell, edit, │ └───────────────────────┘ │ service mgmt │ └─────────────────┘
The agent is the box on the right. It opens one outbound WebSocket to the hub at install time (after enrollment) and stays connected. No inbound ports, no port-forwarding, no reverse tunnel.
What runs where
| Component | Where | What it does |
|---|---|---|
sentinelx-cloud-core (this repo) | /opt/sentinelx-cloud-core on your host | Receives MCP tool calls from the hub, executes them locally, returns output |
| Hub | mcp.sentinelx.app (operated by Pensa) | Auth, multi-host routing, MCP transport |
| Config | /etc/sentinelx/config.yaml | Allowlist: which commands, services, and paths the agent will accept |
| Identity | /etc/sentinelx/identity.json | The agent's enrollment JWT, used to authenticate the WebSocket handshake |
Supported platforms: any modern Linux distribution with systemd (tested on Ubuntu 22.04 / 24.04 and Debian 12), macOS with launchd (Intel and Apple Silicon), and Windows — as a service (WinSW, admin) or as a no-admin per-user Scheduled Task (-User); see *Install on Windows* below. The one-line installer auto-detects Linux and macOS; Windows uses a PowerShell installer. The agent also runs unmodified inside WSL2.
Tools exposed
The agent exposes its host's operations as MCP tools to your LLM via the hub:
| Tool | What it does |
|---|---|
sentinel_exec | Run an allowlisted shell command |
sentinel_script_run | Run a one-off bash or python3 script |
sentinel_edit | Structured file edit (replace, regex, replace-block, write, append, prepend) |
sentinel_edit_upload_* | Three-step upload for large file edits |
sentinel_move | Move/rename a file or directory |
sentinel_copy | Copy a file or directory |
sentinel_delete | Delete a file or directory |
sentinel_chmod | Change file permissions |
sentinel_chown | Change file owner/group |
sentinel_service | systemctl start/stop/restart/reload/status |
sentinel_restart | Shortcut for sentinel_service with action=restart |
sentinel_upload_file | Single-shot file upload to the host |
sentinel_upload_* | Three-step chunked upload for large files |
sentinel_read | Read a file's contents, with optional line-range slicing |
sentinel_list | Structured directory listing (name, type, size, mtime) |
sentinel_search | Recursive content search with regex and glob filters |
sentinel_local_api | Allowlisted actions on host-local structured endpoints: a unix socket (HTTP or JSON-RPC) or a declared binary over stdio (JSON-RPC, MCP servers included). Only when the host declares local_apis |
sentinel_capabilities | Host policy/capabilities; optional bounded summary projection |
sentinel_help | Rich orientation/help; optional topic/path/single-playbook projections |
sentinel_state | Internal agent state, for debugging |
sentinel_ping | Cheap connectivity check |
Progressive introspection (agent operation contract)
The agent-side help and capabilities operations also support optional narrow-response selectors. A Hub/MCP profile may expose these fields through whatever model-facing tool shape it uses; the selectors are backend-operation semantics and do not depend on full vs compact tool names.
help({"topic":"index"})— small topic + paged playbook index.help({"topic":"security"})— one broad help section.help({"path":"security_model.permission_errors"})— one exact leaf from the existing help tree.help({"playbook":"update_sentinelx_code"})— one playbook only; optionalpath,offset, andlimitcan select/page a subfield such assteps.capabilities({"detail":"summary"})— host/operation/limit metadata and policy counts without command/service/location/playbook bodies.
Progressive help/playbook responses normalize explicit full-profile sentinel_* references to op: canonical operation hints so the same guidance can be routed through compact or full presentation without teaching a playbook two sets of MCP tool names.
For compatibility, empty help({}) and capabilities({}) requests retain the legacy full responses. A Hub that wants compact-first behavior should map its compact help/capabilities branches to the narrow selectors rather than changing the agent's legacy empty-payload semantics.
sentinel_read, sentinel_list, and sentinel_search are read-only filesystem primitives. sentinel_edit and the mutating primitives (sentinel_move, sentinel_copy, sentinel_delete, sentinel_chmod, sentinel_chown) write. All of them give the LLM structured access to the filesystem without shelling out to cat/ls/mv/rm through exec, and all of them are gated by the same path allowlist (file_ops in the config, see below), not the command allowlist. Each path in that allowlist declares an access level: r (read-only ops) or rw (read-only ops plus the writing ops). Destructive operations that overwrite or remove an existing target make a timestamped backup first.
The hub additionally exposes a handful of hub-side integrations (Cloudflare DNS, Resend email, Telegram) as MCP tools your LLM can use alongside the agent's tools — those live on the hub, not in this repo. See the integrations table on sentinelx.app.
Config (/etc/sentinelx/config.yaml)
A starter config is generated at install time. Editable. Reloaded when the service restarts. Schema:
# Commands the agent can execute via the `exec` op (exec_mode: allowlist, the
default). Whole-word match, and every command in a chained line must be
covered. Empty/missing = nothing allowed (deny by default).
allowed_commands:
- uptime
- df -h
- free
- systemctl
- sudo systemctl
- journalctl
See config.example.yaml for the full starter list (file inspection,
networking, containers, git, etc.) plus opt-in categories
(Cloudflare tunnels, WireGuard, Android tooling, firewalling, SSH).
Service units the agent is allowed to control via service / restart.
Each unit explicitly lists which actions are permitted.
services: nginx: actions: [status, start, stop, restart, reload] docker: actions: [status, restart]
The agent itself, so the LLM can reload policy after editing the
config. Restarting re-reads /etc/sentinelx/config.yaml. Conservative
actions only — no start/stop, since the agent can't remotely start
itself once stopped.
sentinelx-cloud-core: actions: [status, restart, is-active, is-enabled]
postgresql:
actions: [status, start, stop, restart, reload]
Optional: named playbooks the LLM can read or execute. Two shapes are
supported and can coexist in the same map:
#
1) Diagnostic playbook — a fixed sequence of allowlisted commands the
agent can run in order. Useful for "give me a quick health snapshot"
type prompts where you want one named entry-point.
#
2) Procedure playbook — a structured recipe for the LLM to follow,
expressed in description / when / steps / requires / notes
fields. Pure documentation: the agent does NOT execute the steps,
the LLM reads them via capabilities and then calls the regular
tools (sentinel_exec, sentinel_edit, sentinel_service) on its own.
#
See config.example.yaml for the full reference.
playbooks:
Diagnostic playbook (shape 1)
health: description: "Show system health summary" commands:
- "uptime"
- "df -h /"
- "free -m"
Procedure playbook (shape 2) — guides the LLM through extending the
allowlist itself. Useful so users can ask "let me run htop here" and
the LLM knows the exact procedure (edit config, restart service,
verify with capabilities).
add_allowed_command: description: "How to add a new command to this host's allowlist" when: "User asks to allow a new command on this host" steps:
- "Read /etc/sentinelx/config.yaml with sentinel_exec"
- "Insert under allowed_com
Solo se muestra el principio; lee el resto en el repo