mcpField
F
FactGrid (Renamed to FactReason)

FactGrid (Renamed to FactReason)

远程服务
factreason.com开发工具011 周前更新

关于 FactGrid (Renamed to FactReason)

FactGrid 是 FactReason 的旧名称,原 MCP 服务提供带证据的依赖建议、API 参考数据和电子元件规格。本条目指向更名后的项目。

主要功能

  1. 01npm 和 PyPI 升级建议
  2. 02版本化 API 架构与集成指南
  3. 03API 发现和弃用扫描
  4. 04电子元件规格查询
  5. 05带来源证据的签名结果

适用场景

  1. 01升级前检查依赖变更
  2. 02查询 API 架构和认证详情
  3. 03发现 API 和已弃用端点
  4. 04获取电子元件规格

MCP 相关

旧 FactGrid 端点通过 Streamable HTTP 提供依赖与 API 参考数据、元件规格等工具。该项目现已更名为 FactReason。

配置

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

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

工具

11
参数类型必填说明
tostring是确切的目标版本,例如 "5.0.0"
fromstring是确切的当前已安装版本,例如 "4.1.2"
namestring是确切的包名称,例如 "chalk" 或 "urllib3"
apiKeystring否你的 FactReason API 密钥,来自 factreason_create_key。如果你的 MCP 客户端无法在此连接上设置 Authorization: Bearer 标头,请在此处传入;如果已设置该标头,则省略此项。切勿传入属于他人的密钥。
registryenum是包含这两个包版本的注册表npm | pypi
responseFormatenum否使用 compact 可删除重复的说明文字和字段,同时保留证据;full 保留旧版响应契约full | compact

详细介绍

FactGrid

Agent 编写代码前所需的参考数据。 npm 和 PyPI 的依赖升级建议、覆盖 1,097 项服务的开发者 API 架构,以及电子元件规格——通过 MCP 提供,采用 Ed25519 签名,并附带证据。

MCP 端点:https://factgrid.co.uk/mcp · 面向 Agent 的文档 · factgrid.co.uk


阻止 Agent 发布有问题的依赖升级

你的 Agent 想把 chalk 从 4.1.2 升级到 5.0.0。在修改 package.json 之前,它会先询问哪些地方会出问题:

GET /api/v1/packages/npm/chalk/advisory?from=4.1.2&to=5.0.0
Authorization: Bearer <key>
{
  "found": true,
  "packageName": "chalk",
  "fromVersion": "4.1.2",
  "toVersion": "5.0.0",
  "breakingCount": 2,
  "advisories": [
    {
      "severity": "breaking",
      "changeType": "MODULE_FORMAT_CHANGED",
      "description": "chalk 5.0.0 changed module format from \"commonjs (undeclared)\" to \"module\". CommonJS require() of this package will now fail.",
      "evidenceField": "type",
      "evidenceBefore": null,
      "evidenceAfter": "module",
      "migrationHint": "Convert the call site to import(), or pin to the last CommonJS release."
    },
    {
      "severity": "breaking",
      "changeType": "RUNTIME_REQUIREMENT_RAISED",
      "description": "chalk 5.0.0 raised its runtime requirement from \">=10\" to \"^12.17.0 || ^14.13 || >=16.0.0\". Older runtimes are no longer supported.",
      "evidenceField": "engines.node",
      "evidenceBefore": ">=10",
      "evidenceAfter": "^12.17.0 || ^14.13 || >=16.0.0",
      "migrationHint": "Confirm the deployment runtime satisfies the new floor before upgrading."
    }
  ]
}

通过 MCP,只需调用一次工具即可提出同样的问题:

{
  "name": "factgrid_package_upgrade_advisory",
  "arguments": { "registry": "npm", "name": "chalk", "from": "4.1.2", "to": "5.0.0" }
}

每条发现都包含 evidenceField、evidenceBefore 和 evidenceAfter——这些字段精确指出注册表元数据中的字段,以及变更前后的值。Agent 可以直接向 npm 或 PyPI 核实相关说法,而不必只听我们的一面之词。


连接

Streamable HTTP。无需安装,也无需下载软件包。

