@decionis/mcp 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +30 -2
- package/dist/AgentHookCli.js +2 -2
- package/dist/ManagedAgentHookCli.js +1949 -1105
- package/dist/agent/AgentIndex.js +2 -2
- package/dist/{chunk-NF5JL6QR.js → chunk-5Q6BCK32.js} +1309 -465
- package/dist/chunk-5Q6BCK32.js.map +1 -0
- package/dist/{chunk-7QNV7MXC.js → chunk-GCE6PUYD.js} +2 -2
- package/dist/index.js +370 -51
- package/dist/index.js.map +1 -1
- package/package.json +22 -22
- package/dist/chunk-NF5JL6QR.js.map +0 -1
- /package/dist/{chunk-7QNV7MXC.js.map → chunk-GCE6PUYD.js.map} +0 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"version": "0.2.0",
|
|
5
5
|
"description": "Refuse an agent's tool call before it runs, using a policy you wrote. Evaluated locally through the real Decionis protocol evaluator \u2014 no account, no network, no credentials.",
|
|
6
6
|
"keywords": ["security", "policy", "guardrails", "execution-authority", "agent-safety", "hooks"],
|
|
7
|
-
"homepage": "https://decionis.
|
|
7
|
+
"homepage": "https://decionis.ai/mcp",
|
|
8
8
|
"repository": "https://github.com/decionis/mcp",
|
|
9
9
|
"license": "SEE LICENSE IN LICENSE",
|
|
10
10
|
"author": {
|
package/README.md
CHANGED
|
@@ -62,8 +62,36 @@ and re-evaluates. The handlers are the hosted MCP's own, bound to the in-process
|
|
|
62
62
|
the local loop is the hosted loop. Both call `presence.decionis.com` (`openWorldHint:
|
|
63
63
|
true`). Production enforcement is sales-assisted.
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
### Shield — the user's own spending rules (consumer)
|
|
66
|
+
|
|
67
|
+
The `shield.*` tools ask a person's Decionis Shield before an assistant
|
|
68
|
+
spends their money: `shield.request_purchase` returns ALLOW, ASK or BLOCK
|
|
69
|
+
against the limits the person set in the Shield app, with a signed Dispute
|
|
70
|
+
Passport behind every hold. Two ways to bind:
|
|
71
|
+
|
|
72
|
+
- **Pair from the app (ten minutes, no keys).** In the Shield app, open _AI
|
|
73
|
+
spending allowance → Bind your own agent_; it shows a six-character code.
|
|
74
|
+
Tell your assistant _"pair with Shield, code ABC123"_ — it calls
|
|
75
|
+
`shield.pair`, which claims the code and keeps the production credential in
|
|
76
|
+
`~/.decionis/shield-credential.json` (`0600`; `DECIONIS_SHIELD_CREDENTIAL_FILE`
|
|
77
|
+
moves it). The app then lists the assistant with what it was allowed to
|
|
78
|
+
spend this week, and can revoke it. Pairing again from the same computer
|
|
79
|
+
rotates the credential rather than binding a second agent.
|
|
80
|
+
- **Sign in with the emailed code (no code from the app).** Tell your
|
|
81
|
+
assistant _"pair with Shield, my email is you@example.com"_. `shield.pair`
|
|
82
|
+
asks Shield to email the person a 6-digit code; they tell the assistant the
|
|
83
|
+
code, and Shield binds it the moment the code is confirmed. It keeps the same
|
|
84
|
+
credential file. The code only works for binding an agent, never for signing
|
|
85
|
+
in to the app.
|
|
86
|
+
- **Configure a key (integrators).** `DECIONIS_SHIELD_API_KEY` and
|
|
87
|
+
`DECIONIS_SHIELD_APP_ID` from `POST /v1/consumer/shield/integrations` win
|
|
88
|
+
over the paired file. `DECIONIS_SHIELD_API_URL` defaults to
|
|
89
|
+
`https://api.shield.decionis.com`.
|
|
90
|
+
|
|
91
|
+
The six tools are always advertised. Until the server is paired or configured,
|
|
92
|
+
every `shield.*` call fails closed with `SHIELD_MCP_CONFIGURATION_REQUIRED`
|
|
93
|
+
and tells the model to ask the user for the code — an error is never
|
|
94
|
+
permission to execute.
|
|
67
95
|
|
|
68
96
|
### Kubernetes execution-authority tools
|
|
69
97
|
|
package/dist/AgentHookCli.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
AgentHookCommand
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-GCE6PUYD.js";
|
|
5
|
+
import "./chunk-5Q6BCK32.js";
|
|
6
6
|
|
|
7
7
|
// src/AgentHookCli.ts
|
|
8
8
|
void AgentHookCommand.run(process.argv.slice(2)).then((exitCode) => {
|