jmcentire avatar

signet-eval

jmcentire/signet-eval

Deterministic policy enforcement that sits between Claude and tool execution. Every tool call passes through user-defined YAML rules before running,no LLM in the authorization path, 25ms end-to-end. Ships with locked self-protection rules that prevent agents from disabling their own guardrails. Supports spending limits via encrypted vault ledger, conditional blocks based on parameters or patterns, and probabilistic advisory injection for nudges. Integrates via PreToolUse hooks in Claude Code or Codex, plus an MCP management interface for conversational policy updates. Conditions include spend tracking, credential checks, regex matching, and recent action history. Rules can be locked to prevent agent modification, and the vault uses three-tier encryption with Argon2id key derivation.

GitHub stars
4
tools
17
last updated
Aug 28, 2026

Tools

17 tools

Public tool metadata for what this MCP can expose to an agent.

signet_list_rulesShow all rules with locked status

Show all rules with locked status

No parameter schema in public metadata yet.

signet_add_ruleAdd a new rule (appended after locked rules)

Add a new rule (appended after locked rules)

No parameter schema in public metadata yet.

signet_remove_ruleRemove a rule (refuses on locked rules)

Remove a rule (refuses on locked rules)

No parameter schema in public metadata yet.

signet_edit_ruleModify rule properties (refuses on locked rules)

Modify rule properties (refuses on locked rules)

No parameter schema in public metadata yet.

signet_reorder_ruleMove a rule (refuses on locked, prevents placing above locked)

Move a rule (refuses on locked, prevents placing above locked)

No parameter schema in public metadata yet.

signet_set_limitSet a spending limit for a category

Set a spending limit for a category

No parameter schema in public metadata yet.

signet_testTest a tool call against the current policy

Test a tool call against the current policy

No parameter schema in public metadata yet.

signet_validateCheck policy for errors

Check policy for errors

No parameter schema in public metadata yet.

signet_condition_helpShow available condition functions

Show available condition functions

No parameter schema in public metadata yet.

signet_statusVault status, spending totals, credential count

Vault status, spending totals, credential count

No parameter schema in public metadata yet.

signet_recent_actionsShow recent action log

Show recent action log

No parameter schema in public metadata yet.

signet_store_credentialStore a Tier 3 credential

Store a Tier 3 credential

No parameter schema in public metadata yet.

signet_use_credentialRequest a credential through capability constraints

Request a credential through capability constraints

No parameter schema in public metadata yet.

signet_list_credentialsList credential names

List credential names

No parameter schema in public metadata yet.

signet_delete_credentialDelete a credential

Delete a credential

No parameter schema in public metadata yet.

signet_sign_policyHMAC-sign the policy file

HMAC-sign the policy file

No parameter schema in public metadata yet.

signet_reset_sessionClear spending counters

Clear spending counters

No parameter schema in public metadata yet.

Sponsors

Readme

signet-eval

Deterministic policy enforcement for AI agent tool calls. Integrated tool calls pass through user-defined rules before execution. No LLM in the authorization path. Advisory nudges are separate from authorization.

Install

# crates.io
cargo install signet-eval

# from source
git clone https://github.com/wandercom/signet-eval
cd signet-eval
cargo install --path .

There is no npm or PyPI package for signet-eval. The public distribution path is crates.io plus source install from GitHub. The MCP Registry listing points at the repository metadata; the runtime is the local signet-eval serve stdio server.

Quick Start

The command-hook adapters below remain supported and independent. For Claude Code's optional early-access function hooks, see the function adapter. It is disabled by default; installing/building this package does not activate it or change user settings.

1. Hook into Claude Code — add to ~/.claude/settings.json:

{
  "hooks": {
    "PreToolUse": [{
      "matcher": "",
      "hooks": [{"type": "command", "command": "signet-eval", "timeout": 2000}]
    }]
  }
}

View the full README on GitHub

Details

Repository
github.com/jmcentire/signet-eval
Website
github.com/jmcentire/signet-eval
Category
AI & LLM Tools
Registry
MCP registry, active

Related AI & LLM Tools MCP servers

View all
1joinwell52-ai avatarFcopjoinwell52-ai/fcopFCoP Core adapter with 25 canonical tools and 6 read-only resources for durable agent work.4stars
2penfieldlabs avatarPenfield Memorypenfieldlabs/penfield-mcpPersistent memory and knowledge graphs for AI agents. Hybrid search, context checkpoints, and more.4stars
3tessera-llm avatarTessera MCP Servertessera-llm/mcp-serverMCP server for Tessera's LLM cost-optimization layer: anchored spend, drift, recommendations.0stars
4agentled avatarMcp Serveragentled/mcp-serverIntelligent AI workflow orchestration with long-term memory, 100+ integrations, and unified credits.0stars
5aiappsapi avatarAdaptive Recallaiappsapi/adaptive-recallAdaptive memory system with cognitive scoring, knowledge graph, and self-improving ML.3stars
6annibale-x avatarMcp Webgateannibale-x/mcp-webgateWeb search that doesn't wreck your AI's memory.3stars