ai·rete·rag

com.ai-rete-rag由 ai-rete-rag.com 發布官方發布者v0.11.0更新於 Oct 24, 2026

Author rules from policy docs, then decide: a Rete engine gives the verdict, an LLM explains why.

已驗證Streamable HTTP可網頁執行效率與工作流知識與記憶

概覽

AI 產生的概覽

ai·rete·rag 的遠端或本機 MCP 伺服器,讓助理在某個領域內依規則引擎做出決策,並用已匯入的政策文件解釋理由。

可以做什麼
在領域內依結構化事實或自由文字做出決策,結論來自規則引擎,解釋則根據政策文件,並可依較早日期讀取當時生效的政策。檢視規則與參數:列出規則的條件與結論、以 YAML 取得規則集、查看某領域規則所依據的輸入事實。撰寫規則:把政策文件轉成附引用的草稿規則,再驗證或從 YAML 儲存規則集。管理知識庫:匯入政策文字(可標註生效日期或取代舊版本),並列出已匯入的文件。查看方案與每月剩餘決策額度。
適用情境
適合決策必須依書面政策、可重現且可稽核的情境,例如貸款、詐欺或臨床類判定,並希望助理先蒐集正確事實、執行決策並引用依據的政策。
執行需求
可使用託管端點,或以 uvx 或 pip 從 PyPI 套件 ai-rete-rag-mcp 在本機執行。使用自己的帳號與額度需要 API 金鑰,透過 AI_RETE_RAG_API_KEY 或 Authorization bearer 標頭提供;沒有金鑰時只能使用共享示範領域。AI_RETE_RAG_API_URL 可覆寫 API 基礎位址。需要能連線至該服務的網路。
安裝前請注意
API 金鑰是僅顯示一次的機密,並與方案額度綁定,請勿放入共享設定。寫入類工具會在您的帳號中建立或取代規則集、匯入文件,建立新領域會將其歸屬到您的帳號並受方案限制。匯入的草稿規則由 LLM 輔助產生,儲存前應人工審閱。每次決策會消耗每月額度。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 ai·rete·rag,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.ai-rete-rag%2Fai-rete-rag-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "ai-rete-rag": {
      "type": "http",
      "url": "https://ai-rete-rag.com/mcp"
    }
  }
}

README

ai·rete·rag MCP Server

Use ai·rete·rag — 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

ToolWhat it does
decideMake 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). as_of reads the policy documents in force on an earlier day
get_parametersThe facts a domain's rules decide on (from your account's own rules), most decisive first — what to collect before decide
list_rulesInspect a domain's rules — conditions, verdicts, salience, overlaps
get_rule_sourceFetch a domain's rule set as editable YAML
import_policy_rulesTurn a written policy document into draft rules, each citing the sentence it encodes (nothing is saved — review, then put_rules)
put_rulesCreate or replace a domain's rule set from YAML (dry_run to validate)
ingest_textAdd policy text to a domain's knowledge base, optionally dated (effective_from, effective_until) or replacing an earlier version (supersedes)
list_documentsBrowse a domain's ingested documents
get_usageCheck your plan and remaining monthly decision quota

Prompt: decide_case

