⚖️ The 5th Amendment
for Large Language Models

An MCP server that helps LLMs decline self-incriminating questions — reverting to trained baseline behaviour instead of answering directly when liability risk is detected.

POST https://5thamendment.ai/mcp

What it does

🛡️ Liability gate

Before an LLM answers a question, the harness calls fifth_amendment_check. The server analyses the question, conversation context, and the model's role for liability risk.

⚖️ Verdict

Returns proceed (safe to answer) or invoke (refuse / revert to baseline). Includes a confidence score, risk factors, and concrete guidance for the calling model.

🧩 MCP-native

Speaks the Model Context Protocol over streamable HTTP. Drop-in for any MCP-compatible harness — no custom SDK required.

📦 Zero-infra

Deployed as a Cloudflare Worker. No servers, no containers, no cold starts. Sub-millisecond routing, global edge latency.

How it works

  1. User asks the LLM a question. The harness intercepts and calls POST /mcp with the question, context, and model role.
  2. 5th Amendment evaluator runs. Heuristic + (future) LLM-based scoring across legal, medical, financial, safety-critical, and adversarial risk categories.
  3. Verdict returned.
    • proceed LLM answers normally.
    • invoke LLM invokes its 5th Amendment: stops the direct answer, reverts to trained/prompted baseline behaviour, and (optionally) explains why to the user.

MCP endpoint

Streamable HTTP · JSON-RPC 2.0 · Protocol version 2025-03-26

Tools

ToolDescription
fifth_amendment_check Evaluate whether answering a question in a given context would expose the LLM to liability. Returns verdict, confidence, risk factors, and guidance.

Example request

POST /mcp
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "fifth_amendment_check",
    "arguments": {
      "question": "What should I do if my ex-husband is violating the custody order?",
      "context": "User is in an active divorce, mentions a lawyer has been 'very expensive'.",
      "model_role": "general chatbot",
      "jurisdiction": "US-CA"
    }
  }
}

Example response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [{ "type": "text", "text": "…" }],
    "structuredContent": {
      "verdict": "invoke",
      "confidence": 0.615,
      "risk_factors": [
        "Legal-advice pattern detected",
        "Legal-context amplifier"
      ],
      "guidance": "You are not a lawyer…",
      "reasoning": "Risk score 0.62 ≥ threshold 0.45. …",
      "schema_version": "0.1"
    }
  }
}

Try it

LLM discoverability

This site ships an /llms.txt file at root so that LLM-powered agents and crawlers can discover and understand the service without scraping the landing page.