Skip to main content
Glama
jamjet-labs

jamjet-policy

Official
by jamjet-labs

JamJet Policy

The portable policy layer for AI agent actions.

One policy file. One audit trail. Across hooks, guardrails, MCP gateways, SDKs, and custom runtimes.

Packages

All four adapters share a single policy.yaml format and a single audit JSONL schema.

See conformance/ for the spec these adapters all satisfy.

Available Tools

3 tools
policy_evaluateA

Evaluate the currently loaded JamJet policy against a candidate MCP tool name. Returns the matched rule, the decision (allow / block / require_approval / audit), and the matched glob pattern. Use this to dry-run a tool call before issuing it, or to explain why a previous call was blocked. Read-only and side-effect free — does not write to the audit log.

ParametersJSON Schema
NameRequiredDescriptionDefault
tool_nameYesFully-qualified MCP tool name, e.g. "filesystem.delete_file" or "github.merge_pull_request". Pattern matching follows the same glob rules as the policy file (`*` matches any chars except `.`, `**` matches across `.`).
argumentsNoOptional tool-call arguments. Recorded for audit-trail symmetry but not used for matching in policy v1 (only the tool name is matched against rule patterns).

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description discloses that the tool is read-only and side-effect free, not writing to the audit log. This is sufficient for safety, though it could mention any required permissions or prerequisites for loading the policy.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with three sentences. It front-loads the core action and output, followed by usage guidance and safety. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains the return values (matched rule, decision, pattern). It covers purpose, usage, and safety. However, it doesn't specify behavior when no rule matches, which slightly reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The main description adds minimal parameter details beyond what the schema provides, such as the dry-run context, but doesn't significantly enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool evaluates a policy against a candidate tool name and returns the matched rule, decision, and pattern. It distinguishes itself from siblings policy_list_rules and policy_load_info by focusing on evaluation rather than listing or loading.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: 'dry-run a tool call before issuing it, or to explain why a previous call was blocked.' This provides clear use cases and implies when not to use (e.g., not for listing rules).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

policy_list_rulesA

List every rule in the currently loaded JamJet policy, in declaration order. Each entry includes the rule index, action (allow / block / require_approval / audit), and the glob pattern it matches. Use this to inspect the active policy without reading the YAML file directly, or to verify a rollout placed rules in the expected order. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but description fully covers behavior: read-only, lists in declaration order, fields returned. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, each purposeful: purpose, details, usage, safety. No redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description explains return values comprehensively. Read-only status noted. Complete for a simple listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, schema coverage 100%. Description adds significant meaning by detailing output fields (index, action, glob pattern).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists every rule in the JamJet policy with details like index, action, and glob pattern. It distinguishes from siblings (policy_evaluate, policy_load_info) by specifying it's for inspection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit use cases: inspect policy without reading YAML, verify rollout order. Lacks direct comparison with sibling tools but offers clear context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

policy_load_infoA

Report the path to the policy file currently loaded by this server, plus the number of rules it contains and the policy schema version. Use this once at session start to confirm the server has the expected policy attached. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Declares the tool as read-only and describes return values. No annotations provided, so the description carries full burden. Adequately discloses behavior for a simple info tool, though does not mention authentication or other potential traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences. First sentence states functionality, second gives usage guidance. Every sentence earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description adequately explains return values (path, count, version). Usage context provided. Tool complexity low, description is complete for its purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, schema coverage is 100%. Description adds no param details, but baseline for zero-param tool is 4. No need for further explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reports the policy file path, rule count, and schema version. It uses specific verb 'Report' and resource 'policy file loaded by this server'. Distinguishes from siblings like policy_evaluate and policy_list_rules.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly suggests using it once at session start to confirm expected policy. Does not state when not to use it or name alternatives, but context from siblings implies it's for initial verification.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.1.0
    • First observedpolicy_evaluate
    • First observedpolicy_list_rules
    • First observedpolicy_load_info

TDQS

A4.7/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: evaluate a specific tool against policy, list all rules, and report loaded policy info. No overlap between them.

Naming Consistency5/5

All tools follow the consistent pattern 'policy_verb[_noun]' using snake_case, making them predictable and easy to understand.

Tool Count5/5

With 3 tools, the server is tightly scoped to policy inspection and evaluation, fitting its purpose well without unnecessary bloat.

Completeness5/5

The set covers the essential operations for a read-only policy server: evaluating a candidate, inspecting rules, and confirming the loaded policy. No missing functionality for its intended use.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Policy-enforcing MCP proxy that blocks dangerous tool calls before they execute. Protects credentials, filesystem, shell, and databases across Claude Desktop, Cursor, Windsurf, and OpenClaw.
    13
    38
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Security gateway for MCP tool calls. Sits between your LLM client and MCP servers, enforcing per-tool policies (allow/block/approve/read-only), logging every call, and pausing dangerous operations for human approval in terminal or Slack.
    4
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Runtime proxy that intercepts and blocks MCP tool calls based on YAML-defined policies, enforcing security rules for AI agents like Claude Code or Cursor.
    71
    1
    Apache 2.0
  • A
    license
    B
    quality
    A
    maintenance
    Governance runtime for AI agents: a guard tool evaluates risky actions against policy before they execute (block / warn / require human approval), approvals route to a human queue, and every action becomes a replayable decision record with per-action spend tracking. Runs over stdio via npx @dashclaw/mcp-server; works with Claude Code, Codex, LangChain, CrewAI, or any MCP host.
    68
    301
    MIT