ERDL Server
FreeNot checkedEnforces deterministic rules for AI agents with 30 built-in presets and unlimited personal rules to ensure consistent behavior.
About
Enforces deterministic rules for AI agents with 30 built-in presets and unlimited personal rules to ensure consistent behavior.
README
Deterministic rules for AI Agents. Say it once. Never repeat.
npm version npm downloads license tests
📖 中文版
ERDL (Entity-Rule Definition Language) gives your Agent deterministic rules. 30 built-in rules across 6 categories. Unlimited personal rules. Free forever.
Why ERDL?
| Without ERDL | With ERDL |
|---|---|
"Don't use any" — forgotten in 5 turns |
Rules enforced deterministically, every tool call |
| "Write shorter sentences" — ignored | Writing rules fire before every output |
| "Confirm before adding deps" — skipped | Blocked until you confirm |
| "Why did you do that?" — no answer | erdl_explain shows the full decision trail |
Quick Start
# Start MCP Server (5 tools, 30 rules — all MCP clients)
npx -y @openoba-ai/erdl-mcp
# Or: install OpenClaw Plugin for hardware enforcement
openclaw plugins install @openoba-ai/erdl-openclaw
30 rules active immediately. No account. No configuration. No API key.
中文用户:
npx -y @openoba-ai/erdl-mcp --lang zh
Free vs Pro
| Free | Pro | |
|---|---|---|
| 5 MCP Tools | ✅ | ✅ |
| 30 Preset Rules | ✅ | ✅ |
| Unlimited Personal Rules | ✅ | ✅ |
| Chinese / English | ✅ | ✅ |
| All 11 Operators | ✅ | ✅ |
| MIT Open Source | ✅ | ✅ |
| Execution Rings 1–2 (REQUEST_HUMAN, ESCALATE, ROLLBACK, QUARANTINE) | — | ✅ |
| Guardian Agent Role (监管者模式) | — | ✅ |
| Audit Export (OCSF / OTLP) | — | ✅ |
| Team Rules (组织级规则共享) | — | ✅ |
| Dashboard (规则命中统计) | — | ✅ |
| Enterprise Compliance Packs (GB/Z 185, NIST, EU AI Act) | — | Enterprise |
One-command Install
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/OpenOBA/erdl-mcp-server/master/scripts/install.sh | bash
# Windows (PowerShell)
iwr https://raw.githubusercontent.com/OpenOBA/erdl-mcp-server/master/scripts/install.ps1 | iex
Why ERDL vs SKILL.md / Prompt Rules?
| Prompt-Based Rules | ERDL MCP Server | |
|---|---|---|
| Execution | LLM "tries" to follow | Deterministic engine — guaranteed |
| Visibility | Invisible, can't tell if it worked | erdl_explain shows every decision |
| Reliability | LLM may ignore or forget | Zero hallucination — condition match is mathematical |
| Testing | Manual | erdl_simulate with 3 auto-scenarios |
| Portability | Single platform | All MCP-compatible Agents |
ERDL rules don't suggest. They don't hope. They enforce.
What's Included
30 Built-in Rules (8 Categories)
| Category | Rules | Scope |
|---|---|---|
coding |
10 | TypeScript quality, Git discipline, dependency hygiene |
engineering |
24 | Workflow discipline, pipeline gates, session memory, self-verify |
writing |
7 | Tone, formatting, clarity |
design |
3 | Tailwind-first, responsive, accessible |
security |
6 | SQL injection, eval, hardcoded secrets, input validation |
testing |
11 | Coverage, boundary conditions, flaky tests, TDD workflow |
performance |
3 | N+1 queries, pagination, measure before optimize |
observability |
3 | Structured logging, health checks, no secrets in logs |
5 MCP Tools
| Tool | Purpose |
|---|---|
erdl_evaluate |
Action Guard — check rules before every tool call |
erdl_simulate |
Test a rule against 3 scenarios before creating |
erdl_create_rule |
Create a rule from natural language |
erdl_list_rules |
List all active rules |
erdl_explain |
Full decision trail for any action |
MCP Resources
| Resource | Content |
|---|---|
erdl://rules/list |
All rules as JSON |
erdl://status |
Server runtime status |
Installation
Any MCP Client
{
"mcpServers": {
"erdl": {
"command": "npx",
"args": ["-y", "@openoba-ai/erdl-mcp@latest"]
}
}
}
Or let ERDL generate the config for your client:
npx @openoba-ai/erdl-mcp@latest --setup
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the equivalent path on your OS.
Cursor
Add to .cursor/mcp.json in your project root.
OpenClaw
# MCP Server (all MCP clients)
openclaw mcp set erdl '{"command":"npx","args":["-y","@openoba-ai/erdl-mcp@latest"]}'
# OpenClaw Plugin (hard enforcement via before_tool_call)
openclaw plugins install @openoba-ai/erdl-openclaw
Plugin vs MCP Server: The MCP Server gives your Agent ERDL tools. The Plugin adds deterministic tool call interception — rules run BEFORE every exec/write/search, no relying on LLM self-discipline. Install both for maximum protection.
VS Code / GitHub Copilot
Add to .vscode/mcp.json or the Copilot MCP configuration.
Creating Your First Rule
You: "Never use `any` in TypeScript."
Agent: 1. erdl_simulate → tests the rule against 3 scenarios
2. erdl_create_rule → saves to ~/.openoba/rules/
3. Rule is now active. Next `any` will be blocked.
You: "Why did you reject my code?"
Agent: erdl_explain → shows every rule that fired
Or create rules manually in ~/.openoba/rules/ (ERDL SPEC §5 format):
protocol: "erdl/v1"
version: "1.0.0"
rules:
- name: "no_console_log"
description: "Don't commit console.log statements"
priority: 10
when:
logic: AND
conditions:
- field: "tool.name"
operator: in
value: ["write", "edit", "apply_patch"]
- field: "tool.args"
operator: match
value: "console\\.log"
then: DENY
message: "Remove console.log before committing"
📚 Full tutorial: Create Your First ERDL Rule → (English)
📖 Complete Rule Reference (all 30 rules with modification guides) → (English)
CLI Reference
npx @openoba-ai/erdl-mcp@latest # Start MCP server (always latest)
npx @openoba-ai/erdl-mcp@latest --lang zh # Chinese mode
npx @openoba-ai/erdl-mcp@latest --pro-key sk-xxx # Activate Pro license
npx @openoba-ai/erdl-mcp@latest --upgrade # Upgrade to latest
npx @openoba-ai/erdl-mcp@latest --uninstall # Clean removal
npx @openoba-ai/erdl-mcp@latest --help # Full usage
Upgrading from v1.0.x? You MUST update your MCP config:
Remove old local-path config:
openclaw mcp remove erdl # or remove "erdl" from mcp.servers in configRe-add with npx (auto-latest):
openclaw mcp set erdl "{\"command\":\"npx\",\"args\":[\"-y\",\"@openoba-ai/erdl-mcp@latest\"]}"Or manually in
~/.openclaw/openclaw.json→mcp.servers.erdl:{ "command": "npx", "args": ["-y", "@openoba-ai/erdl-mcp@latest"] }npm cache clearing (if
--versionshows an older release):npm cache clean --force
Run from Source
git clone https://github.com/OpenOBA/erdl-mcp-server.git
cd erdl-mcp-server
npm install
npm run build
node bin/erdl-mcp.js --version
License
Built by AI + Human. Deterministic architecture, not prompt engineering.
Install ERDL Server in Claude Desktop, Claude Code & Cursor
unyly install erdl-mcp-serverInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add erdl-mcp-server -- npx -y @openoba-ai/erdl-mcpFAQ
Is ERDL Server MCP free?
Yes, ERDL Server MCP is free — one-click install via Unyly at no cost.
Does ERDL Server need an API key?
No, ERDL Server runs without API keys or environment variables.
Is ERDL Server hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install ERDL Server in Claude Desktop, Claude Code or Cursor?
Open ERDL Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare ERDL Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
