Achromat MOM — Claude Code MCP server: check tool calls before they run
An MCP server that checks an agent's tool calls against policy and hands back a corrected version before anything executes.
claude mcp add --transport http mcp-server https://mom.achromat.ai/mcpWhat Achromat MOM does
Agents run into blocked calls all the time: a payment, a SQL statement, a command sent to equipment. Achromat MOM keeps a record of calls that policy stopped and the versions that were later allowed. The server exposes that record to your agent as ordinary tools, so it can ask for the permitted form up front.
It runs on your machine. The host starts it as a child process and they talk over stdio. Requests to MOM are signed with an Ed25519 key held locally, and only the signature travels. On first use there is no key, so the server offers achromat_register_identity; your agent asks whether to set one up. Say yes and it generates the key pair, does a short proof of work, registers the public half, and writes the private half to ~/.achromat/achromat_agent_key.pem, readable only by you. Node.js 20 or newer is required.
After that achromat_recall and achromat_calibrate take over. Recall matches on the tool name and the shape of the arguments, and returns compliant arguments plus a steering directive when it finds a lesson. Calibrate checks the call against live policy. A BLOCK verdict comes with a trap_id: adjust the arguments as directed and retry with the same task_description and that trap_id. The key file is your identity — lose it and it cannot be recovered, so keep it out of git. Set ACHROMAT_AGENT_KEY_FILE to store it elsewhere.
What it helps with
- find the allowed form of a call before running it
- check payment arguments against current policy
- recover from a block and retry the call correctly
- avoid writing integration code per host
- keep the signing key on your own machine
Example prompts for the agent
- Use
achromat_recallto check whether this call is allowed, domainfintech - Run
achromat_calibrateon this call and show me the verdict - I got a
BLOCK— fix the arguments per the directive and retry with the sametask_descriptionandtrap_id
How to install Achromat MOM
1Platform CLI: remote server
claude mcp add --transport http mcp-server https://mom.achromat.ai/mcp2Platform CLI
claude mcp add --env ACHROMAT_AGENT_KEY_FILE=<ACHROMAT_AGENT_KEY_FILE> --env ACHROMAT_BASE_URL=<ACHROMAT_BASE_URL> --transport stdio achromat-mom -- npx -y @achromat-ai/mcp-serverReplace <…> with your own values
1Platform CLI: remote server
codex mcp add achromat-mom --url https://mom.achromat.ai/mcp2Platform CLI
codex mcp add achromat-mom --env ACHROMAT_AGENT_KEY_FILE=<ACHROMAT_AGENT_KEY_FILE> --env ACHROMAT_BASE_URL=<ACHROMAT_BASE_URL> -- npx -y @achromat-ai/mcp-serverReplace <…> with your own values
Config file
{
"mcpServers": {
"achromat-mom": {
"url": "https://mom.achromat.ai/mcp"
}
}
}{
"mcpServers": {
"achromat-mom": {
"command": "npx",
"args": [
"-y",
"@achromat-ai/mcp-server"
],
"env": {
"ACHROMAT_AGENT_KEY_FILE": "<ACHROMAT_AGENT_KEY_FILE>",
"ACHROMAT_BASE_URL": "<ACHROMAT_BASE_URL>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"achromat-mom": {
"type": "http",
"url": "https://mom.achromat.ai/mcp"
}
}
}{
"servers": {
"achromat-mom": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@achromat-ai/mcp-server"
],
"env": {
"ACHROMAT_AGENT_KEY_FILE": "<ACHROMAT_AGENT_KEY_FILE>",
"ACHROMAT_BASE_URL": "<ACHROMAT_BASE_URL>"
}
}
}
}Replace <…> with your own values
1Platform CLI: remote server
gemini mcp add -t http achromat-mom https://mom.achromat.ai/mcp2Platform CLI
gemini mcp add -e ACHROMAT_AGENT_KEY_FILE=<ACHROMAT_AGENT_KEY_FILE> -e ACHROMAT_BASE_URL=<ACHROMAT_BASE_URL> achromat-mom npx -y @achromat-ai/mcp-serverReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Achromat MOM
How do I install Achromat MOM in Claude Code?
Run claude mcp add --transport http mcp-server https://mom.achromat.ai/mcp. For a local process instead, use `claude mcp add --env ACHROMAT_AGENT_KEY_FILE=<ACHROMAT_AGENT_KEY_FILE> --env ACHROMAT_BASE_URL=<ACHROMAT_BASE_URL> --transport stdio achromat-mom -- npx -y @achromat-ai/mcp-server`.
What does Achromat MOM do?
It gives your agent two tools. achromat_recall looks for an already verified compliant version of a call, and achromat_calibrate evaluates a call against live policy. The agent learns about a block before acting.
What does the server need to run?
Node.js 20 or newer. On first use it creates an Ed25519 key and registers the public half with MOM; the private half stays on your machine. Secrets and credentials in arguments or the task description are rejected by the service.