mcpField
R
ruleverdict

ruleverdict

本地服务
github.com/CloudCorpRecordsAI 与智能体01 周前更新

关于 ruleverdict

ruleverdict 是一个 MCP 服务,可依据领域规则对结构化事实或文本作出确定性判断,并提供文档依据的解释。它还支持查看、起草、发布和验证规则,以及查询用量。

主要功能

  1. 01基于规则的确定性判断
  2. 02提供文档依据的解释
  3. 03查看所需事实与规则
  4. 04根据政策文本起草规则
  5. 05导入并验证 YAML 规则集
  6. 06管理文档与用量

适用场景

  1. 01根据结构化事实判定案例
  2. 02查询领域决策所需输入
  3. 03将政策文档转为带引用的规则草案
  4. 04检查规则集和月度额度

MCP 相关

向 MCP 客户端提供决策、规则、文档和用量工具。它将请求转发至 ai-rete-rag 服务,并原样返回响应。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-ruleverdict": {
"command": "npx",
"args": [
"-y",
"@reneturcios/ruleverdict"
]
}
}
}
启动命令npx -y @reneturcios/ruleverdict

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/ruleverdict0.1.0
ocighcr.io/cloudcorprecords/ruleverdict:0.1.0

工具

9

收录的工具列表 · 更新于 1 周前

参数类型必填说明
textstring否本次调用的文本内容。
as_ofstring否按此日期评估(可选)。
factsobject否本次调用的事实载荷。
domainstring是此调用适用的域名。
pattern_01boolean否要评估的第一个模式。
pattern_02boolean否要评估的第二个模式。
fact_sourcesobject否事实来源(可选)。

详细介绍

ruleverdict

向规则引擎提问,而不是猜测。ruleverdict 是一个面向 ai-rete-rag 服务的小型 客户端。该服务使用确定性规则而非自由形式的模型 输出做出判断:你可以为某个领域传入结构化事实 和/或自由文本,判定结果来自该领域的规则 集,并附有规则所依据的文档作为解释。

除了做出判断,它还覆盖了领域的完整生命周期: 查看规则需要哪些事实、检查规则 本身、将规则下载为可编辑的 YAML、根据书面政策起草新 规则(每份草案都会引用其编码所依据的 句子,只有你确认后才会保存)、发布替换用的规则 集、将政策文本导入知识库,以及查看每月决策 额度。响应会原样返回服务 返回的内容:传递过程中不会删减、重命名或概括。

配置

两个环境变量用于控制客户端:

  • AI_RETE_RAG_API_KEY(可选)——设置后,会在 每个请求中以 Authorization: Bearer <key> 的形式发送。 不设置也不会报错:共享演示领域 无需密钥即可使用,而领域声明 缺失或额度耗尽等执行问题会作为错误从 API 返回, 不会在本地失败。
  • AI_RETE_RAG_API_URL(可选)——API 基础 URL。 默认为 https://ai-rete-rag.com(参见下文“端点 来源”)。

工具

  • decide —— 根据结构化 facts 和/或自由 text,对某个领域做出判断;判定结果来自 规则引擎,并附有以文档为依据的解释。 可选项:as_of(评估决策所依据的日期)、 fact_sources(每项事实的来源),以及检索模式标志 pattern_01(模式 01: 规则范围检索)和 pattern_02(模式 02: 将检索结果放入工作内存)。典型调用: decide(domain="loan", facts={...})。
  • get_parameters —— 列出某个领域的规则所依据的事实, 按决定性从高到低排序:调用 decide 前需要收集的内容。
  • list_rules —— 检查某个领域的规则:条件、 判定结果、显著性和重叠情况。
  • get_rule_source —— 获取某个领域的规则集,格式为 可编辑的 YAML。
  • import_policy_rules —— 将书面政策文档 转换为规则草案,每份草案都会引用其编码所依据的句子。 不会保存任何内容。
  • put_rules —— 使用 YAML 创建或替换某个领域的规则集; 传入 dry_run 可在不保存的情况下进行验证。
  • ingest_text —— 将政策文本添加到某个领域的 知识库,可选指定 effective_from/ effective_until 日期,或用 supersedes 指向 被替换的版本。
  • list_documents —— 浏览某个领域已导入的 文档。
  • get_usage —— 查看你的套餐和每月剩余 决策额度。

未设置的可选参数会完全从请求中省略。 上游返回非 2xx 响应时会报错 ai-rete-rag error: HTTP <status>;API 无法访问时会报错 ai-rete-rag unreachable。

端点来源

原项目的 README 指定了九个工具、经过验证的 decide 示例、Pattern 01 / Pattern 02 模式、两个环境变量名称、可选密钥的行为,以及试运行 / 不保存任何内容的工作流语义,但没有指定请求路径。以下路径均为重构推断,并已标注:

  • POST <base>/api/decide,参数作为 JSON 请求体(供 decide 使用)。
  • GET <base>/api/domains/{domain}/parameters(供 get_parameters 使用)。
  • GET <base>/api/domains/{domain}/rules(供 list_rules 使用)。
  • GET <base>/api/domains/{domain}/rules/source(供 get_rule_source 使用)。
  • POST <base>/api/domains/{domain}/rules/import,请求体为 {"text": "..."}(供 import_policy_rules 使用)。
  • PUT <base>/api/domains/{domain}/rules,请求体为 {"rules": "...", "dry_run": ...}(供 put_rules 使用)。
  • POST <base>/api/domains/{domain}/documents,请求体为 {"text": "...", ...}(供 ingest_text 使用)。
  • GET <base>/api/domains/{domain}/documents(供 list_documents 使用)。
  • GET <base>/api/usage(供 get_usage 使用)。

域名路径段会进行 URL 编码。

CLI

每个工具都是一个子命令,接收一个 JSON 参数字符串:

npx @reneturcios/ruleverdict decide '{"domain":"loan","facts":{"income":85000}}'
npx @reneturcios/ruleverdict get_parameters '{"domain":"loan"}'
npx @reneturcios/ruleverdict list_rules '{"domain":"loan"}'
npx @reneturcios/ruleverdict get_rule_source '{"domain":"loan"}'
npx @reneturcios/ruleverdict import_policy_rules '{"domain":"loan","text":"Loans need verified income."}'
npx @reneturcios/ruleverdict put_rules '{"domain":"loan","rules":"rules: []","dry_run":true}'
npx @reneturcios/ruleverdict ingest_text '{"domain":"loan","text":"Policy text"}'
npx @reneturcios/ruleverdict list_documents '{"domain":"loan"}'
npx @reneturcios/ruleverdict get_usage '{}'
npx @reneturcios/ruleverdict --version

输出为工具的结果文本(成功时为上游响应正文)。退出代码:成功时为 0,运行时错误时为 1,用法错误时为 2。

MCP 服务

npx -y @reneturcios/ruleverdict mcp

MCP 客户端配置(密钥为可选项;如果有密钥,请通过客户端的环境变量提供):

{
  "mcpServers": {
    "ruleverdict": {
      "command": "npx",
      "args": ["-y", "@reneturcios/ruleverdict", "mcp"],
      "env": {
        "AI_RETE_RAG_API_KEY": "<your key>"
      }
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/ruleverdict
docker run --rm ghcr.io/cloudcorprecords/ruleverdict get_usage '{}'

开发

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev     # run the CLI from source

许可证

MIT — 版权所有 (c) 2026 Rene Turcios

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。