DCL Trust Oracle — AI/LLM Output Audit (x402 MCP)
AI/LLM agent output audit MCP: policy eval, tamper-evident chain, AI safety, x402 USDC on Base.
Open source Repository Open in the app JSON README (API)
About
AI/LLM agent output audit MCP: policy eval, tamper-evident chain, AI safety, x402 USDC on Base.
Details
- Kind
- MCP servers
- Topic
- Finance & crypto
- Publisher
- com.fronesislabs
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 2.3.1
- Stars
- 1
- Last push
- 2026-09-08T05:26:01Z
- Repository state
- ativo
- Language
- Python
- License
- Apache-2.0
- Added
- 2026-08-29 03:01:08
- Updated
- 2026-08-29 03:01:08
- Origin id
com.fronesislabs/dcl-trust-oracle
README
# DCL Trust Oracle
[](https://www.python.org/downloads/)
[](https://modelcontextprotocol.io)
[](LICENSE)
[](https://glama.ai/mcp/servers/Fronesis-Labs/dcl-webhook)
[](https://smithery.ai/servers/fronesislabs/dcl-trust-oracle)
**Don't trust the agent. Trust the proof.**
Autonomous AI agents now take actions with real consequences — financial,
legal, reputational. Most of them are black boxes: no record of what was
decided, why, or whether that decision was tampered with afterward.
DCL Trust Oracle closes that gap. Every agent output is evaluated against
policy in real time and sealed into a tamper-evident hash chain — a
deterministic, cryptographically verifiable record of what happened and
when. Edit any past entry and the entire chain invalidates. No one — not
even Fronesis Labs — has to be trusted for the record to hold up.
## What It Does
DCL Trust Oracle provides deterministic policy evaluation for LLM outputs
with a tamper-evident audit chain. The system stores only cryptographic
hashes and decision metadata — **never raw content** — enabling verifiable,
post-action forensic analysis across distributed AI agents.
Available two ways:
- **REST API** (`webhook_server.py`) — direct HTTP integration.
- **MCP Server** (`mcp_server.py`) — native Model Context Protocol
integration for AI agents. Live at `https://mcp.fronesislabs.com/mcp`
(streamable-http). Also listed on [Smithery](https://smithery.ai/servers/fronesislabs/dcl-trust-oracle)
(remote URL → same production endpoint; see `smithery.yaml`) and the
[official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=com.fronesislabs%2Fdcl-trust-oracle).
Both servers share the same evaluation logic and tamper-evident chain
(`dcl_core.py`), and are priced identically.
## Quick Start
### REST API
```
pip install -r requirements.txt
python webhook_server.py
```
Server runs on `http://localhost:8080`
### MCP Server
**Production (hosted):**
```
https://mcp.fronesislabs.com/mcp
```
Streamable HTTP transport — point any MCP client here directly, no setup required.
**Local development:**
```
pip install -r requirements.txt
python mcp_server.py
```
Server runs on `http://localhost:8081` (streamable-http transport)
## Tools & Endpoints
### Pre-Action Evaluation
Catch a bad output *before* it reaches a user, a wallet, or downstream
system.
| REST Endpoint | MCP Tool | Price | Description |
| --- | --- | --- | --- |
| `POST /evaluate/fast` | `dcl_evaluate_fast` | $0.01 | Fast policy check for low-risk outputs. Returns tamper-evident `tx_hash`. |
| `POST /evaluate/strict` | `dcl_evaluate_strict` | $0.05 | Deep analysis for high-stakes outputs with higher confidence thresholds. |
| `POST /evaluate/jailbreak` | `dcl_evaluate_jailbreak` | $0.02 | Instruction adherence check — detects prompt injection patterns and role-hijacking attempts. |
| `POST /evaluate/safety` | `dcl_evaluate_safety` | $0.01 | Baseline screening for known harmful text patterns. Optimized for high throughput. |
| `POST /evaluate/quality` | `dcl_evaluate_quality` | $0.03 | Content quality & drift check — evaluates format adherence and contextual drift. |
| `POST /evaluate/batch` | `dcl_evaluate_batch` | $0.10 | Bulk processing — up to 200 items per MCP call (REST default `max_items`: 20). Cost-effective for multi-turn history. |
### Session Management
| REST Endpoint | MCP Tool | Price | Description |
| --- | --- | --- | --- |
| `POST /pipeline/start` | `dcl_pipeline_start` | $0.05 | Initializes a long-running audit session for continuous drift tracking. Returns `pipeline_id`. |
### Post-Action Forensics
When something *did* go wrong, reconstruct exactly what happened.
| REST Endpoint | MCP Tool | Price | Description |
| --- | --- | --- | --- |
| `GET /audit/{tx_hash}` | `dcl_audit_decode` | $0.10 | Basic post-action audit — returns verdict, confidence, agent_id, reason by `tx_hash`. |
| `GET /audit/{tx_hash}/deep` | `dcl_audit_decode_deep` | $0.50 | Deep forensic audit — includes drift context, tamper-evidence indices, environmental metadata. |
### Post-Action Scans
| REST Endpoint | MCP Tool | Price | Description |
| --- | --- | --- | --- |
| `POST /evaluate/secrets` | `dcl_evaluate_secrets` | $0.02 | Secret & credential leak scan. |
| `POST /evaluate/pii` | `dcl_evaluate_pii` | $0.02 | PII detection scan. |
### DCL Update Sentinel (Continuous Skill Monitoring)
Continuous security auditing and release verification for AI Agent Skills and GitHub repositories. Sentinel monitors code updates via GitHub Webhooks, blocks regressions against your security baseline, and automatically recovers skill status upon clean rescans.
| REST Endpoint | Price | Description |
| --- | --- | --- |
| `POST /sentinel/register` | $49.00 / 30d | Register a skill/repo for continuous monitoring. Requires passing initial baseline audit (`score >= 0.80`; returns `HTTP 422` if failed). Issues `webhook_secret`. |
| `POST /sentinel/webhook/{webhook_secret}` | Free | GitHub Webhook receiver. Audits new release tags, blocks regressions, and logs tamper-evident events. |
| `POST /sentinel/scan` | $0.05–$0.50 | Pay-per-call repository audit (`update_rescan`, `deep_scan`, `forensic_audit`). |
| `GET /sentinel/status/{repo_full_name}` | Free | Query skill security status (`active`, `blocked`, `unregistered`) and last known good version. |
| `POST /sentinel/renew` | $49.00 / 30d | Extend 30-day monitoring entitlement for a registered skill (owner-verified). |
| `GET /sentinel/prices` | Free | Returns current price breakdown for Sentinel services. |
#### Key Features of Sentinel:
- **Idempotent Webhook Processing:** Built-in protection against duplicate GitHub delivery retries (`X-GitHub-Delivery` tracking).
- **Auto-Recovery:** Skills blocked due to security regressions (`status: blocked`) are automatically restored to `active` once a clean, policy-compliant release is published.
- **Strict Owner Verification:** Subscription renewals require cryptographic signature match with the registered owner's wallet (`owner_payer_ref`).
- **Baseline Policy Gate:** Registration requires a passing initial audit (`score >= 0.80`). Compromised or failing repositories are rejected immediately (`HTTP 422`) to prevent invalid entitlement setup.
### Crypto & Trading Compliance (MCP only)
These tools are exposed on the live MCP server only (no REST routes in `webhook_server.py`).
| MCP Tool | Price | Description |
| --- | --- | --- |
| `dcl_evaluate_jailbreak_crypto` | $0.02 | Crypto-specific jailbreak & injection detection. |
| `dcl_evaluate_wallet` | $0.02 | Wallet secret guardian. |
| `dcl_evaluate_trade` | $0.02 | Trade decision verifier. |
| `dcl_evaluate_mev` | $0.03 | MEV & market-abuse compliance screen. |
| `dcl_evaluate_signal` | $0.03 | Market signal fabrication screen. |
| `dcl_evaluate_output_sanitizer` | $0.02 | Output sanitizer — final gate. |
| `dcl_commit` | $0.01 | Leibniz Layer crypto commit — seal a decision to the audit chain. |
### Utility (free, REST only)
| Endpoint | Description |
| --- | --- |
| `GET /health` | Service status and chain length |
| `GET /policies` | List of built-in policy names |
| `GET /chain/status` | Chain integrity, drift mode, drift score |
| `GET /chain/export` | Full chain export with integrity verification |
## Example Response
```json
{
"verdict": "COMMIT",
"confidence": 0.95,
"reason": "All policy checks passed",
"tx_hash": "0x7a8f3b2c...",
"chain_index": 42,
"input_hash": "0x9d4e1f...",
"policy_version": "1.0.0",
"timestamp": 1721635200.123,
"pipeline_id": "abc123",
"drift_mode": "NORMAL",
"drift_score": 0.15
}
```
## Verifying the Chain Yourself
You don't have to take the server's word for it. `tx_hash` is recomputed
from the record's own fields, not just linked to the previous row — so
anyone can independently confirm a record wasn't edited after the fact,
without calling back into this server. See
[`@fronesis-labs/dcl-sdk`](https://github.com/Fronesis-Labs/dcl-sdk) (TS/JS)
or [`dcl-core`](https://github.com/Fronesis-Labs/dcl-core) (Python) for the
free, offline verification libraries.
## Metering & Settlement
Every paid call above is metered and settled automatically via the
[x402 protocol](https://x402.org) (USDC on Base).
We support two payment models:
- **Per-Call Micropayments** ($0.01 – $0.50) for instant, on-demand evaluations.
- **30-Day Recurring Entitlements** ($49.00) for continuous skill monitoring via DCL Update Sentinel.
This design eliminates API-key provisioning and invoicing overhead.
Per-call pricing makes large-scale agent operations practical
(an autonomous system can make thousands of evaluation calls a day).
The REST API is x402-gated via `fastapi-x402`; the MCP server uses
`paymcp` in `Mode.X402`, paying automatically for x402-aware clients and
falling back to a guided payment link for clients without a configured wallet.
Both settle to the same wallet, and neither has a bypass path —
an unpaid call simply receives no verdict.
## License
Apache License 2.0 — see [LICENSE](LICENSE).