mcpField
R
Redra

Redra

远程服务
redra.ai法律与政务010 周前更新

关于 Redra

Redra 是用于搜索当前集体诉讼和解记录的开源 MCP 服务,可通过关键词和结构化筛选识别可能匹配项。它支持托管服务或搭配本地数据集自托管;搜索结果只是线索,不构成资格判定或法律建议。

主要功能

  1. 01关键词与结构化筛选搜索
  2. 02批量执行最多 50 个独立搜索
  3. 03获取含官方来源链接的记录
  4. 04报告数据来源与更新时间
  5. 05支持托管或自托管部署

适用场景

  1. 01查找与产品或服务相关的和解
  2. 02按州或截止日期筛查可能匹配项
  3. 03查看潜在线索的官方申领链接

MCP 相关

Redra 向 MCP 客户端提供和解搜索、批量搜索、记录获取和数据集信息工具。客户端可连接托管的 Streamable HTTP 端点,也可通过 stdio 或 Streamable HTTP 运行本地服务。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.redra.ai/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

5
参数类型必填说明
limitinteger否返回记录的最大数量,范围为 1 到 50。
stateany否可选的美国两字母邮政州缩写,例如 CA。
statusenum否公开生命周期筛选条件:open 或 upcoming。默认为 open。Upcoming 记录尚不可申领,必须作为单独的关注列表呈现。open | upcoming
keywordsany否针对特定公司、品牌、产品、雇主、服务或事件的必填逻辑 AND 词项。替代项请使用单独的查询,并使用 settlement_type 进行分类。
deadline_afterany否包含此 ISO 8601 日期当天或之后的截止日期。
proof_requiredany否是否需要证明:yes、no 或 unknown。
deadline_beforeany否包含此 ISO 8601 日期当天或之前的截止日期。
settlement_typeany否精确的和解分类筛选条件。对于数据泄露、隐私、退款、金融费用或消费品等类型概念,优先使用此筛选条件,而非关键词。

详细介绍

Redra

Redra MCP

Redra 是一个开源的 Model Context Protocol 服务,用于搜索最新的集体诉讼和解记录。它适用于任何 MCP 客户端,并支持两种部署方式:

  1. 使用托管的 Redra MCP 和数据集(推荐)。
  2. 自托管 MCP 和 Redra 已发布数据集的本地副本。

Redra 可识别可能匹配的关键词。它不会判定法律资格、提交索赔或提供法律建议。

数据来源和许可

在技术测试阶段,本地模式默认使用公开的 SettleSignal JSON 数据源:https://settlesignal.com/data/settlements.json。SettleSignal 将其Hugging Face 数据集卡片标记为官方档案,该卡片依据 CC BY 4.0 授予数据源公开字段的许可。Redra 会保留来源署名和链接,同时对字段进行规范化,并添加派生的生命周期和质量元数据。

Redra 还支持其独立整理的、采用内容寻址的 open 和 upcoming 发布格式。该发布目前仍处于受限的影子测试阶段;在通过上线检查前,它不会成为全新安装的默认选项。每条导入的独立记录都必须具备独立的发现溯源信息和 A 级或 B 级来源凭证。验证失败时,先前的本地快照会保持不变。

open 记录具有当前可用的申请入口。upcoming 记录需要有未来索赔窗口的证据,但目前没有索赔表单。此类记录仅作为关注列表公开,并从开放记录数和可申领金额总额中排除。规范化后的事实汇编依据 CC BY 4.0 发布。搜索结果会保留官方来源链接,并注明来源和变更归属。详见 NOTICE.md。

数据提供方是显式指定的,绝不会根据下载的数据推断。设置 REDRA_DATASET_PROVIDER=independent 以使用 Redra 的发布数据;在过渡期间,也可以将其保留为 settlesignal。REDRA_DATASET_URL 可覆盖所选提供方的默认 URL。

本仓库不包含任何和解数据。

托管服务(公开预览)

该项目目前运营以下可选的公共服务:

  • 网站:https://redra.ai/
  • 文档:https://redra.ai/docs
  • 托管 MCP:https://mcp.redra.ai/mcp
  • 隐私政策:https://redra.ai/privacy

托管 MCP 背后的运营数据库为私有数据库,没有公共 Fly 路由,只能由托管 MCP 通过经过身份验证的内部网络访问。当前 MCP 无需用户 API 密钥。它不设每 IP 配额,因为托管式 AI 客户端可能会通过共享网络地址为许多互不相关的用户发送请求。服务以尽力而为的方式提供,不保证正常运行时间、完整性或是否符合资格。

Redra 应用不会持久化提示词、个人资料数据或 MCP 工具参数。托管 MCP 只会接收工具参数,不会接收 Agent 的完整对话。托管基础设施可能会在短期访问日志中保留常规运营元数据,例如时间戳和请求路径。托管 MCP 会存储每个网络来源 IP 地址及其 MCP 工作单元累计数,以便统计整体用量;批次中的每个项目都会单独计数。网络来源可能是共享的服务提供商基础设施,不会被视为 Redra 用户身份或配额密钥。搜索词和工具参数不会与该计数器关联。可自托管的 Redra 不会启用此托管用量计数器。

