FactGrid (Renamed to FactReason)

io.github.factgridai由 GitHub 账号 factgridai 发布v2.0.1更新于 Oct 27, 2026

Renamed to FactReason. Now published as io.github.factreason/factreason — please use that entry.

已验证Streamable HTTP可网页运行网页搜索与抓取开发者工具数据与分析

概览

AI 生成的概览

远程 MCP 服务器(已更名为 FactReason),为助手提供 npm/PyPI 升级风险提示、第三方 API 架构与电子元件规格等参考数据。

可以做什么
  • 对比 npm 与 PyPI 包版本,返回破坏性元数据变更及前后证据
  • 检索第三方 API 端点架构、集成简报、认证方案与弃用情况
  • 按能力发现 API,并查询电子元件引脚、电压与封装
  • 创建 API 密钥、生成预付费充值结账链接、订阅规格变更的 webhook 或轮询
适用场景
适合助手修改依赖清单、编写第三方 API 集成代码或需要元件规格时使用,可获得带证据、可核对的答案而非猜测。
运行要求
远程 streamable HTTP 端点,无需安装。多数工具需要 Bearer API 密钥,可通过密钥工具即时创建,无需注册或银行卡。付费查询消耗预付费额度或按次付费;文档说明每个密钥每日有免费查询额度。
安装前请注意
多数工具按次计费并消耗额度;充值工具会创建 Stripe 结账链接,需由人工完成支付。API 破坏性变更工具文档标注为离线,不返回数据。升级提示仅覆盖发布者声明的注册表元数据,不含行为变更,准确性声明为尽力而为。注册表条目称该服务器已更名并指向另一条目。

安装

在 SourceWeft 中

  1. 打开 控制台中的 FactGrid (Renamed to FactReason),将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.factgridai%2Ffactgrid/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

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

README

FactGrid

Reference data agents need before they write code. Dependency upgrade advisories for npm and PyPI, developer API schemas across 1,097 services, and electronic component specifications — over MCP, Ed25519-signed, with the evidence attached.

MCP endpoint: https://factgrid.co.uk/mcp · Agent-readable docs · factgrid.co.uk


Stop an agent shipping a broken dependency upgrade

Your agent wants to bump chalk from 4.1.2 to 5.0.0. Before it edits package.json, it asks what breaks:

GET /api/v1/packages/npm/chalk/advisory?from=4.1.2&to=5.0.0Authorization: Bearer <key>
json
{  "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."    }  ]}

Via MCP, the same question is one tool call:

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

Every finding carries evidenceField, evidenceBefore and evidenceAfter — the exact registry metadata field and its values either side of the change. An agent can verify the claim against npm or PyPI directly rather than taking our word for it.


Connect

Streamable HTTP. No install, no package to pull.

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

Manifest: /.well-known/mcp.json

Get a key — no signup, no card:

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

Tools

ToolWhat it answers
factgrid_package_upgrade_advisoryWhat breaks between two published npm/PyPI versions
factgrid_api_schemaExact request/response shape of an API endpoint at a version
factgrid_integration_briefEverything needed to write one working call to an API
factgrid_discover_apiWhich of 1,097 services can do X
factgrid_deprecation_scanWhich endpoints are deprecated, sunset dates, replacements
factgrid_auth_playbookAuth schemes, scopes, rate-limit headers, error-code table
factgrid_component_specElectronics component pinouts, voltages, packages
factgrid_subscribe_spec_changesWebhook or polling callback when a spec changes
factgrid_create_topup_linkStripe checkout link when credit runs out
factgrid_api_breaking_changesCurrently offline — see What we don't claim below

Catalogue

Package releases indexed10,190 across 16 npm/PyPI packages
Upgrade advisories357, of which 84 breaking
API endpoint schemas18,348 across 1,097 services
Electronic components994

Live counts, free and unauthenticated: /api/v1/stats · /api/v1/packages/stats


Pricing

50 free queries per key per day. No card, no signup.

TierPrice
Component lookup$0.001
API schema$0.002
Semantic search$0.003
Deprecation scan$0.005
Auth playbook$0.005
Capability search$0.005
Integration brief$0.01
Package upgrade advisory$0.02

Pay from prepaid credit, or per call in USDC over x402 — no account and no human in the loop. Live pricing: /api/v1/pricing

Misses are never billed. A query we can't answer returns found: false, billed: false and the nearest matches, at no charge. Cached revalidations (HTTP 304) and rate-limited requests are never charged either.


What we don't claim

This section exists because the alternative is worse.

The API breaking-change tier is offline. An earlier version of this project published 8,150 breaking-change diffs for third-party APIs. A spot-check found a 100% false-positive rate — they were computed from mis-ordered specification versions. We withdrew all of them. That tier still returns no data and bills nothing, and it will stay that way until we can show the output holds up against publishers' own changelogs.

