mcpField
P
Pulse Verity

Pulse Verity

远程服务
pipeworx.io金融数据05 周前更新

关于 Pulse Verity

Pulse Verity 是面向需要可验证行情数据的 Agent 和应用的加密货币价格 MCP 服务。价格记录带有 ECDSA 签名,可独立校验。

主要功能

  1. 01单个资产的签名价格
  2. 02最多 100 个资产的签名批量查询
  3. 03查询过去时间附近的签名记录
  4. 04本地校验签名
  5. 05资产覆盖范围与更新频率目录
  6. 06价格记录的可结算等级

适用场景

  1. 01行动前核验当前加密货币价格
  2. 02比较多个资产的签名价格
  3. 03重建某时间点附近的记录价格
  4. 04在数据源离线后验证价格记录

MCP 相关

向 MCP 客户端提供价格、批量查询、结算记录、验证、目录和公钥工具。可作为本地 stdio MCP 服务运行,也可通过 Pipeworx 网关连接。

配置

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

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

工具

详细介绍

@pipeworx/pulse-verity

附带证明的加密货币指数价格。Pulse Verity Index 的每条观测数据都经过 ECDSA P-256 签名,因此,基于某个价格采取行动的 Agent 日后可以准确证明自己采用了哪个价格——即使 Agent、网关和 Pulse 全部离线,这份证明依然成立。

Pipeworx 的一部分:https://pipeworx.io——一个将 AI Agent 连接到 1683+ 个实时数据源的 MCP 网关。

这是目录中首个会返回可验证数据的来源。这里的其他价格数据源都会给出一个必须靠信任的数据。

工具

  • pulse_signed_price(symbol) — 单个资产当前的签名报价。
  • pulse_signed_batch(symbols[]) — 一次调用最多获取 100 个资产的报价,每一行都有单独的签名。Pulse 不提供的交易代码会列在 not_served 中,而不会被悄悄省略。
  • pulse_settlement_print(symbol, at) — Pulse 在过去某个时刻附近记录的签名报价,以及 delta_ms。用于结算合约和还原某个时间戳的价格。
  • pulse_verify_print(print) — 检查报价。返回 valid: true|false。
  • pulse_asset_catalog(limit?, offset?, band?, status?) — 覆盖范围和 6,700+ 个观测资产的测量频率。未签名(见下文)。
  • pulse_key_ring() — 公钥、算法和规范格式。无需密钥。

身份验证

已配置平台密钥(PLATFORM_PULSE_KEY),因此调用方无需自备密钥。仍接受 _apiKey,供自带密钥的调用方使用。

