@decionis/mcp 0.3.0 → 0.6.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.
Files changed (45) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +57 -5
  3. package/dist/AgentHookCli.js +2 -2
  4. package/dist/ManagedAgentHookCli.js +53391 -37117
  5. package/dist/agent/AgentIndex.js +2 -2
  6. package/dist/{chunk-ABHNQFWI.js → chunk-KV4WA4BV.js} +2 -2
  7. package/dist/{chunk-LIVLO4MV.js → chunk-XMQRTHQK.js} +32368 -19092
  8. package/dist/chunk-XMQRTHQK.js.map +1 -0
  9. package/dist/index.js +3112 -474
  10. package/dist/index.js.map +1 -1
  11. package/dist/policy_core.wasm +0 -0
  12. package/distribution/chatgpt/Install.md +40 -0
  13. package/distribution/chatgpt/Linked.md +25 -0
  14. package/distribution/chatgpt/Manifest.json +45 -0
  15. package/distribution/chatgpt/Mcp.json +9 -0
  16. package/distribution/chatgpt/Review.json +48 -0
  17. package/distribution/chatgpt/Setup.md +24 -0
  18. package/distribution/claude/Code.md +35 -0
  19. package/distribution/claude/Connected.json +13 -0
  20. package/distribution/claude/Install.md +47 -0
  21. package/distribution/claude/Manifest.json +11 -0
  22. package/distribution/claude/Mcp.json +8 -0
  23. package/distribution/common/Consent.md +22 -0
  24. package/distribution/common/Skill.md +111 -0
  25. package/distribution/copilot/Agent.json +22 -0
  26. package/distribution/copilot/App.json +34 -0
  27. package/distribution/copilot/AuthoringAgent.json +22 -0
  28. package/distribution/copilot/AuthoringApp.json +34 -0
  29. package/distribution/copilot/AuthoringInstructions.md +96 -0
  30. package/distribution/copilot/AuthoringM365.md +38 -0
  31. package/distribution/copilot/AuthoringPlugin.json +20 -0
  32. package/distribution/copilot/Connector.json +36 -0
  33. package/distribution/copilot/Instructions.md +21 -0
  34. package/distribution/copilot/M365.md +38 -0
  35. package/distribution/copilot/Plugin.json +20 -0
  36. package/distribution/copilot/Studio.md +16 -0
  37. package/distribution/schema/CopilotAgent.json +950 -0
  38. package/distribution/schema/CopilotApp.json +2927 -0
  39. package/distribution/schema/CopilotPlugin.json +723 -0
  40. package/distribution/schema/Mcp.json +120 -0
  41. package/distribution/schema/Plugin.json +65 -0
  42. package/distribution/schema/Source.md +36 -0
  43. package/package.json +15 -12
  44. package/dist/chunk-LIVLO4MV.js.map +0 -1
  45. /package/dist/{chunk-ABHNQFWI.js.map → chunk-KV4WA4BV.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.com/docs/protocol-mcp",
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
@@ -11,8 +11,9 @@ protocol's own schema-validated bundle ingestion, and evaluates through
11
11
  locally is the verdict the platform would produce — with **zero network, zero database,
12
12
  zero credentials, and nothing recorded**.
13
13
 
14
- (The protocol service separately exposes a _remote_, authenticated MCP surface for
15
- org-connected agents; this package is the local, offline complement for repo checkouts.)
14
+ (The protocol service also exposes a remote authenticated MCP surface. The local
15
+ execution path stays offline; optional connected PolicyAgent authoring is described
16
+ below.)
16
17
 
17
18
  The package now exposes two complementary surfaces:
18
19
 
@@ -69,14 +70,20 @@ spends their money: `shield.request_purchase` returns ALLOW, ASK or BLOCK
69
70
  against the limits the person set in the Shield app, with a signed Dispute
70
71
  Passport behind every hold. Two ways to bind:
71
72
 
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
73
+ - **Pair from the app (ten minutes, no keys).** In the Shield app, open _AI
74
+ spending allowance → Bind your own agent_; it shows a six-character code.
75
+ Tell your assistant _"pair with Shield, code ABC123"_ — it calls
75
76
  `shield.pair`, which claims the code and keeps the production credential in
76
77
  `~/.decionis/shield-credential.json` (`0600`; `DECIONIS_SHIELD_CREDENTIAL_FILE`
77
78
  moves it). The app then lists the assistant with what it was allowed to
78
79
  spend this week, and can revoke it. Pairing again from the same computer
79
80
  rotates the credential rather than binding a second agent.
81
+ - **Sign in with the emailed code (no code from the app).** Tell your
82
+ assistant _"pair with Shield, my email is you@example.com"_. `shield.pair`
83
+ asks Shield to email the person a 6-digit code; they tell the assistant the
84
+ code, and Shield binds it the moment the code is confirmed. It keeps the same
85
+ credential file. The code only works for binding an agent, never for signing
86
+ in to the app.
80
87
  - **Configure a key (integrators).** `DECIONIS_SHIELD_API_KEY` and
81
88
  `DECIONIS_SHIELD_APP_ID` from `POST /v1/consumer/shield/integrations` win
82
89
  over the paired file. `DECIONIS_SHIELD_API_URL` defaults to
@@ -361,3 +368,48 @@ printf '%s\n' \
361
368
  the evaluate tool detects this and tells the agent how to fix the policy.
362
369
  - Local evaluations mint no signed Decision Dossier; CI runs through
363
370
  [`decionis/govern`](https://github.com/decionis/govern) produce the verifiable record.
371
+
372
+ ## Governed PolicyAgent authoring
373
+
374
+ The local package can additionally connect to the governed PolicyAgent workspace.
375
+ This is opt-in: set `DECIONIS_POLICY_CONNECTED=1`, your
376
+ `DECIONIS_POLICY_WORKSPACE_ID`, and a private `DECIONIS_POLICY_OAUTH_TOKEN` issued
377
+ through an approved registered OAuth client. Without the opt-in flag the additional
378
+ authoring tools are absent. Existing execution hooks keep their existing behavior.
379
+ The token is read per call; a wrong workspace, expired grant or missing disclosure
380
+ approval fails closed. The package has no OAuth login or refresh-token store.
381
+
382
+ PolicyAgent reads authorized policy revisions, stores change proposals and requests
383
+ independent review. Human authors accept proposals into drafts and independent
384
+ reviewers attest in the workspace. Assistant confirmation never signs, approves or
385
+ deploys policy. Never put tokens in prompts or checked-in configuration.
386
+
387
+ ### Policy authoring context for your assistant
388
+
389
+ On connect, the server sends short policy authoring instructions: write each rule as a
390
+ rule card, read it back, and propose it with `decionis.propose_policy_change`. Clients
391
+ that support MCP prompts and resources also get three guides:
392
+
393
+ | Prompt | Resource | Use it to |
394
+ | ----------------- | ----------------------------------- | ----------------------------------------------------------- |
395
+ | `policyauthoring` | `decionis://assist/policyauthoring` | Turn plain-English rules into PolicyAgent proposals. |
396
+ | `agentsafe` | `decionis://assist/agentsafe` | Put AgentSafe in front of an agent's writes. |
397
+ | `workflowsetup` | `decionis://assist/workflowsetup` | Set up governed CI and move a policy through its lifecycle. |
398
+
399
+ To keep the guides in a project as files, install them for one assistant:
400
+
401
+ ```bash
402
+ npx @decionis/mcp context install --client claude # or codex, copilot, kiro, cursor
403
+ npx @decionis/mcp context install --client cursor --dir ./my-project --dry-run
404
+ ```
405
+
406
+ The command writes the client's skills, agents, rules or steering files and adds the
407
+ Decionis servers to its MCP settings, keeping any other servers there. It updates files
408
+ it wrote before and skips any other existing file unless you pass `--force`. The files
409
+ name environment variables only; keep keys and tokens in your environment.
410
+
411
+ Provider package sources and installation instructions are under
412
+ `distribution/claude/`. Repository maintainers can run
413
+ `pnpm --filter @decionis/mcp package:policyagent claude` to create reviewable ZIPs.
414
+ See the repository's `docs/marketplace/policyagent/Claude.md` for the full review
415
+ exercise and publication requirements.
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  AgentHookCommand
4
- } from "./chunk-ABHNQFWI.js";
5
- import "./chunk-LIVLO4MV.js";
4
+ } from "./chunk-KV4WA4BV.js";
5
+ import "./chunk-XMQRTHQK.js";
6
6
 
7
7
  // src/AgentHookCli.ts
8
8
  void AgentHookCommand.run(process.argv.slice(2)).then((exitCode) => {