选项 1:托管 MCP 和数据集(推荐)

将支持 Streamable HTTP 的 MCP 客户端连接到 Redra 服务公布的 URL,目前为:

https://mcp.redra.ai/mcp

无需本地进程或数据集。

选项 2:自托管 MCP 和数据集

需要 Python 3.11 或更高版本。克隆并安装 Redra:

git clone https://github.com/sacrosaunt/Redra.git
cd Redra
python -m venv .venv
source .venv/bin/activate
pip install -e .

项目固定使用官方 Python MCP SDK 当前稳定的 v1 系列版本,即 mcp>=1.27,<2。构建此版本时,版本 2 仍处于预发布阶段。

下载和解数据集并启动本地 MCP:

export REDRA_DATABASE_PATH="$PWD/data/settlements.db"
redra-mcp dataset update
redra-mcp serve --transport stdio

更新采用事务方式:如果下载失败或源数据无效,之前的 SQLite 数据集会保持不变。要自动更新本地数据集:

redra-mcp dataset watch --interval-hours 24

此操作会立即更新一次,之后每 24 小时更新一次。此操作为可选项;自托管用户也可以通过现有的 cron 系统调用 dataset update。

要通过 Streamable HTTP 暴露本地 MCP:

export REDRA_PORT=8000
redra-mcp serve --transport streamable-http

MCP 端点为 /mcp,默认绑定到 127.0.0.1。

**网络安全:**Redra 的 HTTP 传输不提供身份验证或 TLS。除非访问受到可信的、经过身份验证的反向代理、防火墙或私有网络保护,否则请勿将其绑定到 0.0.0.0 或直接公开 8000 端口。

Docker

启动服务及其每日更新程序:

docker compose up --build

更新程序和 MCP 共用 SQLite 卷。如果刷新失败,MCP 仍可正常使用,之前的有效快照也会保留。Compose 仅在主机环回接口 127.0.0.1:8000 上发布 MCP。

MCP 工具

  • search_settlements:关键词和结构化筛选搜索。
  • search_settlements_batch:在一次 MCP 调用中运行最多 50 个相互独立的搜索,且不改变每个查询关键词的逻辑与关系。跨查询的记录会去重,matched_query_indices 会保留找到每条记录的所有搜索角度。
  • get_settlement:获取一条记录及其官方来源链接;如果可以浏览,还会引导 Agent 核实完整的资格条款。
  • get_settlements:在 Agent 撰写回答前,一次性获取最多 20 条最终候选记录。
  • get_dataset_info:报告来源、许可证、新鲜度和数量。

托管提供方还会在数据集信息中返回缓存的可申领金额概览。该金额仅根据明确标记为计入可申领总额的记录计算。即将开始的记录不会计入。自托管提供方可以在同一 extra 对象中返回其他提供方特有的汇总指标。

搜索行为

keywords 中的每个项目都是必需条件(逻辑与)。对于无关的公司、产品或替代词,Agent 应在 search_settlements_batch 中使用相互独立的查询对象。这样既能保留每个查询的含义,也能避免进行一长串 MCP 往返调用。

批量搜索会使用 max_total_results 限制所有查询返回的唯一记录数,该参数默认为 50,最高可设为 100。此上限不会减少执行的搜索次数。查询摘要会报告每个查询的匹配总数、采样数、返回的 ID 和省略的采样数;唯一记录只会在顶层 items 列表中出现一次。

对于广泛的资格扫描,MCP 会引导 Agent 根据客户端提供的上下文中提取的信息,广泛搜索可能相关的品牌、别名、母公司、子公司、服务、购买、费用和事件。还会考虑与资格相关的人口统计角度,例如州、年龄组、职业、学生或退伍军人身份、父母或监护人身份,以及住房或家庭状况。

回忆或推断出的关联只能作为查询候选,并非事实或资格判定;查询不得包含可识别个人身份的信息。仅凭类别或人口统计关联,不足以认定结果匹配。 对于每个可能符合条件的结果,具备网页访问能力的 Agent 都会被要求查看官方和解或索赔页面,核实群体定义、符合条件的日期、产品或服务、地域限制、除外情形、证明要求和截止日期。Agent 只能将已确认的条款与用户提供的上下文进行比较。撰写最终答复之前,Agent 会使用 get_settlement 或 get_settlements 获取每个入围结果的完整存储记录。可能符合条件的结果会以简洁的线索卡片呈现,说明其出现的原因、已确认的匹配条款、重要的未知信息、截止日期、赔付金额、证明要求,以及字段可用时提供的官方链接。先按证据强度排序,再考虑紧迫性,并使用 Notice found、Strong possible match 和 Needs your confirmation 等标签;临近的截止日期仍会醒目显示。

