关于 ruleverdict
ruleverdict 是一个 MCP 服务,可依据领域规则对结构化事实或文本作出确定性判断,并提供文档依据的解释。它还支持查看、起草、发布和验证规则,以及查询用量。
主要功能
- 01基于规则的确定性判断
- 02提供文档依据的解释
- 03查看所需事实与规则
- 04根据政策文本起草规则
- 05导入并验证 YAML 规则集
- 06管理文档与用量
适用场景
- 01根据结构化事实判定案例
- 02查询领域决策所需输入
- 03将政策文档转为带引用的规则草案
- 04检查规则集和月度额度
MCP 相关
向 MCP 客户端提供决策、规则、文档和用量工具。它将请求转发至 ai-rete-rag 服务,并原样返回响应。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
9收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| text | string | 否 | 本次调用的文本内容。 |
| as_of | string | 否 | 按此日期评估(可选)。 |
| facts | object | 否 | 本次调用的事实载荷。 |
| domain | string | 是 | 此调用适用的域名。 |
| pattern_01 | boolean | 否 | 要评估的第一个模式。 |
| pattern_02 | boolean | 否 | 要评估的第二个模式。 |
| fact_sources | object | 否 | 事实来源(可选)。 |
详细介绍
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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。