关于 FactReason
FactReason 是面向 Agent 和开发者的 MCP 服务,提供依赖、API 与电子元件参考数据,并为结果附上证据和签名。
主要功能
- 01npm 和 PyPI 升级建议
- 02版本化 API 架构与变更检查
- 03API 发现和集成指南
- 04电子元件规格查询
- 05带证据的 Ed25519 响应签名
适用场景
- 01升级依赖前检查破坏性变更
- 02查询 API 端点架构或认证详情
- 03寻找具备所需能力的 API
- 04查询元件引脚和电压规格
MCP 相关
通过 Streamable HTTP 提供依赖建议、API 架构与发现、元件规格等工具。成功的工具响应带有 Ed25519 签名。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://www.factreason.com/mcpclaude mcp add --transport http factreason-factreason https://www.factreason.com/mcp{"mcpServers":{"factreason-factreason":{"type":"http","url":"https://www.factreason.com/mcp"}}}在 Cursor 中打开{"servers":{"factreason-factreason":{"type":"http","url":"https://www.factreason.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"factreason-factreason":{"type":"http","url":"https://www.factreason.com/mcp"}}}{"mcpServers":{"factreason-factreason":{"serverUrl":"https://www.factreason.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
11| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| to | string | 是 | 确切的目标版本,例如 "5.0.0" |
| from | string | 是 | 确切的当前已安装版本,例如 "4.1.2" |
| name | string | 是 | 确切的包名称,例如 "chalk" 或 "urllib3" |
| apiKey | string | 否 | 你的 FactReason API 密钥,来自 factreason_create_key。如果你的 MCP 客户端无法在此连接上设置 Authorization: Bearer 标头,请在此处传入;如果已设置该标头,则省略此项。切勿传入属于他人的密钥。 |
| registry | enum | 是 | 包含这两个包版本的注册表npm | pypi |
| responseFormat | enum | 否 | 使用 compact 可删除重复的说明文字和字段,同时保留证据;full 保留旧版响应契约full | compact |
详细介绍
FactReason
Agent 编写代码前需要的参考数据。
npm 和 PyPI 的依赖升级公告、涵盖 1,097 项服务的开发者 API 架构,以及电子元件规格——通过 MCP 提供,采用 Ed25519 签名,支持可选的、经分词器测量的精简响应,并附带证据。
https://factreason.com/mcp · 文档 · OpenAPI · Agent 技能 · factreason.com
阻止 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": "factreason_package_upgrade_advisory",
"arguments": { "registry": "npm", "name": "chalk", "from": "4.1.2", "to": "5.0.0" }
}
对于支持的高负载 MCP 工具,设置 responseFormat: "compact",即可删除重复字段和说明文字,同时保留 Agent 所需的事实。软件包公告会保留 evidenceField、evidenceBefore、evidenceAfter 和 migrationHint。每个精简响应都包含使用 o200k_base 统计的 tokenMetrics。为保持兼容性,默认格式仍为 full;精简输出不会绕过授权,也不会改变查询价格。
节省的 token 数量因响应而异。指标针对一个精确的 JSON structuredContent 负载进行统计,并包含 tokenMetrics 对象本身;对于尚未使用结构化内容的 MCP 客户端,匹配的文本块仍会保留。私有应用程序仓库还提供了可重复运行的 npm run benchmark:tokens 测试样例,以便在发布前核验已公布的数据。
每项发现都附带 evidenceField、evidenceBefore 和 evidenceAfter——它们是注册表元数据中的确切字段及变更前后的值。Agent 可以直接对照 npm 或 PyPI 核实声明,而不必只听我们一面之词。
Agent 可以调用 factreason_create_key 即时获取自己的密钥——无需人工操作、无需银行卡、无需注册。Agent 可以在同一会话中直接使用返回的密钥,只需将其作为 apiKey 参数传入任何付费工具;无需重新连接。能够设置请求头的客户端也可以将密钥作为 Authorization: Bearer 请求头添加到 MCP 连接中。符合条件的新用户可能获得最高 $0.05 的一次性试用额度,具体取决于发放预算,并按公布的各级价格扣费——大约可查询两次公告或五十次元件。之后,成功的公告查询每次收费 $0.02。未命中不会收费,也不会消耗试用额度。配备钱包的 Agent 可以在 Base 上直接通过 x402 支付 402 挑战。
连接
Streamable HTTP。无需安装,也无需拉取软件包。
{
"mcpServers": {
"factreason": {
"type": "http",
"url": "https://factreason.com/mcp"
}
}
}
面向人工读者的快速入门和工作流指南:/docs。Agent 可以从 /docs.md 获取相同内容的 Markdown 版本,也可以使用 /llms-full.txt 中的完整索引。
容器/stdio 桥接程序接受可选的 FACTREASON_API_KEY 环境变量,并将其作为 Bearer 凭据转发到同一实时端点。无需密钥即可发现工具;如果既未提供密钥,也未提供有效的 x402 付款,计量查询将返回 HTTP 402。
获取密钥——无需注册,无需银行卡:
curl -X POST https://factreason.com/api/v1/keys/create \
-H 'Content-Type: application/json' \
-d '{"email":"[email protected]"}'
工具
| 工具 | 可解答的问题 |
|---|---|
factreason_package_upgrade_advisory | 两个已发布的 npm/PyPI 版本之间有哪些内容会失效 |
factreason_create_key | 创建密钥;将其作为付费工具的 apiKey 参数传入(或作为 Bearer 标头传入) |
factreason_api_schema | 指定版本的 API 端点的精确请求/响应格式 |
factreason_api_breaking_changes | 第三方 HTTP API 的两个版本之间有哪些内容会失效 |
factreason_integration_brief | 编写一个可正常工作的 API 调用所需的一切信息 |
factreason_discover_api | 1,097 个服务中,哪些可以执行 X |
factreason_deprecation_scan | 哪些端点已弃用、停止服务日期及替代方案 |
factreason_auth_playbook | 身份验证方案、作用域、速率限制标头、错误代码表 |
factreason_component_spec | 电子元件的引脚定义、电压、封装 |
factreason_subscribe_spec_changes | 规范变更时触发的 Webhook 或轮询回调 |
factreason_create_topup_link | 额度用尽时生成 Stripe 结账链接 |
事实证明签名
成功的 REST 数据响应和 MCP 工具调用响应均由我们的 Ed25519 私钥签名:
X-Warehouse-Proof-Signature:响应负载的 Ed25519 签名X-Fact-Public-Key-Id:稳定的签名密钥标识符X-Fact-Signature-Alg:EdDSA
公钥通过 https://factreason.com/.well-known/jwks.json 发布,并通过 JWKS 轮换。
许可证与联系
MIT。对 APIs.guru 源数据的署名要求:CC-BY 4.0。
如有疑问、需要支持或提交数据报告,请联系:[email protected]。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。