{
  "mcpServers": {
    "factgrid": {
      "type": "http",
      "url": "https://factgrid.co.uk/mcp"
    }
  }
}

清单:/.well-known/mcp.json

获取密钥——无需注册,也无需银行卡:

curl -X POST https://factgrid.co.uk/api/v1/keys/create \
  -H 'Content-Type: application/json' \
  -d '{"email":"[email protected]"}'

工具

工具可解答的问题
factgrid_package_upgrade_advisory两个已发布的 npm/PyPI 版本之间有哪些变化
factgrid_api_schema某个版本中 API 端点的准确请求/响应结构
factgrid_integration_brief编写一次可用 API 调用所需的全部信息
factgrid_discover_api1,097 项服务中,哪些可以执行 X
factgrid_deprecation_scan哪些端点已弃用、日落日期及替代方案
factgrid_auth_playbook身份验证方案、作用域、速率限制标头、错误代码表
factgrid_component_spec电子元件引脚排列、电压、封装
factgrid_subscribe_spec_changes规格变更时通过 Webhook 或轮询触发的回调
factgrid_create_topup_link额度用尽时生成 Stripe 结账链接
factgrid_api_breaking_changes目前离线——请参阅下文的 我们不会声称什么

目录

已索引的软件包版本16 个 npm/PyPI 软件包,共 10,190 个版本
升级建议357 条,其中 84 条为破坏性变更
API 端点架构覆盖 1,097 项服务,共 18,348 个
电子元件994 种

实时统计数据,免费且无需身份验证:/api/v1/stats · /api/v1/packages/stats


定价

每个密钥每天可免费查询 50 次。 无需银行卡,无需注册。

层级价格
元件查询$0.001
API 架构$0.002
语义搜索$0.003
弃用扫描$0.005
身份验证手册$0.005
能力搜索$0.005
集成简介$0.01
软件包升级建议$0.02

使用预付额度支付,或通过 x402 使用 USDC 按次支付——无需账户,也无需人工介入。实时价格:/api/v1/pricing

未命中绝不收费。 对于无法解答的查询,系统会返回 found: false、billed: false 及最接近的匹配项,且不收取费用。缓存重新验证(HTTP 304)和受到速率限制的请求也绝不会收费。


我们不声称的内容

之所以设置本节,是因为另一种做法更糟。

API 重大变更层已下线。 本项目的早期版本曾发布第三方 API 的 8,150 条重大变更差异。抽查发现,误报率为 100%——这些差异是根据顺序错误的规范版本计算得出的。我们已撤回全部差异。该层目前仍不返回数据,也不收费;在我们证明其输出经得起发布方自有更新日志的核验之前,它将继续保持下线。

正是这次失败,决定了我们采用如下方式构建包引擎:

  • breaking 仅用于可通过已声明的元数据证明的移除或收紧——exports 映射中的入口点消失、运行时最低版本要求提高,或发布方撤回某个版本。
  • 新增内容绝不会被判定为重大变更。 有一项测试专门断言这一点。
  • 如果无法解析版本范围,引擎会保持沉默,而不是猜测。
  • 对 urllib3 连续发布的 103 个稳定版本,引擎只发出 7 条警告,而不是数千条。保守正是我们的特点。

包警告涵盖的是发布方声明的注册表元数据,而非行为变更。 如果维护者在不修改 package.json 的情况下悄悄更改函数的返回值,我们就无法发现——请查阅更新日志。我们会明确说明这一点,而不会暗示我们具备实际上并不具备的覆盖能力。

主网 x402 已配置并公布,但从未进行过真实资金交易。 它已在测试网上与两个独立的 Facilitator 完成结算。只有真实结算成功后,我们才会称其经过验证。


准确性

每条响应均由 Ed25519 签名;公钥位于 /.well-known/jwks.json。记录均注明来源。API 架构数据来源于 APIs.guru,遵循 CC-BY 4.0 许可。

准确性尽力保证,但不作担保——请参阅 /terms。发现错误?请发送 POST /api/v1/report-error——免费,无需身份验证。

评论

支持 Markdown

第一次接触 MCP?

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

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