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 分