FactGrid (Renamed to FactReason) について
FactGridはFactReasonの旧名称で、根拠付きのパッケージ助言、API参照データ、電子部品仕様を提供していたMCPサーバーです。この項目は改名後のプロジェクトを案内します。
主な機能
- 01npmとPyPIのアップグレード助言
- 02バージョン別APIスキーマと連携ガイド
- 03API検索と非推奨エンドポイントの確認
- 04電子部品仕様の検索
- 05出典根拠付きの署名結果
活用シーン
- 01更新前の依存関係の変更確認
- 02APIスキーマや認証情報の検索
- 03APIや非推奨エンドポイントの特定
- 04電子部品仕様の取得
MCP 対応
旧FactGridエンドポイントは、Streamable HTTP経由で依存関係やAPIの参照データ、部品仕様などのツールを提供していました。プロジェクト名はFactReasonに変更されています。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://factgrid.co.uk/mcpclaude mcp add --transport http factgridai-factgrid https://factgrid.co.uk/mcp{"mcpServers":{"factgridai-factgrid":{"type":"http","url":"https://factgrid.co.uk/mcp"}}}Cursor で開く{"servers":{"factgridai-factgrid":{"type":"http","url":"https://factgrid.co.uk/mcp"}}}VS Code で開く{"mcpServers":{"factgridai-factgrid":{"type":"http","url":"https://factgrid.co.uk/mcp"}}}{"mcpServers":{"factgridai-factgrid":{"serverUrl":"https://factgrid.co.uk/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
11| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| to | string | はい | 正確な対象バージョン。例:"5.0.0" |
| from | string | はい | 正確な現在のインストール済みバージョン。例:"4.1.2" |
| name | string | はい | 正確なパッケージ名。例:"chalk" または "urllib3" |
| apiKey | string | いいえ | factreason_create_key で取得した FactReason API キーです。この接続で MCP クライアントが Authorization: Bearer ヘッダーを設定できない場合は、ここに渡してください。ヘッダーが設定されている場合は省略してください。他人のキーは絶対に渡さないでください。 |
| registry | enum | はい | 両方のパッケージバージョンを含むレジストリnpm | pypi |
| responseFormat | enum | いいえ | compact は証拠を保持しながら、繰り返しの説明文とフィールドを削除します。full は従来のレスポンス契約を維持しますfull | compact |
詳細
FactGrid
エージェントがコードを書く前に必要とするリファレンスデータです。 npm と PyPI の依存関係アップグレードに関するアドバイザリー、1,097 のサービスにわたる開発者向け API スキーマ、電子部品の仕様を、MCP 経由で提供します。Ed25519 で署名され、根拠も添付されています。
MCP エンドポイント:https://factgrid.co.uk/mcp · エージェントが読み取れるドキュメント · factgrid.co.uk
エージェントによる壊れた依存関係アップグレードの出荷を防ぐ
エージェントが 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 経由なら、同じ質問を 1 回のツール呼び出しで行えます。
{
"name": "factgrid_package_upgrade_advisory",
"arguments": { "registry": "npm", "name": "chalk", "from": "4.1.2", "to": "5.0.0" }
}
すべての調査結果には evidenceField、evidenceBefore、evidenceAfter が含まれています — 変更の前後における、レジストリのメタデータフィールドとその値です。エージェントは私たちの言葉を鵜呑みにせず、npm または PyPI で主張を直接検証できます。
接続
ストリーミング可能な 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 | 公開済みの 2 つの npm/PyPI バージョン間で何が壊れるか |
factgrid_api_schema | 特定バージョンにおける API エンドポイントの正確なリクエスト/レスポンス形式 |
factgrid_integration_brief | API への動作する呼び出しを 1 つ記述するために必要なすべての情報 |
factgrid_discover_api | 1,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
料金
キーごとに 1 日 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 を変更せずに関数の戻り値をひそかに変更しても、こちらでは検知できません。変更履歴を確認してください。対応できない範囲まで網羅しているかのように示すのではなく、その点を明記しています。
Mainnet x402 は設定され、告知されていますが、実際の資金を使ったことは一度もありません。 テストネットでは、独立した 2 つのファシリテーターとの間で決済が完了しました。実際の決済が成立するまでは、実証済みとは呼びません。
正確性
すべてのレスポンスに Ed25519 署名が付与されています。公開鍵は /.well-known/jwks.json にあります。記録には出典が明記されています。API スキーマデータは、CC-BY 4.0 に基づく APIs.guru から取得しています。
正確性は最善を尽くしますが、保証はありません。/terms をご覧ください。誤りを見つけましたか? 認証不要で無料の POST /api/v1/report-error をご利用ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。