An agent workflow for deciding a case in any domain on your account, including your own: it calls get_parameters to learn which facts the rules decide on, reads the case — text, photos, document scans, voice notes or video (the agent reads the media itself; the API only receives the facts) — maps it onto those exact fields, calls decide with fact_sources recording which file each fact came from (kept in the decision's audit trail), and — while the result's missing_parameters is non-empty (facts that could still change the verdict) — asks you for them, most decisive first, and decides again. The verdict always comes from the rules.

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.

URLAuthReaches
https://ai-rete-rag.com/mcp/authSign in with Google, once, in the browserYour account — your domains, your plan quota
https://ai-rete-rag.com/mcpNone, 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 — 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 PyPIpip install .                       # or from source, in this repo

Configure

First create an API key: sign in at 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:

VariableDefaultPurpose
AI_RETE_RAG_API_KEY(none)Your API key — authenticates calls and ties them to your plan quota
AI_RETE_RAG_API_URLhttps://ai-rete-rag.comAPI 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.

來源:README.md,提交 76d3d08

工具

9

decide

Make a decision

Make a deterministic, auditable decision in a domain. The verdict comes from the domain's rule set (Rete engine, never the LLM), so it is reproducible and compliant. The explanation is generated from the domain's ingested policy documents. Without an API key only the shared demo domains are available, and the response carries `next_step`: how to get a free key for your own rules. Pass that on to the user rather than dropping it. Args: domain: Rule-set domain, e.g. "loan", "fraud", "clinical". query: Natural-language question or decision request. facts: Structured facts for working memory, e.g. {"credit_score": 710, "annual_income": 85000}. Use `get_parameters` to see which fields a domain's rules test. Facts you read yourself from photos, document scans, voice notes or video go here, under those field names; explicit facts always win over anything extracted server-side. fact_sources: Where each fact in `facts` came from, e.g. {"monthly_income": "payslip.jpg", "claim_usd": "voice note 1"}. Always set this for facts you read from a file, photo, recording or video: it is stored in the decision's audit record so a reviewer can tell typed facts from ones read off evidence. Facts without a source are recorded as "request". as_of: Read the domain's policy documents as of this day, as YYYY-MM-DD (default: today). Use the date a case was filed to decide it under the policy in force then; the rules themselves are always the current ones. unstructured_text: Optional free text (an application, a case note, a voice-note transcript, what a photo or video shows); facts are extracted from it automatically and merged. response_mode: "verdict_only" (fastest), "verdict_with_explanation", or "full_audit" (every rule evaluation + retrieved chunks, available on every plan including the free tier). rule_firings come

輸入參數as_offactsquery必填domain必填fact_sourcesresponse_modeunstructured_textextract_from_retrievalfilter_retrieval_with_rules

list_rules

List rules

List the decision rules for one domain (or all domains). Returns each rule's conditions — either a flat AND list (field / operator / value) or a `when` condition tree (nested all/any/not) — plus its verdict, salience, and any asserted facts (`action.assert`, the facts a rule produces for other rules to consume). `edges` lists the derived rule→rule dependencies: src asserts a fact type that dst's conditions test (forward chaining). Each rule may also carry `citation` — the policy sentence it encodes — which is what lets a decision be traced back to the source clause. Also includes overlap warnings. Use this to learn which fact fields a domain expects before calling `decide`.

輸入參數domain

get_parameters

Get decision parameters

List the input parameters a domain's rules decide on — the facts to collect before calling `decide`. Derived from your account's own copy of the rules, so it covers your custom domains too. Each parameter has its `field` name (the key to use in `facts`), `kind` (number / boolean / string), the `tests` rules make on it (e.g. >= 720 — match these units and scales), the `rules` and `verdicts` it can lead to, and `max_salience`. Parameters come most decisive first: those feeding the highest-salience rules, which win when several rules fire. Also returns every verdict the domain can reach.

輸入參數domain必填

ingest_text

Ingest policy text

Add policy/reference text to a domain's knowledge base. The text is chunked and embedded; explanations for future decisions in this domain will cite it. Creating a new domain claims it for your account (plan limits apply). Ingesting into a built-in demo domain gives your account its own copy of that demo (it counts as one of your domains); the shared demo others see is unchanged. On team plans, only the domain admin (the member who created the domain, or the subscription owner) can add documents. Documents can be dated. A decision only cites documents in force on its date, so a replaced policy is never quoted for a new decision. To publish a new version, ingest it under a new `source` with `supersedes` naming the old one: the old document stops applying on the new one's `effective_from` (today if not given), and the new one starts that day. A document can be superseded only once; to replace a successor, supersede the successor. Args: domain: Domain to ingest into (existing or new). text: The policy or reference text. source: Optional source name shown in the document list. effective_from: First day this document applies, as YYYY-MM-DD (default: always). effective_until: First day it no longer applies, as YYYY-MM-DD (default: no end). supersedes: Source name of the document this one replaces.

輸入參數text必填domain必填sourcesupersedeseffective_fromeffective_until

list_documents

List documents

List the documents ingested into a domain's knowledge base.

輸入參數domain必填

get_rule_source

Get rule source (YAML)

Fetch a domain's rule set as editable YAML (plus the parsed rules and whether you may edit it). Use this before `put_rules` to see the current rules. For a built-in demo domain you get your own copy's rules once you have edited it, otherwise the shared demo's.

輸入參數domain必填

put_rules

Save rules

Create or replace a domain's rule set from YAML (self-serve rule authoring). The first save to a new domain claims it for your account (plan limits apply). Saving to a built-in demo domain saves your own copy of it, seeded from the demo; the shared demo others see is unchanged. Rules are validated before saving — set dry_run=true to validate without persisting. The response reports ok/errors, the parsed rules, and any overlap warnings. YAML format — a list of rules. Flat form (conditions are AND-ed): - name: "Approve" salience: 10 conditions: - type: loan field: credit_score op: ">=" value: 700 action: verdict: "APPROVED" reason: "Credit score meets threshold" Tree form — `when:` holds nested all/any/not condition groups, and an action may assert derived facts that other rules consume (forward chaining; the rule graph derives from these automatically): - name: "Sepsis Screen" salience: 30 when: all: - {type: clinical, field: temperature_f, op: ">=", value: 101.5} - any: - {type: clinical, field: wbc_count, op: ">", value: 12.0} - {type: clinical, field: bands_pct, op: ">", value: 10} action: verdict: "URGENT_ALERT" assert: - {type: sepsis_flag, fields: {severity: high}} - name: "Escalate" salience: 40 when: all: - {type: sepsis_flag, field: severity, op: "==", value: high} - {type: clinical, field: age, op: ">=", value: 65} action: verdict: "ADMIT_ICU" Use either `conditions:` or `when:` per rule, never both. `not` passes when the inner condition does not hold (including when the field is absent). Produce/consume cycles between rules are rejected at validation. An action may also carry `retrieval_scope: { <key>: <value> }` to narrow which documents retrieval searches (Pattern 01). A rule may also carry `citation:` — the policy

輸入參數domain必填dry_runrules_yaml必填

import_policy_rules

Draft rules from a policy

Convert a written policy document into DRAFT decision rules (LLM-assisted). Returns validated draft rules (when/action, including chained asserts where the policy stages its determinations), derived rule→rule edges, and overlap warnings. Each returned rule carries a `citation` field holding the policy sentence it encodes (also summarized in the top-level `citations` map). Coverage runs the other way too: `uncovered_sentences` lists policy sentences no rule's citation points back to (out of `policy_sentence_count`), and `unverified_citations` names rules whose quote is missing or not found verbatim in the policy. Show both to the user: an uncovered sentence may need a rule; an unverified one may be a paraphrase that misstates the policy. `background_sentences` is the subset of uncovered sentences with no obligation language (definitions, preamble); lead with the others, but mention these too, since the split is a keyword heuristic. NOTHING IS SAVED: review the drafts (and show them to the user), then persist explicitly with `put_rules` — validate first with dry_run=true, and keep each rule's `citation` in the YAML you save so the audit trail back to the policy survives. Args: domain: Domain the rules are drafted for (an owned domain or a new name). policy_text: The policy document text (max ~50k characters).

輸入參數domain必填policy_text必填

get_usage

Check usage and quota

Show this account's decision usage, plan, and remaining monthly quota.

無需輸入參數。

版本歷史

5
  1. v0.11.0最新Oct 17, 2026
  2. v0.10.0Oct 10, 2026
  3. v0.9.0Oct 3, 2026
  4. v0.8.0Sep 29, 2026
  5. v0.7.0Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Ai-Rete-Rag 整合