Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
AtlaSent for AI agents: with an API key, actions wait for approval with signed proof. No key: demo.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
ATLASENT_API_KEY, ATLASENT_BASE_URL, ATLASENT_MODELos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"atlasent": {
"command": "npx",
"args": [
"-y",
"@atlasent/mcp-server"
],
"env": {
"ATLASENT_API_KEY": "your-value",
"ATLASENT_BASE_URL": "your-value",
"ATLASENT_MODE": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add atlasent --env ATLASENT_API_KEY=your-value --env ATLASENT_BASE_URL=your-value --env ATLASENT_MODE=your-value -- npx -y @atlasent/mcp-serverCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"atlasent": {
"command": "npx",
"args": [
"-y",
"@atlasent/mcp-server"
],
"env": {
"ATLASENT_API_KEY": "your-value",
"ATLASENT_BASE_URL": "your-value",
"ATLASENT_MODE": "your-value"
}
}
}
}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ú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"atlasent": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@atlasent/mcp-server"
],
"env": {
"ATLASENT_API_KEY": "your-value",
"ATLASENT_BASE_URL": "your-value",
"ATLASENT_MODE": "your-value"
}
}
}
}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ú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
ATLASENT_BASE_URL envATLASENT_MODE envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub AtlaSent, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
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.
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.
Debes completar: ATLASENT_API_KEY
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (2.21.0) llegó al registro hace 11 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, Systemdox
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Your architecture in your agents' context: checks, specs, ADRs and docs over MCP, at write time.
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.
MCP server that enforces authorize-before-execute for any MCP-compatible AI agent.
It is the developer entry point to AtlaSent AI Action Protection, which Enterprise teams adopt through a design partner program.
AtlaSent is security and organizational authority infrastructure for consequential actions by people, software, and AI.
This MCP server brings it to AI agents (Claude, Cursor, Windsurf, any MCP host). Before an agent's tool call changes a real system (a production deploy, a data export, an access grant), the agent asks AtlaSent first. With an API key (remote mode):
Try it in 60 seconds with no account: npx -y @atlasent/mcp-server (local mode, a demo that protects nothing).
Free, no account: paste your MCP server's tool list into AI Permission Check to see which tools could change real systems and who should approve them. It runs in your browser.
Local blocking is free. To actually block on your own machine without an account, use MCP Gate or the Claude Code agent guard. Both are part of the free Community plan. Hosted decisions, shared policies and approvals for a team are on the AtlaSent plans.
AtlaSent performs execution-time authorization: determine whether a specific consequential Action is authorized now, issue a bounded Permit on allow, verify that Permit at the execution Gate, and only then allow the governed native effect.
A plausible request is not organizational authority.
This MCP server exposes AtlaSent authorization primitives to Model Context Protocol hosts and includes a protected deployment demo that proves the ordering end to end.
This repository ships two packages, and one of them has two modes. All three block tool calls. Only one of the three is evidence, and the difference is not a feature list — it is *who said yes*.
| Surface | Who decided | What it is |
|---|---|---|
@atlasent/mcp-server local mode | a built-in heuristic | nothing — a credential-free demo. Its terminal rule is allow, including for action types it does not recognise. Never rely on it as protection. |
@atlasent/mcp-gate + policy.json | you, in advance, in a file you can edit | operator configuration. Starts at {"default":"deny","rules":[]} and blocks everything until you write a rule. Runs with no account and no network. |
@atlasent/mcp-gate cloud mode | your organization, at execution time | an organizational permit — single-use, bound to that call, verifiable afterwards. |
A rule you can silently edit is configuration. A permit your organization issued, that was consumed once and can be produced later, is authority. Both stop the call; only the second answers *"who authorized this?"* — which is the question that arrives after an incident, not before one.
The gate says which one decided, on every decision: no_matching_rule is your local policy, cloud_permit_consumed is an organizational permit. These reason strings are deliberately not normalised into a generic "blocked." Do not collapse them.
The two packages point in opposite directions, which is why they are separate: mcp-server exposes AtlaSent *as* MCP tools an agent calls to ask for authorization; mcp-gate sits *in front of* someone else's MCP server and intercepts.
For an enforced protected path:
Action proposed
→ current organizational Authority + Policy + Context evaluated → Decision deny / hold / escalate → STOP allow → bounded Permit → Permit Verification at the execution Gate invalid / expired / replayed / mismatched / error → STOP verified → native effect may execute → execution/native-effect Evidence recorded where the integration supplies it
Evaluation is not execution. A positive Decision is not the Gate. Permit Verification happens before the protected side effect.
You don't need an AtlaSent account or API key to try this server. With no credentials set, it runs in local mode: an in-process rules engine that works offline.
One-click install (local mode, no account):
Add this to your MCP host config (Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, and others; per-host file locations are below):
{
"mcpServers": { "atlasent": { "command": "npx", "args": ["-y", "@atlasent/mcp-server"], "env": { "ATLASENT_MODE": "local" } } } }
Then ask your agent to *"deploy billing-api to production"*. The built-in rules deny it because it has no approvals. Ask again with an approval and it's allowed, and the server verifies the permit before the simulated deploy runs.
Built-in local rules (src/localEngine.ts):
| Situation | Decision |
|---|---|
| Production action with no approvals | deny |
Destructive action (delete, drop, purge, ...) outside a change window | hold |
| Sign / certify / grant / revoke / suspend / resume actions | deny |
| Override / release / export / import / publish actions | hold |
| Anything that passes the rules | allow → single-use permit, 5-minute TTL |
Local permits are unsigned, so local mode is for development, CI, and trying things out. It's not a production enforcement boundary. The server refuses to fall back to local mode under NODE_ENV=production. When you're ready for signed permits, audit evidence, and your organization's own policies, switch to remote mode — get an API key.
git clone https://github.com/AtlaSent/atlasent-mcp-server.git
cd atlasent-mcp-server npm install npm run build npm run demo # blocked deploy → approved + verified deploy → replay refused, fully offline
docker build -t atlasent-mcp .
docker run -i --rm atlasent-mcp # local mode, stdio docker run -i --rm -e ATLASENT_API_KEY -e ATLASENT_BASE_URL atlasent-mcp # remote mode
packages/agent-hooks is a Claude Code plugin. Destructive and shipping commands wait for a person: DROP TABLE, terraform destroy, volume deletes, git push --force, production deploys. With nobody to ask, they are refused. Everything else runs as normal. Local, no account.
/plugin marketplace add AtlaSent/atlasent-mcp-server
/plugin install atlasent-guard@atlasent
"Someone at the keyboard said yes" is where it stops. The rest of this repository is the organizational version: an approver your organization named, and a permit you can prove afterwards.
AtlaSent does not treat every ad-hoc tool string as a new governed Action Type.
Use the Protected Action Canon for stable Action identity. Two important examples are:
production.deploy
agent.tool.invoke
For a generic AI tool invocation, use agent.tool.invoke as the public Canon-backed Action Type and carry tool-specific facts—tool name, target, environment, arguments/payload digest, resource state, and other required context—in the authorization context or binding fields supported by the selected integration path.
Use the read-only atlasent_lookup_action tool to discover Canon-backed Action Types instead of inventing a parallel taxonomy.
Keep the concepts separate:
allow | deny | hold | escalate at the platform boundary.A human Approval, favorable risk signal, policy match, deployment ticket, or workflow status does not by itself become organizational Authority.
deploy_service is intentionally small. It demonstrates a two-layer protected path:
agent requests deploy_service
→ authorize internal agent-tool compatibility gate → verify outer Permit → authorize production.deploy → verify production.deploy Permit → simulated deployment effect
The internal outer gate uses the Canon-backed agent.tool.invoke Action (CANON-000026 / ACT-0029) — the same public identifier documented throughout the AtlaSent ecosystem as the canonical generic AI-agent tool invocation. It previously used a legacy, uncatalogued identity, model.agent.execute_tool, which had no corresponding action_classes provisioning path in the runtime (no seed/migration anywhere creates a row with that slug) — so against a real, unmodified Atlasent org the outer gate could only ever return NO_ACTION_CLASS deny, regardless of the tool-specific inner gate's own decision. Migrating the outer gate onto agent.tool.invoke gives it the runtime's real "AI Agent Safeguard" provisioning path, which already exists for exactly this purpose. See AtlaSent/atlasent-mcp-server#121 for the full investigation and decision record.
If either Decision is non-allow or either Permit fails Verification, no deployment result is produced.
The protected-tool response includes the action-specific Verification result alongside the simulated native result:
{
"decision": "allow", "permit_token": "...", "verification": { "outcome": "verified", "valid": true }, "result": { "status": "deployed", "service": "billing-api" } }
The returned Permit has already been consumed by the execution-boundary Verification. Verifying it again should be treated as a replay, not as a step required after deployment.
`examples/hitl-demo.mjs
Solo se muestra el principio; lee el resto en el repo