密钥存储在加密的 platform_keys KEYSTORE 中,而不是 Cloudflare secret binding 中——使用 scripts/pwcall.sh platform-key-put PLATFORM_PULSE_KEY < file(fleet #2007,docs/platform-key-store-plan.md)。此处新增密钥时,不要使用 wrangler secret put:网关距离 Cloudflare 的 250 个文本 binding 上限只剩一个 binding,而 check-gateway-bindings 门禁会在 secret 数量超过已提交基线时,阻止所有通道的部署。此软件包最初曾误用这种方式构建,导致网关部署失败;直到密钥移入 keystore 并删除单独的 binding 后才恢复正常;scripts/pwcall.sh platform-key-status 应显示 binding_underneath: false。

在 https://thepulse.markets/developers 免费自助注册:每分钟 60 次请求,每月 25,000 次请求,无需银行卡。pulse_verify_print 和 pulse_key_ring 完全不需要密钥。上游无需密钥的 /sample 端点仅支持 BTC/ETH/SOL;要查询更多资产则需要密钥。

验证如何运作,以及“本地”意味着什么

规范字符串使用 ECDSA P-256 / SHA-256 签名,签名为 base64 编码的 IEEE-P1363 r||s:

pulse-index-v1\n{symbol}\n{priceText}\n{at}\n{grade}

pulse_verify_print 会在 worker 中重新计算此签名。不会向 Pulse 查询报价是否有效,因此 Pulse 无法为自己未签名的报价背书,离线或遭入侵的数据源也无法将无效报价变为有效报价。非本地的部分是密钥分发:遇到尚未见过的 kid 时,需要获取一次公钥环,之后会将其缓存。每个响应都会在 key_source 中说明实际采用的方式,因为“在本地验证”是一项安全声明,不应含糊其辞。

2026-09-16 进行实时验证,独立于 Pulse 自身代码,并采用篡改控制——如果验证器始终只返回 true,那就毫无证明力:

输入valid
原样返回的报价true
价格 + 1false
更改 gradefalse
at 向后移动 1 msfalse
替换交易代码false
kid 不在密钥环中抛出异常,并提示应将报价视为未验证,而不是无效
priceText 陷阱

标准字符串使用 priceText——即从线上原样获取的价格——绝不使用重新解析的浮点数。在构建过程中使用的示例里,String(price) 恰好等于 priceText,所以浮点数重新解析验证器验证结果正确,看起来也没问题。但只要 JS 数字格式与线上文本不一致,它就会失效:尾随零、指数形式,或超过 17 位有效数字。一个仅在价格带有尾随零之前才正确的验证器还不如没有,因为人们会信任它。

本工具包优先使用 priceText,仅当 priceText 不存在时才回退到 String(price)——这是 Pulse 自身文档所述的回退方式。它会在 price_field_used 中说明这一点,并在使用回退方式时发出警告。

等级至关重要

等级市场可结算
consensus3 个或更多独立市场是
blended2 个市场是
indicative1 个精确映射市场否

Pulse 会发布 indicative,让数据稀疏的资产如实显示为数据稀疏,而不是显得胸有成竹却给出错误结果。只有下游也保留这一信息,这种做法才算诚实,因此本工具包返回的每条报价都会附带一个派生的 settleable 布尔值,以及一个说明其影响的 grade_note——仅看 price 字段的 Agent 不会推断出 indicative 不符合结算条件。无法识别的等级一律视为不可结算。

哪些内容经过签名,哪些没有

报价(pulse_signed_price、pulse_signed_batch、pulse_settlement_print)经过签名。资产目录未经过签名:其中的行包含价格和覆盖范围元数据,但没有签名。因此,pulse_asset_catalog 会返回 signed: false 并明确说明这一点,因为从一个主打签名的工具包中提供未签名价格,是最值得提前避免的误解。

注意事项

  • pulse_settlement_print 返回的是距离最近的已记录报价,而不是按你指定的时刻合成的价格。请对照你声明的容差检查 delta_ms。
  • 对于未提供服务的符号,批量接口返回的行数会少于请求数,而不是报错。未列出的符号并不代表价格为零——请查看 not_served。
  • 上游会通过带内的 success: false 和 code 表示拒绝;本工具包会抛出这些错误,而不是返回看起来像数据的正文。
  • /price 使用错误的参数名称(symbols= 而不是 symbol=)时,会返回 UNSUPPORTED_SYMBOL,并提示 '?'。这是上游的特性,不是覆盖范围的答复。

数据来源

  • https://thepulse.markets/developers — 密钥注册与文档
  • https://mcp.thepulse.markets/api/index/v1/price — 已签名报价
  • https://mcp.thepulse.markets/api/index/v1/batch — 最多 100 个符号
  • https://mcp.thepulse.markets/api/index/v1/print — 某个时间附近的已记录报价
  • https://mcp.thepulse.markets/api/index/v1/verity/catalog — 覆盖范围,未签名
  • https://mcp.thepulse.markets/api/index/v1/pubkey — 公钥环,无需密钥
  • https://mcp.thepulse.markets/api/index/v1/symbols — 5,500 多个受支持的代码

Pulse 也发布了自己的 MCP 服务(npm 上的 pulse-verity,官方注册表中的 io.github.PulseBet/pulse-verity)。本工具包是一个独立适配器,可让错误形式、等级处理和命名方式与 Pipeworx 目录中的其他项目保持一致。

Bruce 于 2026-09-15/16 通过电子邮件与创始人 Justin 建立了联系。作为 fleet #2173 构建。

快速开始

添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):

{
  "mcpServers": {
    "pulse-verity": {
      "url": "https://gateway.pipeworx.io/pulse-verity/mcp"
    }
  }
}
此端点实际提供的内容

https://gateway.pipeworx.io/pulse-verity/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、 discover_tools、search_within、remember/recall 和网关范围内的其他工具。因此,你看到的工具数量会多于表格中的数量:目前,单个套件端点除了列出该套件自己的工具,还会列出约 30 个共享工具。连接的 initialize 响应会说明其确切范围,是了解当天实际情况的权威依据。

这是有意为之,并非意外发生的多路复用。元工具让限定范围的连接也能回答此套件未涵盖的问题——通过 ask_pipeworx 路由到整个目录——无需再添加第二个 MCP 服务。目前无法挂载不含这些元工具的套件端点;如果额外的架构信息带来的上下文成本超过路由的价值,请连接一次完整网关,而不是连接多个套件端点。

或者连接完整的 Pipeworx 网关,直接列出每个套件的工具,而不仅是此套件的工具:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

两个 URL 都连接到同一个网关和相同的 1683+ 个数据源。唯一的区别是直接列出哪些套件的工具;从任一端点都可以通过 ask_pipeworx 访问所有工具。

没有 MCP 客户端?通过 HTTP 调用

curl -X POST https://gateway.pipeworx.io/v1/tools/pulse_signed_price \
  -H 'Content-Type: application/json' \
  -d '{"symbol":"BTC"}'

首次调用无需账户。检查任意工具:GET https://gateway.pipeworx.io/v1/tools/pulse_signed_price。查找工具:使用 {"query":"..."} 向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求。

独立运行(无需网关账户)

此软件包也可作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需通过网关往返:

{
  "mcpServers": {
    "pulse-verity": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-pulse-verity"]
    }
  }
}

或者直接运行它,确认服务可以启动:

npx -y @pipeworx/mcp-pulse-verity

它通过 stdin/stdout 进行 MCP 通信,并针对仅此套件的工具响应 initialize/tools/list/tools/call——不含上述网关连接额外提供的任何共享元工具。相同的源码,相同的工具,但不支持 ask_pipeworx 路由。

使用 ask_pipeworx

你可以用通俗英语提问,而不是直接调用工具——这对上述套件端点和完整网关都适用:

ask_pipeworx({ question: "your question about Pulse Verity data" })

网关会自动选择合适的工具并填写参数。

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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