mcpbeat Sign in

Warrant MCP Server

by s0fractal Your server? Claim it
local only

Warrant runs on your own machine — the client starts it, so there is no endpoint to ping. 375 installs a week from pypi. Last commit 2 Nov 2026.

Record an agent's decisions with reasons anyone can re-execute offline — verify recomputes them.

Installs per day peak 402 · avg 77 · -45% w/w
a month agotoday
375
Installs / week
pypi · warrant-verify
5
Stars
0 open issues
2 Nov 2026
Last commit
from GitHub
MIT
License
Python

What the code does

We read the source, 1 h ago · rules 995398eba69f

A tool parameter reaches a dangerous call

A value the model can set ends up inside a file or shell call. That is not a flaw by itself — for a terminal server it is the job — but it is where things go wrong when it is not.

A tool parameter reaches a file or shell call warrant_verify_store.store_path → needs/need-002-a3-base/candidate/verify-store.mjs:48, warrant_verify_store.store_path → needs/need-002-a3-base/candidate/verify-store.mjs:139
      const content = fs.readFileSync(filePath, 'utf8');
Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

File ships in the package but is absent from the source [пакет] impl/policy_lang.py:1, [пакет] impl/sigma_glyph_v05.py:1, [пакет] impl/ski_policy.py:1 и ещё 5
этот файл ставится пользователю, но в репозитории его нет
Runs an external command [пакет] impl/warrant_mcp_server.py:115, [пакет] impl/warrant_mcp.py:468, third_party/primitives/run.py:51 и ещё 7
    return subprocess.run(argv, capture_output=True, text=True, timeout=timeout)
Executes code built at runtime [пакет] impl/warrant_mcp.py:460
    exec(compile(source, str(runtime_path), "exec"), namespace)
Long encoded blob in source third_party/primitives/vectors/canon.json:38
        "canon_hex": "7b226163746f72223a7b226964223a226167656e742d784076656e646f72227d2c2262656361757365223a5b5d2c226465636973696f6e223a2270726f706f7365222c2265766964656e6365223a5b5d2c227072696f72223a5b5d2c227375626a656374223a7b2268617368223a22616161616161616161616161616161616161…
        env = dict(os.environ, PYTHONPATH=str(code), PYTHONDONTWRITEBYTECODE="1")

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

A tool parameter here reaches a dangerous call

That is not a flaw by itself — but it is where things go wrong when it is not the job. We re-read this code on every release. Watch it and you hear from us the day another one appears.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add warrant -- uvx warrant-verify
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "warrant": {
      "command": "uvx",
      "args": [
        "warrant-verify"
      ]
    }
  }
}
~/.codex/config.toml
[mcp_servers.warrant]
command = "uvx"
args = ["warrant-verify"]
.cursor/mcp.json
{
  "mcpServers": {
    "warrant": {
      "command": "uvx",
      "args": [
        "warrant-verify"
      ]
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "warrant": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "warrant-verify"
      ]
    }
  }
}

Optional settings from the registry entry, left out of the block above: WARRANT_STORE (Absolute path to the warrant store this server files into and verifies. Defaults to .warrants relative to the server process's working directory, which an MCP host does not guarantee), WARRANT_KEY (Ed25519 signing key. If unset, one is generated next to the store on the first filing and the result says so; any process that can read it can sign as this actor), WARRANT_ACTOR (Actor id written into filed warrants. Defaults to mcp-client@<hostname>).

Alternatives to Warrant

same job, measured the same way
Fabric Verify
by augmentev

Signed, publicly logged records of what your AI agent did, with proofs anyone can check offline.

411 installs/wk answering
DarkMatter
by darkmatter-hub

Tamper-evident records of AI agent decisions. Verify offline, or publish a proof link.

94 installs/wk local only
Toki Toki
by xfloukiex-lab

A local causality ledger: records decisions and the reasons, for an agent to recall.

133 installs/wk local only
Elen
by learningnodes

Records coding-agent decisions with their limits and marks old ones superseded. Local SQLite.

68 installs/wk local only
Postcept
by postcept

Verify agent actions against the system of record and get signed completion receipts.

31 installs/wk local only
Agent Memory
by theprodsde

Persistent agent memory with a decision layer: replay, restore, verify, or none — explainable.

105 installs/wk local only
Vulnify
by vulnify

Ask Vulnify before an AI agent acts. Check, record, and read policy decisions.

132 installs/wk answering
D
Decisionscope
by cloudcorprecords

Read-only decision record: query decisions, drain decision changes, verify token.

local only

Warrant — questions

Answers built from our own checks of this server.

Why is there no uptime for Warrant?
Warrant runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the pypi package warrant-verify was installed 375 times last week.
How do I connect Warrant?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It runs locally, so the command pulls warrant-verify straight from pypi; nothing to host, nothing to sign up for.
How many people use Warrant?
The pypi package warrant-verify was installed 375 times in the last week. Week over week that is -45%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Warrant open source?
Yes — it is published under the MIT licence, written in Python and 5 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.