直接通知是有力证据,但不能证明满足所有群体条件。如果某个未知信息可能改变建议,Agent 会在建议采取行动前提出一个有针对性的非敏感后续问题。进度中提到的候选项会在最终答复中明确说明处理结果;纯粹按类别或人口特征筛出的候选项不会列入行动清单,除非用户要求穷尽追踪。

Agent 会先搜索和调查,再询问更多信息。如果非敏感答案能显著帮助厘清线索,Agent 会优先使用客户端原生的结构化提问或问题卡片界面。不支持该界面的客户端则会改为在聊天中直接提出相同的针对性问题。问题应说明答案为何重要,在适当情况下提供 Not sure 或 Skip 选项,并且绝不索取身份信息或敏感信息。

不具备网页浏览能力的 Agent 必须说明无法独立核实完整条款,不得猜测,并引导用户访问官方链接。

索赔的 status 默认为 open。公共 MCP 仅支持 open 和 upcoming。如果广泛搜索公开索赔未找到可信线索,或只找到薄弱线索,Agent 可以针对与用户最相关的角度进行重点 upcoming 搜索。即将开放的记录尚不可索赔,会作为单独的关注清单呈现,且不计入当前索赔数量和金额总计。历史、付款及不确定的生命周期状态仅供内部使用,不会作为公开搜索选项提供。

服务提供方不透明的验证等级不会作为搜索筛选条件,但会作为 source_verification_status 保留在结果中,以提高透明度。Redra 还会返回客观字段 source_kind、source_checked_at、claim_url_available、claimability 和 quality_flags。如果截止日期足以确定生命周期状态,系统会将 Verified record 之类的来源标签转换为开放或已关闭状态。

按类型搜索时,请使用精确的 settlement_type 筛选条件,而不是关键词:class_action_settlement、consumer_product_settlement、data_breach_settlement、financial_fee_settlement、government_refund、other_consumer_compensation、privacy_settlement、regulatory_compensation_program 或 state_ag_refund。关键词搜索有意不检索 settlement_type 字段。

其他筛选条件包括州、证明要求、截止日期范围和结果数量上限。空的 applicable_states 列表按全国范围处理。

环境变量

变量用途默认值
REDRA_DATABASE_PATH本地 SQLite 数据库平台数据目录
REDRA_DATASET_PROVIDER数据集协议:settlesignal 或 independentsettlesignal
REDRA_DATASET_URL所选提供方的 URL 覆盖值提供方特定的默认值
REDRA_REQUEST_TIMEOUTHTTP 超时时间(秒)20
REDRA_HOSTStreamable HTTP 绑定地址127.0.0.1
REDRA_PORT / PORTStreamable HTTP 端口8000
REDRA_RATE_LIMIT_PER_HOUR每个 IP 允许的 Streamable HTTP 请求数;0 表示禁用0
REDRA_TRUST_FLY_HEADERS信任 Fly 的客户端 IP 标头false
REDRA_MAX_CONCURRENT_REQUESTS最大在途 HTTP 请求数;0 表示禁用0
REDRA_MAX_REQUEST_BODY_BYTESStreamable HTTP 请求正文的最大大小;0 表示禁用1048576
REDRA_SEARCH_CACHE_TTL_SECONDS进程内规范化搜索缓存的存续时间;0 表示禁用30
REDRA_SEARCH_CACHE_MAX_ENTRIES进程内搜索缓存条目数上限;0 表示禁用512

默认情况下,每 IP 速率限制处于禁用状态。不要在 ChatGPT、Claude 或其他托管客户端后将其用作用户级配额,因为互不相关的用户可能共用提供方的出口地址。了解其直接网络拓扑的运营者仍可显式启用此功能。系统绝不信任任意的 X-Forwarded-For 值。本地 stdio 模式始终不受速率限制。

只有当进程实际位于 Fly 受信任的代理路径后方时,才启用 REDRA_TRUST_FLY_HEADERS。在任意代理后方启用此选项,可能导致客户端伪造用于速率限制的地址。

托管 MCP 则使用有界请求正文、并发上限、针对相同规范化搜索的短时有界缓存,以及针对总工作单元数的集中式紧急上限。批处理中的每个项目都单独计入该上限。缓存键是每个进程独有的密钥摘要,缓存值包含公开的结算结果,而非提交的查询参数。紧急上限是服务级断路器,而非用户配额。其数据集服务不向公众调用者开放,并采用独立的内部并发保护。

隐私与安全

请勿提交姓名、电子邮件地址、街道地址、账号、健康详情、理赔标识符或其他可识别个人身份的信息。请使用品牌、产品、雇主、服务、事件、日期范围和州等信息进行搜索。请务必在用户提供理赔信息前,引导其联系官方管理方。托管服务的设计不会持久化提示词、用户档案或工具参数;如需控制完整请求路径,请自行托管 MCP 和数据集。

开发

pip install -e '.[dev]'
pytest

请按照 SECURITY.md 中的说明私下报告漏洞。

评论

支持 Markdown

第一次接触 MCP?

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

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