mcpField
D
DAP Bellwether

DAP Bellwether

远程服务
bellwether.dap.solutions法律与政务014 周前更新

关于 DAP Bellwether

DAP Bellwether 是面向金融监管与合规研究的公开监管动态 MCP 服务,汇集加拿大、美国、英国和欧盟监管机构的发布内容。它保留采集后的历史状态,可显示文档修订及先前文本;覆盖范围和数据新鲜度可查询。

主要功能

  1. 01汇总四个辖区的监管发布
  2. 02检测已采集文档的修订
  3. 03提供主题与近期动态搜索
  4. 04查询监管机构及覆盖状态
  5. 05所有工具均为只读

适用场景

  1. 01跟踪特定主题的监管动态
  2. 02查看监管文件发布后的修订
  3. 03核实监控范围和数据新鲜度

MCP 相关

它向 MCP 客户端提供四个只读工具,用于搜索监管动态、读取记录及修订、查看监控覆盖范围。服务读取定期采集并存入 D1 的数据,不在用户请求时访问监管机构。

配置

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

服务地址https://bellwether.dap.solutions/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 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

4
参数类型必填说明
limitinteger否返回的记录数量上限。
querystring否与标题和摘要匹配的关键词,例如 "liquidity" 或 "crypto-asset"。
sincestring否ISO 8601 日期或时间戳。仅包含在此日期或之后发布的项目。
untilstring否ISO 8601 日期或时间戳。仅包含在此日期或之前发布的项目。
categoryenum否限制为一种公告类型。rules | enforcement | guidance | news
regulatorstring否按简称限制为一个监管机构,例如 OSFI、SEC、FCA、ESMA。
jurisdictionenum否限制为一个司法管辖区。CA | US | UK | EU

详细介绍

DAP Bellwether

面向加拿大、美国、英国和欧盟金融监管机构的免费监管变化信息流,以 MCP 连接器的形式提供。

无需账户。无需密钥。无需席位许可证。粘贴 URL 即可使用。

由多伦多的 Dartmouth Advisory Partners 构建并维护。

功能

Bellwether 收集金融监管机构发布的信息,将其规范化为统一的记录格式,并通过一组只读工具提供给任何 MCP 客户端。它会保留先前状态,因此可以告知你某份文件在发布后经过修订,以及之前的文本内容。这就是检测变化与展示列表之间的区别。

覆盖范围从服务首次收集各信息源时开始。它并非完整的历史档案;工具会明确说明这一点,而不会让没有结果看起来像是没有相关监管规定。

这是一项公共信息服务,不构成法律或合规建议。

使用方法

在 Claude 中将该服务添加为自定义连接器:

https://bellwether.dap.solutions/mcp
  1. 在 Claude 中打开 Customize,然后选择 Connectors。
  2. 点击 Connectors 旁边的加号按钮,选择 add custom connector。
  3. 为其命名,粘贴上方的 URL,然后点击 Add。
  4. 在聊天中,点击加号按钮,将鼠标悬停在 Connectors 上,然后将其切换为开启。

无需进行身份验证,也无需配置任何内容。添加连接器并不会自动将其启用,因此最后一步很重要。免费计划用户最多只能添加一个自定义连接器,这也是值得争取在 Connectors Directory 上架的原因之一。目前尚未提交申请。对于 Team 和 Enterprise 计划,所有者需要先为组织添加该连接器。

Worker 也会在 https://dap-bellwether.dap-solutions.workers.dev/mcp 上响应,此地址作为备用地址保持启用,且提供完全相同的响应。请提供 bellwether.dap-solutions 地址。

工具
工具可查询内容
search_regulatory_changes监管机构就此主题或在此时间范围内发布了哪些内容
recent_regulatory_changes所有监管机构有哪些最新发布
get_regulatory_change完整记录,以及首次收集以来观察到的每次修订
list_coverage监控范围,以及各信息源的最新更新时间

这四项工具均为只读,没有写入功能。

覆盖范围

加拿大:OSFI、OSC。
美国:SEC(新闻稿,以及通过 Federal Register 发布的拟议规则和最终规则)、FINRA、CFTC。
英国:FCA。
欧盟:ESMA、EBA。

实时列表始终以 list_coverage 的返回结果为准,因为无法通过验证的信息源会被禁用,而不是继续显示。

已于 2026-07-24 根据实时网站核验。以下三个监管机构有意不纳入:

  • CIRO 会对自动化客户端的所有地址(包括网站根目录)返回 403,因此没有可收集的内容。
  • TPR 不提供 RSS 信息流。
  • EIOPA 不提供 RSS 信息流。

将它们列为未监控,而不是悄悄省略,因为 list_coverage 的意义在于,用户可以相信没有结果就代表没有发布内容。

有两个限制值得注意:

  • ESMA 不会为其条目提供日期。 这些记录按 Bellwether 首次收集的时间排序;每条结果都会注明这一点,而不会在应显示发布日期的位置显示收集日期。它们首次出现时,会有一批条目在同一天收集。
  • 英国的覆盖范围仅依赖 FCA。 如果该信息流发生故障,该司法辖区的覆盖就会中断,list_coverage 也会显示这一情况。

架构

cron (every 6h) -> ingest -> normalise -> hash -> D1
                                                  |
                              MCP tools <---------+

定时任务会拉取每个订阅源,将 RSS 2.0、RSS 1.0(RDF)和 Atom 规范化为统一的记录格式,对内容进行哈希,然后写入 D1。MCP 工具只从 D1 读取数据,不会在用户请求期间调用监管机构。

