Back to Browse

Policyrecall MCP Server

Developer ToolsUse Caution4.6MCP RegistryLocal
Free

Server data from the Official MCP Registry

Policy-verified recall and calibration for tool calls via signed operational memory.

About

Policy-verified recall and calibration for tool calls via signed operational memory.

Security Report

4.6
Use Caution4.6High Risk

policyrecall is a legitimate-looking client that generates a local Ed25519 keypair, registers only the public key, saves the private key with 0600 permissions, and signs requests with Node's crypto module, with no hardcoded secrets, shell execution, or obfuscation found. The main concerns are that tool names, task descriptions, and full call arguments are sent to a third-party hosted service by design, and that the registration consent gate is a self-asserted boolean the calling model can set itself. Permissions match the stated purpose, so the score stays in the good range. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

8 files analyzed · 11 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-cloudcorprecords-policyrecall": {
      "args": [
        "-y",
        "@reneturcios/policyrecall"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

policyrecall

policyrecall is a client for a hosted operational-memory service. Once an agent identity is registered, the service can recall a policy-verified compliant version of a tool call you are about to make, and it can calibrate a call against live policy. Requests are signed with a locally held Ed25519 key, so the service can tell that a call really came from the registered agent. One binary serves a command-line interface and a stdio MCP server.

Identity and configuration

Before recall or calibration can work, an identity must exist:

policyrecall achromat_register_identity --user-confirmed true

Registration generates a fresh Ed25519 keypair, computes a small proof-of-work over the public key, and sends the public key to the service. The private key is saved only after the service accepts, as a PKCS#8 PEM file with owner-only permissions (0600). Registering again while a key file already exists is an error — the existing key is never overwritten. Recall and calibrate with no key file fail with an error that says identity setup is required and names the registration step.

Two environment variables configure the client:

VariableDefault
ACHROMAT_BASE_URLhttps://mom.achromat.ai
ACHROMAT_AGENT_KEY_FILE~/.achromat/achromat_agent_key.pem

Unlike the original server, which offers its tools dynamically depending on key state, policyrecall always lists all three tools and applies the state check when a tool is called.

Install

npx @reneturcios/policyrecall --version

Or run the container image:

docker run -i ghcr.io/cloudcorprecords/policyrecall

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

The subcommands mirror the MCP tool names:

policyrecall achromat_register_identity --user-confirmed true

policyrecall achromat_recall \
  --domain fintech \
  --tool-name send_payment \
  --task-description "Pay a verified vendor invoice on time" \
  --arguments '{"amount": 42, "currency": "USD"}'

policyrecall achromat_calibrate \
  --domain robotics \
  --tool-name move_arm \
  --task-description "Move the arm to the loading position" \
  --arguments '{"joint": 2, "angle": 45}' \
  --trap-id trap-7

policyrecall --version

--arguments takes a JSON object. Results print the upstream JSON payload. Exit codes: 0 on success, 1 when a call fails (including a missing identity or an upstream error), 2 for usage errors.

MCP server

The mcp subcommand starts a stdio MCP server:

npx -y @reneturcios/policyrecall mcp

MCP client configuration:

{
  "mcpServers": {
    "policyrecall": {
      "command": "npx",
      "args": ["-y", "@reneturcios/policyrecall", "mcp"],
      "env": { "ACHROMAT_BASE_URL": "https://mom.achromat.ai" }
    }
  }
}

Tools

ToolInputWhat it does
achromat_register_identityuser_confirmed (required, must be true)Generate an Ed25519 keypair, solve a small proof-of-work, register the public key, and save the private key locally.
achromat_recalldomain, tool_name, task_description, arguments (all required)Recall a policy-verified compliant version of the described tool call.
achromat_calibratedomain, tool_name, task_description, arguments (required), trap_id (optional)Calibrate the described tool call against live policy.

domain is one of fintech, industrial_iot, robotics, or devsecops. task_description is 16 to 1000 characters, and arguments is the call's argument object, which must not be empty. Recall and calibrate requests are signed with the local key; the service receives the tool name under its tool field.

Development

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, fake fetch only
npm run dev     # run the CLI from source via tsx

Tests use a fake fetch plus real local key generation and signing in temporary directories; no live service call is made.

License

MIT — see LICENSE.

Reviews

No reviews yet

Be the first to review this server!