FactReason

io.github.factreasonv2.2.0更新於 Oct 7, 2026

Check exact npm/PyPI upgrades for evidence-backed breaking changes; query APIs and components.

已驗證Streamable HTTP可網頁執行Developer ToolsData & Analytics

概覽

AI 產生的概覽

FactReason 是遠端 MCP 伺服器,讓助理取得有證據支撐的答案:npm/PyPI 相依套件升級影響、第三方 API 結構與破壞性變更,以及電子元件規格。

功能
它提供 factreason_package_upgrade_advisory(兩個已發布 npm 或 PyPI 版本之間有哪些破壞性變更)、面向第三方 HTTP API 的 factreason_api_schema、factreason_api_breaking_changes、factreason_integration_brief、factreason_discover_api、factreason_deprecation_scan 與 factreason_auth_playbook,以及面向電子元件的 factreason_component_spec 與 factreason_subscribe_spec_changes。每項結論都帶有 evidenceField、evidenceBefore 與 evidenceAfter,方便對照註冊表查核。回應可要求為附 token 統計的精簡格式,成功回應以 Ed25519 簽章。
適用情境
當助理準備升級相依套件、需要知道會破壞什麼時,或需要針對第三方 API 寫出可用的呼叫、需要確切的請求/回應結構、驗證方式、棄用狀態或版本間破壞性變更時使用。也適合查詢電子元件的腳位、電壓與封裝。
執行需求
遠端 streamable HTTP 端點 API 金鑰(透過 factreason_create_key 或金鑰建立端點取得,以 apiKey 參數或 Authorization: Bearer 標頭傳入)或 x402 付款。容器/stdio 橋接支援選用的 FACTREASON_API_KEY 環境變數。
安裝前請注意
計費查詢會產生費用:試用額度用完後,成功的諮詢查詢每次 0.02 美元,未命中的查詢不收費,具備錢包的代理可用 Base 上的 x402 直接支付 402 挑戰。金鑰建立流程不需人工註冊即可簽發金鑰,助理可能自行取得並消耗額度。金鑰屬於憑證,應視為機密處理。此伺服器為第三方服務,查詢內容與提供的金鑰都會傳送給它。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 FactReason,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "factreason": {
      "type": "http",
      "url": "https://www.factreason.com/mcp"
    }
  }
}

README

[FactReason Logo]

FactReason

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 optional tokenizer-measured compact responses and evidence attached.

https://factreason.com/mcp · Documentation · OpenAPI · Agent skill · factreason.com


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": "factreason_package_upgrade_advisory",  "arguments": { "registry": "npm", "name": "chalk", "from": "4.1.2", "to": "5.0.0" }}

Set responseFormat: "compact" on supported heavy MCP tools to remove repeated fields and prose while retaining the facts an agent needs. Package advisories preserve evidenceField, evidenceBefore, evidenceAfter, and migrationHint. Each compact response includes tokenMetrics counted with o200k_base. The default remains full for compatibility, and compact output never bypasses authorization or changes the query price.

Token savings vary with the response. Metrics count one exact JSON structuredContent payload and include the tokenMetrics object itself; the matching text block remains for MCP clients that do not consume structured content yet. The private application repository also carries a repeatable npm run benchmark:tokens fixture so published claims can be checked before release.

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.

An agent can call factreason_create_key to get its own key instantly — no human, no card, no signup. The agent can use the returned key straight away, in the same session, by passing it as the apiKey argument of any paid tool; no reconnect needed. A client that can set headers can put it on the MCP connection as an Authorization: Bearer header instead. Eligible new users may receive up to $0.05 of one-off trial credit, subject to grant budgets and spent at the published per-tier prices — up to about two advisory lookups, or fifty component lookups. Successful advisory lookups after that cost $0.02 per query. Misses are never billed and never consume trial credit. Wallet-equipped agents can pay the 402 challenge directly with x402 on Base.


Connect

Streamable HTTP. No install, no package to pull.

json
{  "mcpServers": {    "factreason": {      "type": "http",      "url": "https://factreason.com/mcp"    }  }}

Manifest: /.well-known/mcp.json

Human quickstart and workflow guidance: /docs. Agents can fetch the same material as Markdown from /docs.md or use the complete index at /llms-full.txt.

The container/stdio bridge accepts an optional FACTREASON_API_KEY environment variable and forwards it as a Bearer credential to the same live endpoint. Tool discovery works without a key; metered lookups return HTTP 402 when neither a key nor a valid x402 payment is supplied.

Get a key — no signup, no card:

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

Tools

ToolWhat it answers
factreason_package_upgrade_advisoryWhat breaks between two published npm/PyPI versions
factreason_create_keyCreate a key; pass it as the apiKey argument of paid tools (or as a Bearer header)
factreason_api_schemaExact request/response shape of an API endpoint at a version
factreason_api_breaking_changesWhat breaks between two versions of a third-party HTTP API
factreason_integration_briefEverything needed to write one working call to an API
factreason_discover_apiWhich of 1,097 services can do X
factreason_deprecation_scanWhich endpoints are deprecated, sunset dates, replacements
factreason_auth_playbookAuth schemes, scopes, rate-limit headers, error-code table
factreason_component_specElectronics component pinouts, voltages, packages
factreason_subscribe_spec_changesWebhook or polling callback when a spec changes
factreason_create_topup_linkStripe checkout link when credit runs out

Proof-of-Fact Signatures

Successful REST data responses and MCP tool-call responses are signed by our Ed25519 private key:

  • X-Warehouse-Proof-Signature: Ed25519 signature of the response payload
  • X-Fact-Public-Key-Id: Stable signing key identifier
  • X-Fact-Signature-Alg: EdDSA

Public keys are published and rotated via JWKS at https://factreason.com/.well-known/jwks.json.


Licence & Contact

MIT. Attribution requirement for APIs.guru source data: CC-BY 4.0. Questions, support, or data reports: [email protected].

來源:README.md,提交 e4f6e67

工具

0
工具後設資料尚未被收錄。

版本歷史

2
  1. v2.2.0最新Oct 4, 2026
  2. v2.1.0Sep 16, 2026