INTEGRATIONS

Agent integrations

Put a signed, verifiable verdict on every action your agent takes, at the action boundary, with no code change. @fidacy/mcp is a Model Context Protocol server any MCP-native host loads over stdio, so OpenClaw, Hermes, the Claude Code agent, and anything else that speaks MCP can call it. The verdict is the same neutral, EdDSA-signed seal anyone can check against the public JWKS.

Install the server

Add one server to your MCP host config. It speaks MCP over stdio. The only thing you need to start issuing verdicts is an engine key:

{
  "mcpServers": {
    "fidacy": {
      "command": "npx",
      "args": ["-y", "@fidacy/mcp"],
      "env": {
        "FIDACY_ENGINE_URL": "https://api.fidacy.com",
        "FIDACY_ENGINE_API_KEY": "fky_test_…"
      }
    }
  }
}

To also gate real payments, add FIDACY_MODE=http, FIDACY_API_URL and FIDACY_API_KEY pointing at a firewall core you run. The server boots fine with either one, both, or neither.

The four tools

assess_action

A signed trust verdict (approve / review / deny) on a proposed action, a JWS verifiable by anyone against the public JWKS.

request_payment

Gates a payment against a signed mandate. ALLOW mints a short-lived Ed25519 grant; DENY returns the violated rule.

verify_mandate

The active mandate for a subject, the rules the agent is bound to.

get_audit_proof

The append-only, hash-chained audit proof for a decision.

OpenClaw

OpenClaw loads MCP servers natively. Add the fidacy server and the agent gets the four tools directly. Have it call assess_action before it runs a tool, then act on decision:

// the agent calls assess_action; the host returns structuredContent:
{
  "decision": "approve",        // approve | review | deny
  "score": 0.12,
  "riskPayloadJws": "eyJ…",     // the signed, verifiable proof
  "outcome": { /* signals, reasons */ }
}
// approve -> run the action; review -> step up to a human; deny -> block

LangChain

@fidacy/langchain wraps the tool itself, not a callback, callbacks fire around a call and cannot cancel it. Wrapping the execution path is the only place that stops a payment. It fails closed: if the engine is unreachable or the key is wrong, the call is denied, never run.

npm i @fidacy/langchain @langchain/core

import { guardTools, FidacyDenied } from "@fidacy/langchain";

const tools = guardTools([payTool, searchTool], {
  apiKey: process.env.FIDACY_ENGINE_API_KEY,
});
// payTool is assessed before every call; searchTool is returned untouched.

OpenAI Agents SDK

@fidacy/openai-agents gates the tool’s invoke, the point between the model deciding to pay and the money moving. A blocked call returns a refusal the model can read, so the agent explains what happened instead of dying with a stack trace. The payment still did not run.

npm i @fidacy/openai-agents @openai/agents

import { guardTools } from "@fidacy/openai-agents";
const tools = guardTools([payTool, searchTool], {
  apiKey: process.env.FIDACY_ENGINE_API_KEY,
});
// Set throwOnDeny: true for a hard stop carrying the signed proof.

Brex CrabTrap

@fidacy/crabtrap observes CrabTrap’s local decisions and turns each into an independently signed Fidacy verdict. CrabTrap keeps deciding; Fidacy makes the record hold up to someone who trusts neither side. No change to your CrabTrap setup.

Fail safe: on any error, treat it as review, never approve. The verifier packages are open source (Apache-2.0): @fidacy/sdk and @fidacy/verify.

← PREVIOUS
MCP Server
NEXT →
Hosted MCP