Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Authorize consequential AI agent actions before execution
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
DECIONIS_POLICY_PATH, DECIONIS_PRESENCE_API_KEY, DECIONIS_PRESENCE_API_URLValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://protocol.decionis.com/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"decionis": {
"command": "npx",
"args": [
"-y",
"@decionis/mcp"
],
"env": {
"DECIONIS_POLICY_PATH": "your-value",
"DECIONIS_PRESENCE_API_KEY": "your-value",
"DECIONIS_PRESENCE_API_URL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http decionis https://protocol.decionis.com/mcpclaude mcp add decionis --env DECIONIS_POLICY_PATH=your-value --env DECIONIS_PRESENCE_API_KEY=your-value --env DECIONIS_PRESENCE_API_URL=your-value -- npx -y @decionis/mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"decionis": {
"url": "https://protocol.decionis.com/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"decionis": {
"command": "npx",
"args": [
"-y",
"@decionis/mcp"
],
"env": {
"DECIONIS_POLICY_PATH": "your-value",
"DECIONIS_PRESENCE_API_KEY": "your-value",
"DECIONIS_PRESENCE_API_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"decionis": {
"type": "http",
"url": "https://protocol.decionis.com/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"decionis": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@decionis/mcp"
],
"env": {
"DECIONIS_POLICY_PATH": "your-value",
"DECIONIS_PRESENCE_API_KEY": "your-value",
"DECIONIS_PRESENCE_API_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://protocol.decionis.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
DECIONIS_POLICY_PATH envDECIONIS_PRESENCE_API_URL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified against the domain decionis.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: DECIONIS_PRESENCE_API_KEY
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.3.0) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, FactLot
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
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.
Cited CRE facts and deterministic calculators for agents: rent, CAM, debt sizing, IRR, parcel IDs.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Authorize every autonomous action, before it commits.
AgentSafe is the open-source gateway that puts authorization in front of every action your AI agents, workflows and pipelines take: a payment or a settlement, a trade, a price change, an inspection sign-off, a deployment or any other API call. An agent, an application or a tool sends its HTTP request to AgentSafe instead of the target; AgentSafe captures the action as an intent, asks the Decionis control plane (the Independent Execution Authority, bound to the exact action) for a decision, and forwards exactly the authorized request once on a claimed single-use grant, holds it for a person, or refuses it, leaving a chained record of each. It decides nothing itself.
brew tap decionis/agent-safe https://github.com/decionis/agent-safe-pipeline && brew trust decionis/agent-safe && brew install agentsafe
agentsafe proxy \ --upstream http://localhost:3000 \ --port 8080
5-minute quickstart · Homebrew · Linux · Docker · Kubernetes · Hosted
Agent integration and deployment guide: put the gateway in front of tool calls, deploy on premises, or connect to the Decionis-managed shadow gateway. For a Drupal Commerce store, the gateway holds the Fincra key.
Deployment strategies: Docker with TLS ingress, Kubernetes, Istio, AWS and Azure network isolation, and deployment acceptance checks.
The installed forms are produced by the release workflow from
v0.2.0on; the Homebrew formula
reaches master by its own pull request after each release. The same commands run from a clone,
as the quickstart shows.
The path from here is short: discover, install, test your boundary, see what is exposed, run in shadow, enforce, deploy.
Arriving here for the first time, you meet three names. This repository is one of them; the other two are the services it talks to, and neither is in this repository.
ALLOW, ESCALATE or BLOCK; an ALLOW comes with the single-use execution grant the request executes on, an ESCALATE with the human ceremony it needs, and every decision with a signed Decision Dossier that records what was proposed, what was decided and why. It runs at decionis.com (docs); the local demo authority in this repository stands in for it on loopback with a synthetic policy, and says so on every line.ESCALATE, a verified, present person on their own device approves that exact action, and the signed Presence Record that results is evidence Decionis re-checks before it issues a grant, never authority by itself. It runs at presence.decionis.com (what the layer is); the loopback double in this repository simulates the ceremony for the examples and proves nothing about a real one.ESCALATE with Presence, forwards exactly the authorized request once on the claimed grant, holds or refuses the rest, and leaves chained evidence. It is Apache-2.0 and it decides nothing; OPEN-CORE.md states the seam between it and what Decionis operates.One sentence separates the two systems agents are usually given: decision intelligence determines what an AI wants to do; execution authority determines whether it is permitted to happen. The boundary here binds the second to the exact action, never to the identity that proposed it, because the realistic adversary is not a forged credential but a valid one: an agent whose identity is real, whose credential is current, and whose request is not what anyone authorised. As agents get faster and more autonomous, identity becomes a weaker proxy for authority; the Compromised Principal Test is that failure stated as a test the boundary passes on every pull request, with three ways to run it in under a minute and what each proves; THREAT-MODEL.md states it as a threat.
Before putting the gateway in front of anything, see what it changes. agentsafe test sends the same consequential requests three ways at a synthetic target that records what reaches it: directly, as an agent with nothing in the way; through the gateway in shadow; and through the gateway in enforcement. Nothing real is called and nothing of yours is read.
agentsafe test
direct shadow enforcement
A read reached 200 reached 200 reached 200 (not consequential) A payment within policy reached 201 reached 201, would ALLOW ALLOW: forwarded once, 201, dossier A payment above the human ceiling reached 201 reached 201, would BLOCK BLOCK 403, NOT FORWARDED A payment above the autonomous ceiling reached 201 reached 201, would ESCALATE ESCALATE 202, HELD Deleting a customer record reached 204 reached 204, would ESCALATE ESCALATE 202, HELD A forged approval on a blocked payment reached 201, forged headers accepted reached 201, would BLOCK BLOCK 403, NOT FORWARDED A consequential request the policy cannot read reached 201 reached 201, would ESCALATE ESCALATE 202, HELD A payment while the authority is unreachable reached 201 reached 201, would decide nothing (authority unreachable) AUTHORITY UNAVAILABLE 503, NOT FORWARDED with failurePolicy failOpen (explicit): reached 201, marked FORWARDED (fail-open, ungoverned)
Exposure 6 of 6 adversarial actions reached the target directly, 6 of 6 in shadow, 0 of 6 under enforcement Work routine actions went through under enforcement, once each Evidence 26 chained lines, verified
Caller the same on every row, and never the reason: the target took every direct request; the boundary decided on the action Verdict BOUNDARY HOLDS
Next: agentsafe proxy --upstream --mode shadow, then --mode enforcement. ✓ boundary tested
The gateways under test are the ones agentsafe proxy runs, behind the same listener; the authority is the local demo policy. agentsafe test ledger=ledger.internal:443 also dials a real system of record from where you stand and says whether it answers without the gateway, which is what an agent could reach by going around. Exit 0 is a boundary that holds; 1 is exposure; --json is the report as one line. The release smoke test runs it on every packaged binary. The Caller line is the point: nothing above was refused for who asked, only for what was asked, which is the Compromised Principal Test in one table; the last line is the step of the adoption path the run is.
With a workspace, agentsafe test --hosted sends the same requests with Decionis deciding, in shadow, at the same synthetic target: the first governed action against Decionis for that workspace, one signed Decision Dossier per consequential request, and the first record fetched with the run's own key and shown by its proof. agentsafe login --provision mints the workspace in one command, no account; the test takes about as long as the local one.
Nothing here needs an account: without a Decionis key the gateway runs a local demo authority in the same process, on loopback, with a synthetic policy, and says so on every line.
agentsafe proxy --upstream http://localhost:3000 --port 8080
AgentSafe 0.7.0
Gateway http://127.0.0.1:8080 Upstream http://localhost:3000 Mode ENFORCEMENT Authority local/demo (synthetic policy on loopback; not Decionis) Failure fail-closed Routes none named; every unsafe method is governed Evidence not written; use --verbose or evidence.journalDir Status READY
Waiting for consequential actions...
Send it one request:
curl -i -X POST http://127.0.0.1:8080/payments -H 'content-type: application/json' -d '{"amount": 500}'
ESCALATE
POST /payments
Action http.post Decision ESCALATE Reason HUMAN_APPROVAL_REQUIRED Execution HELD Dossier synthetic-dossier-1 Latency 4ms
The caller gets 202 and nothing reached the upstream. {"amount": 50} is ALLOW: forwarded once, byte for byte, with the dossier id beside the upstream's own answer. {"amount": 5000} is BLOCK: 403, not forwarded. A GET passes through untouched. Every state has its own heading and, with a terminal, its own color: ALLOW, BLOCK, ESCALATE, SHADOW, AUTHORITY UNAVAILABLE. --verbose shows the chained evidence lines; agentsafe init writes the configuration file; agentsafe doctor says what would stop it from governing; agentsafe login connects a Decionis key, after which the same gateway asks Decionis, in shadow first. A gateway in shadow keeps its own shadow report: what enforcement would have held or refused so far, by action, and how many of those refusals the upstream accepted as sent, which agentsafe status prints, the gateway prints when it stops and on its own cadence as it runs, ending with the one switch that turns enforcement on; agentsafe login --provision mints the free Decionis workspace that switch names. The quickstart is the full walk, and the CLI reference every command.
Agent / Application / Tool
│ ▼
Only the beginning is shown; read the rest in the repo