{"name":"io.github.zapsoblige-hash/policyvault","slug":"zapsoblige-hash-policyvault","title":null,"description":"Non-custodial Kaspa policy enforcement for AI agents; signers retain custody.","url":"https://mcp.market/server/zapsoblige-hash-policyvault","rating":null,"grade":"B","score":80,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":26,"stars":1,"forks":0,"downloads_week":50,"last_push_at":"2026-09-29T02:16:21.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/zapsoblige-hash/PolicyVault","website":null,"version":"1.6.2","remotes":[],"packages":[{"registryType":"npm","identifier":"policyvault-mcp","version":"1.6.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Bare origin of the PolicyVault server (e.g. https://app.policy-vault.org, or your self-hosted origin). Refused if it embeds credentials or a path.","isRequired":true,"format":"string","name":"POLICYVAULT_MCP_SERVER_URL"},{"description":"Machine-identity bearer credential (pvmk_...), minted by the vault operator in the PolicyVault app with exactly the scopes the agent should hold. Never logged; deleted from the process environment after being read.","isRequired":true,"format":"string","isSecret":true,"name":"POLICYVAULT_MCP_TOKEN"},{"description":"Optional comma-separated scope list to narrow which tools are advertised (display-side only; enforcement is always server-side).","format":"string","name":"POLICYVAULT_MCP_SCOPES"}]}],"tools":[{"name":"policyvault_audit_feed","description":"Read the global activity feed, server-scoped to vaults this identity's creating wallet participates in. Requires scope read:audit. Read-only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"policyvault_capabilities","description":"Read the server's public capability/version discovery document (API version, network, supported covenant versions, v0.4 actions, scope enum, schema versions, limits, feature flags). Read-only; requires no scope.","write_action":false,"price_micros":0,"input_schema":null},{"name":"policyvault_create_org_root_request","description":"BUILD a durable v0.7 root-authorized request: a root-only owner action (authorize/rotate/freeze/unfreeze/ownerRecover/succession) or the same action carrying AT MOST ONE rooted-vault operation (the covenant itself refuses a second rooted vault as a foreign covenant rider — ONE_VAULT_OPERATION_PER_ROOT_TRANSITION otherwise). This NEVER signs and NEVER broadcasts: it produces per-owner-slot signer-r","write_action":true,"price_micros":0,"input_schema":null},{"name":"policyvault_create_request","description":"BUILD a durable v0.4 wallet request (exact unsigned transaction + canonical review) for an existing vault. This NEVER signs, NEVER broadcasts, and cannot move funds by itself: signatures come from external signer custody and submission is a separate, separately-scoped step outside this tool set. Amounts are integer sompi as decimal strings — never floats. Server-side governance (proposalId for aut","write_action":true,"price_micros":0,"input_schema":null},{"name":"policyvault_create_v7_request","description":"BUILD a durable v0.7 rooted-vault request: a delegate spend (tokenAgentSpend on a rooted token vault, or agentSpend on a rooted KAS safe-payment vault — an authorized agent's own key; above the agent's approvalThreshold the vault-level approvers co-sign through the server's approvals route) or a token deposit — NEITHER touches the organizational root at all (no root input; the covenant enforces th","write_action":true,"price_micros":0,"input_schema":null},{"name":"policyvault_governance_proposal","description":"Read one governance proposal (classification, quorum, collected approvals, consumption state) by proposalId. Requires scope read:governance. Read-only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"policyvault_governance_proposals","description":"List governance proposals (authority-expansion ceremonies with owner-signature approvals) visible to this identity, optionally narrowed to one vault. Requires scope read:governance. Read-only — proposal creation/approval/cancellation are human ceremonies outside this tool set.","write_action":false,"price_micros":0,"input_schema":null},{"name":"policyvault_list_requests","description":"List durable v0.4 wallet requests visible to this identity (optionally narrowed to one vault, optionally only open/actionable states). Requires scope read:requests. Read-only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"policyvault_list_vaults","description":"List the vaults this machine identity's creating wallet participates in (tenancy is enforced server-side; foreign vaults are invisible). Requires scope read:vaults. Read-only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"policyvault_network_status","description":"Read the configured Kaspa node's status (network id, sync state, UTXO index, virtual DAA score). Requires scope read:network. Read-only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"policyvault_org_root","description":"Read one v0.7 organizational root's full record (owner slots, thresholds M/K/R, freeze flag, generation/nonce, pending request, live outpoint) plus authorityModel and a human explanation, by rootCovenantId. A root not yet chain-proven answers 404. Requires scope read:org-roots. Read-only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"policyvault_org_root_requests","description":"List every durable request against one organizational root (root genesis, rooted-vault genesis, or a root-authorized owner action), or read one by requestId — per-slot signature status, requiredApprovals/signaturesPresent, the outcome ladder, and warnings. Requires scope read:org-roots. Read-only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"policyvault_org_roots","description":"List v0.7 ON-CHAIN ORGANIZATIONAL ROOTS visible to this identity (consensus-enforced M-of-N owner authority — distinct from a HOSTED organization, which grants NO on-chain authority). Every summary carries authorityModel. Requires scope read:org-roots. Read-only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"policyvault_reject_request","description":"Mark one open wallet request REJECTED (housekeeping for a stale or superseded build — e.g. after a policy change made it unsubmittable). Affects only the durable workflow record; nothing on-chain. Requires scope request:reject.","write_action":false,"price_micros":0,"input_schema":null},{"name":"policyvault_request_status","description":"Read one durable wallet request (state machine BUILT/AWAITING_APPROVALS/FINALIZED/SUBMITTED/CONFIRMED/REJECTED/FAILED, canonical review, manifest hash, txid once chain-proven) by requestId. Requires scope read:requests. Read-only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"policyvault_risk_evaluation","description":"Read one durable risk-evaluation record (decision ALLOW/REVIEW/DENY, codes, adapter evidence, release state) by evaluationId. Requires scope read:risk. Read-only — releasing a REVIEW hold is a human reviewer action outside this tool set.","write_action":false,"price_micros":0,"input_schema":null},{"name":"policyvault_simulate_request","description":"DRY-RUN a v0.4 wallet operation through the real pipeline (governance classification, risk composition, authorization, exact build with real fee/mass, intent-manifest verification) WITHOUT persisting anything, consuming any gate, or broadcasting. Amounts are integer sompi as decimal strings (1 KAS = 100000000 sompi) — never floats. Requires scope request:build (ownerPause/ownerRecover additionally","write_action":false,"price_micros":0,"input_schema":null},{"name":"policyvault_vault","description":"Read one vault's manifest detail (policy template, agent registry, live covenant state, operational status) by 64-hex vaultId. Requires scope read:vaults. Read-only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"policyvault_vault_audit","description":"Read the durable audit/activity events recorded for one vault (builds, approvals, submissions, governance and risk outcomes, reconciliation). Requires scope read:vaults. Read-only.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":80,"grade":"B","scanned_at":"2026-10-03T12:03:49.502Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-03T12:03:49.514Z","components":{"code":{"score":25,"max":25,"notes":["11 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"policyvault-mcp","version":"1.6.2","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":0,"publishedAt":"2026-09-15T02:26:05.818Z","repositoryUrl":"git+https://github.com/zapsoblige-hash/PolicyVault.git","weeklyDownloads":50}],"repo":{"found":true,"owner":"zapsoblige-hash","repo":"PolicyVault","archived":false,"pushedAt":"2026-09-29T02:16:21Z","stars":1,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/315660735?v=4","ownerCreatedAt":"2026-08-11T05:39:06Z","license":"Apache-2.0"},"icon":{"url":null,"source":"none"},"presence":{"stars":1,"forks":0,"downloadsWeek":50,"license":"Apache-2.0","lastPushAt":"2026-09-29T02:16:21.000Z","score":26}}}},"grade_history":[],"reviews":[]}