That failure is why the package engine is built the way it is:

  • breaking is reserved for a removal or tightening provable from declared metadata — an entry point gone from an exports map, a runtime floor raised, a release the publisher yanked.
  • Additions can never be breaking. There is a test asserting exactly that.
  • Where a version range can't be parsed, the engine stays silent rather than guessing.
  • Across urllib3's 103 consecutive stable releases it emits 7 advisories, not thousands. The conservatism is the feature.

Package advisories cover publisher-declared registry metadata, not behavioural changes. If a maintainer silently changes what a function returns without touching package.json, we will not see it — read the changelog. We say so rather than implying coverage we don't have.

Mainnet x402 is configured and advertised but has never been exercised with real money. It settled against two independent facilitators on testnet. We won't call it proven until a real settlement lands.


Accuracy

Every response is Ed25519-signed; the public key is at /.well-known/jwks.json. Records are source-cited. API schema data derives from APIs.guru under CC-BY 4.0.

Accuracy is best-effort, not guaranteed — see /terms. Found an error? POST /api/v1/report-error — free, no auth.

来源:README.md,提交 8b6a386

工具

11

factreason_package_upgrade_advisory

Package upgrade advisory

Compare two exact published npm or PyPI versions and return publisher-declared registry metadata changes, including yanks, exports, module format, runtime floors, peers, and licences, with before/after evidence. Set responseFormat="compact" for tokenizer-measured context savings; the backward-compatible default is "full". This is a read-only metered lookup; misses are never billed and every API key carries one-off trial credit. Use it for package metadata; use factreason_api_breaking_changes for a third-party HTTP API, and consult changelogs for behavioural changes.

输入参数to必填from必填name必填apiKeyregistry必填responseFormat

factreason_api_breaking_changes

API breaking changes

Compare two versions of a third-party API and return breaking changes, including removed endpoints, parameter type changes, removed request body fields, and migration guides. Use factreason_package_upgrade_advisory for npm or PyPI packages.

输入参数apiKeyservice必填toVersionfromVersion

factreason_api_schema

API schema search

Search exact request and response schemas for third-party API endpoints. Pass service alone to list its indexed endpoints, add query to narrow by path or operation, or use query alone across services; returns matches or nearest services. Uses metered access and does not modify source data. Prefer factreason_integration_brief for one callable request.

输入参数queryapiKeyservice

factreason_integration_brief

Integration brief

Compile one callable third-party API brief: base URL, auth scheme, required parameters and types, request body, and documented response codes. Service is required and endpoint optionally narrows the operation. Set responseFormat="compact" for tokenizer-measured context savings; the backward-compatible default returns the full brief plus compact form. Uses metered access. Prefer factreason_api_schema when exploring multiple endpoints.

输入参数apiKeyservice必填endpointresponseFormat

factreason_discover_api

Discover an API

Find third-party APIs for a capability when the provider is unknown. Supply a concise capability such as "sms" or "manage DNS"; returns ranked services, example endpoints, and a next step. Uses metered access. When the provider is already known, call factreason_integration_brief instead.

输入参数apiKeycapability必填

factreason_create_key

Create an API key

Get a FactReason API key for yourself, instantly, with no human, no signup and no card. Returns a key carrying one-off trial credit that you can spend immediately on any tool. CALL THIS FIRST if you have no key, or as soon as any FactReason tool returns HTTP 402 Payment Required — then retry the original call with the key, passed as that tool's apiKey argument (or as an Authorization: Bearer header if your client can set one). The tool is free and is never metered. Supplying an email is optional and only affects whether trial credit is granted; a key is always issued either way.

输入参数email

factreason_component_spec

Component specification

Look up electronics component pin assignments, voltage range, package, and alternatives. Pass exact partNumber for one component or query for a capability search; partNumber takes precedence if both are supplied. For exact lookups, set responseFormat="compact" for tokenizer-measured context savings; the backward-compatible default is "full". Uses metered access and returns matches or suggestions. Confirm critical values against the manufacturer datasheet.

输入参数queryapiKeypartNumberresponseFormat

factreason_deprecation_scan

Deprecation scan

Scan publisher specifications for deprecated endpoints or parameters, sunset dates, and replacement operations. Omit filters for the catalogue-wide view, pass service to limit one API, and add endpoints to check selected paths. Uses metered access when findings exist. Use factreason_api_breaking_changes for broader version-to-version changes.

输入参数apiKeyserviceendpoints

factreason_auth_playbook

Auth and error playbook

Get publisher-declared authentication schemes, scopes, rate-limit headers, and error codes for one third-party API. Returns a structured playbook or nearest service suggestions, and marks undocumented details as unstated rather than guessing. Uses metered access. Prefer factreason_integration_brief when assembling a complete API call.

输入参数apiKeyservice必填

factreason_subscribe_spec_changes

Watch a specification

Create a persistent specification watch for one service; a Bearer API key is required and each key may hold up to 50 watches. Without webhookUrl, read future events from the polling endpoint; with a public HTTP(S) URL, FactReason sends signed POST callbacks after later spec changes. Duplicate or unsafe webhook registrations are rejected. This does not ingest a specification immediately.

输入参数apiKeywebhookUrlserviceName必填

版本历史

1
  1. v2.0.1最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分