这种分离是刻意设计的。如果工具按需抓取监管机构的数据,那么每次服务中断、速率限制或订阅源停用,都会导致用户面前的连接器失效;而且没有之前的状态可供比较,因此实际上无法检测到任何变化。

摄取期间,各个数据源彼此隔离。某个监管机构发生故障时,系统会将其记录在对应的数据源上,并通过 list_coverage 报告;其余任务会继续执行。

选择说明
  • 不需要身份验证。 整个服务提供的都是公开监管资料。没有需要保护的内容,也没有用户可以损坏的内容;跳过 OAuth 可消除目录审核中最大的摩擦来源。
  • 选择 D1,而不是 Postgres。 数据存储位于同一个 Worker 中,无需外部凭据,也不会向外发送数据。对于免费的公开只读服务,组件越少越好。
  • MCP 层直接基于 JSON-RPC 编写。 参考 SDK 的 HTTP 传输需要 Node 请求和响应对象,而 Workers 的实现需要 Durable Objects 来保存会话状态。只读服务没有值得保留的会话状态,因此采用规范已允许的无状态 JSON 模式更简单,也更不容易出问题。
  • 关键词搜索使用 LIKE,而不是 FTS5。 对于这些订阅源产生的数据量,结合管辖区和日期索引的 LIKE 查询速度足够快,也无需在内容修订时同步维护 FTS 索引。如果语料量增长一个数量级,值得重新评估。

部署

npm install
npm test                     # 50 tests, no network required
npm run verify:sources       # confirms every feed endpoint is live, requires network

首次部署前,以及注册表发生任何变更后,都必须确保 verify:sources 通过。它会检查每个订阅源是否可访问、能否解析、是否包含近期条目和日期。后两项比听起来更重要:首次检查这个注册表时,有两个订阅源虽然通过了检查,但实际情况并非如此——一个 SEC 订阅源返回 200,但自 2023 年起就没有更新;一个 FCA 订阅源返回 20 个条目,却没有可解析的日期。如果检查只确认是否收到文档,这两个订阅源都会被当作正常数据覆盖部署上线。

任何未通过检查的订阅源都必须修正,或设置为 enabled: false。对于确实很少更新或确实不带日期的订阅源,注册表条目上会明确标记例外,因此每次运行都会记录并报告该例外,而不是为所有订阅源降低检查门槛。

然后:

npx wrangler d1 create bellwether        # paste database_id into wrangler.toml
npm run db:migrate                       # applies schema.sql to the remote D1
npx wrangler deploy
npx wrangler d1 execute bellwether --remote --command "SELECT COUNT(*) FROM changes"

首次摄取会在下一个 cron 触发时运行。若要立即针对已部署的数据库触发一次,而不必等待最长 6 小时:

npx wrangler dev --remote --test-scheduled     # then, in another shell:
curl "http://localhost:8790/__scheduled?cron=0+*/6+*+*+*"

请使用 --remote,而不是直接运行 wrangler dev。本地 workerd 无法连接所有监管机构:在本地连接 OSFI 和 CFTC 时,都会出现与请求头无关的连接错误;但从 Cloudflare 网络访问时则可以成功。因此,本地运行会低估数据覆盖范围,并误报数据源故障。

验证是否正常运行
curl https://bellwether.dap.solutions/health

curl -X POST https://bellwether.dap.solutions/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

/health 会报告记录数、受监控的订阅源数量,以及当前发生故障的订阅源。

两个主机名应返回字节完全相同的输出。如果自定义域名访问失败,而 workers.dev 后备地址正常响应,问题出在 DNS 或证书,而不是 Worker。

添加监管机构

在 src/sources.js 的 SOURCES 中添加一条记录,运行 npm run verify:sources,然后部署即可。其他内容都无需更改:解析器会处理这三种订阅源格式,工具会读取存储中的所有数据。

隐私政策

此连接器不收集任何个人数据。本页面在不使用 Cookie 或标识符的情况下统计访问量。

本节与首页上 src/landing.js 中呈现的隐私部分保持逐字一致。修改一处时,也要修改另一处。

  • 存储的内容。 仅存储从监管机构官方网站获取的监管文件:标题、链接、摘要、发布日期和修订历史。数据库中不会写入任何类型的用户数据。
  • 接收的内容。 工具调用会以搜索参数的形式传入,例如关键词或司法管辖区。这些参数仅用于响应请求,不会被存储、记录到持久化存储中,也不会与任何身份关联。
  • 账户。 本服务没有账户。服务不提供身份验证,因此不会持有凭据、电子邮件地址或标识符。
  • 分析。 本页面使用 Cloudflare Web Analytics,这是一项不使用 Cookie 的测量服务。它会记录浏览的页面、引荐链接、浏览器和操作系统、大致所在国家/地区以及页面加载时间。它不会设置 Cookie,也不会向你的设备写入任何内容。访问者的 IP 地址用于推算所在国家/地区,服务不会存储这些地址。/mcp 上的连接器端点不会加载信标,因此工具调用不会产生任何分析数据。
  • 与第三方共享。 监管数据不会被出售、共享或转移。本页面不会加载第三方字体、广告或跨站跟踪器。它发出的唯一第三方请求是上述分析信标。
  • 保留期限。 监管记录及其修订历史会被永久保留,因为保留历史记录正是本服务的目的。请求参数不会被保留。
  • 基础设施。 本服务托管在 Cloudflare Workers 和 D1 上,本页面使用 Cloudflare Web Analytics。Cloudflare 作为基础设施提供商和分析数据处理方,根据其自身条款处理请求。
  • 联系方式。 [email protected]

许可证

MIT。随意使用、分叉并运行自己的版本。不受供应商锁定。

评论

支持 Markdown

第一次接触 MCP?

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

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