ai-rete-rag
# ai·rete·rag MCP Server
<!-- mcp-name: com.ai-rete-rag/ai-rete-rag-mcp -->
Use [ai·rete·rag](https://ai-rete-rag.com) — deterministic rule-based decisions with
RAG-powered explanations — from Claude Code, Claude Desktop, or any MCP client.
The verdict always comes from the Rete rule engine (auditable, reproducible);
the LLM only explains *why*, grounded in your ingested policy documents.
## Tools
| Tool | What it does |
|---|---|
| `decide` | Make a decision in a domain — structured facts and/or free text, with optional Pattern 01 (rules scope retrieval) and Pattern 02 (retrieval into working memory) |
| `list_rules` | Inspect a domain's rules — conditions, verdicts, salience, overlaps |
| `get_rule_source` | Fetch a domain's rule set as editable YAML |
| `import_policy_rules` | Turn a written policy document into draft rules, each citing the sentence it encodes (nothing is saved — review, then `put_rules`) |
| `put_rules` | Create or replace a domain's rule set from YAML (dry_run to validate) |
| `ingest_text` | Add policy text to a domain's knowledge base |
| `list_documents` | Browse a domain's ingested documents |
| `get_usage` | Check your plan and remaining monthly decision quota |
## Connect by URL (no install)
The server is also hosted, which is the only route for clients that connect to a
URL and have no field for a static header — claude.ai and Claude Desktop custom
connectors, in particular.
| URL | Auth | Reaches |
|---|---|---|
| `https://ai-rete-rag.com/mcp/auth` | Sign in with Google, once, in the browser | Your account — your domains, your plan quota |
| `https://ai-rete-rag.com/mcp` | None, or `Authorization: Bearer ik_...` | Shared demo domains anonymously; your account with a key |
Add `https://ai-rete-rag.com/mcp/auth` as a custom connector and approve the
prompt. Connections are listed under **Settings → Connected apps**, and
disconnecting one takes effect immediately.
## Install
No install needed with [uv](https://docs.astral.sh/uv/) — `uvx ai-rete-rag-mcp`
fetches and runs the server on demand (see the config snippets below).
Alternatively, install it as a package:
```bash
pip install ai-rete-rag-mcp # from PyPI
pip install . # or from source, in this repo
```
## Configure
First create an API key: sign in at [ai-rete-rag.com](https://ai-rete-rag.com),
open **Settings → API Keys**, and create a key (`ik_...` — shown once).
### Claude Code
```bash
claude mcp add ai-rete-rag -e AI_RETE_RAG_API_KEY=ik_your-key-here -- uvx ai-rete-rag-mcp
```
(If you installed via pip, use `-- ai-rete-rag-mcp` instead of `-- uvx ai-rete-rag-mcp`.)
Or skip the install entirely and point it at the hosted endpoint with your key:
```bash
claude mcp add --transport http ai-rete-rag https://ai-rete-rag.com/mcp \
--header "Authorization: Bearer ik_your-key-here"
```
### Claude Desktop / other clients (JSON)
```json
{
"mcpServers": {
"ai-rete-rag": {
"command": "uvx",
"args": ["ai-rete-rag-mcp"],
"env": {
"AI_RETE_RAG_API_KEY": "ik_your-key-here"
}
}
}
}
```
(With a pip install, set `"command": "ai-rete-rag-mcp"` and drop `"args"`.)
Environment variables:
| Variable | Default | Purpose |
|---|---|---|
| `AI_RETE_RAG_API_KEY` | *(none)* | Your API key — authenticates calls and ties them to your plan quota |
| `AI_RETE_RAG_API_URL` | `https://ai-rete-rag.com` | API base URL — point at `http://localhost:8000` for local dev |
Without a key you can still explore the shared demo domains (`loan`, `fraud`,
`clinical`, …) subject to free-tier limits.
## Example
> "Use ai·rete·rag to decide whether this loan application should be approved:
> credit score 645, annual income $52k, requested amount $30k."
Claude calls `decide(domain="loan", facts={...})` and returns the rule-derived
verdict plus a plain-English explanation citing the underwriting policy.
<!-- mcp-name: com.ai-rete-rag/ai-rete-rag-mcp -->
TDQS
Scored across 8 tools
Each tool has a distinct role: decide runs the engine, list_rules and get_rule_source expose rule views in different formats (readable vs. editable YAML), put_rules and import_policy_rules handle rule authoring vs. drafting, ingest_text and list_documents manage knowledge, and get_usage tracks account limits. There is minor overlap between list_rules and get_rule_source, but their differing output formats make the purpose clear.
All tool names follow a consistent verb_noun snake_case pattern: decide, list_rules, ingest_text, list_documents, get_rule_source, put_rules, import_policy_rules, get_usage. Every name clearly indicates the action and the resource, with no mixing of styles or vague verbs.
With 8 tools, the set is well-scoped for a rules-and-RAG domain. It covers decision execution, rule inspection/authoring (including import), document management, and account usage without unnecessary bloat or missing critical pieces.
The surface covers the core lifecycle: rule viewing (list_rules, get_rule_source), rule creation/replacement (put_rules), rule drafting from policy (import_policy_rules), document ingestion/listing, and decision execution (decide). Minor gaps exist—no explicit delete for rules or documents—but put_rules can clear rules by replacing with an empty set, and document deletion is not essential for the primary workflow.