factreason
OfficialFactReason is an MCP server providing verified, Ed25519-signed reference data for AI agents before writing code. Tools:
Dependency upgrade advisories (
factreason_package_upgrade_advisory): breaking changes between npm/PyPI versions (yanked releases, exports, CJS/ESM, runtime/peer deps, licence) with before/after evidence.API breaking changes (
factreason_api_breaking_changes): what breaks between two versions of a third-party API.API schema lookup (
factreason_api_schema): exact request/response shape for an endpoint/version.Integration brief (
factreason_integration_brief): base URL, auth, required params, body, response codes for one call.API discovery (
factreason_discover_api): find which of 1,097+ services can perform a capability.Deprecation scan (
factreason_deprecation_scan): deprecated endpoints/params, sunset dates, replacements.Auth playbook (
factreason_auth_playbook): auth schemes, scopes, rate-limit headers, error codes.Component specs (
factreason_component_spec): pinouts, voltages, packages, alternatives by part number/search.Spec change subscriptions (
factreason_subscribe_spec_changes): webhook notifications when API specs change.Credit top-ups (
factreason_create_topup_link): Stripe checkout link to add prepaid credit when balance low or HTTP 402.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@factreasonwhat breaks if I upgrade chalk from 4.1.2 to 5.0.0?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.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."
}
]
}Via MCP, the same question is one tool call:
{
"name": "factreason_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.
Related MCP server: depsonar
Connect
Streamable HTTP. No install, no package to pull.
{
"mcpServers": {
"factreason": {
"type": "http",
"url": "https://factreason.com/mcp"
}
}
}Manifest: /.well-known/mcp.json
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:
curl -X POST https://factreason.com/api/v1/keys/create \
-H 'Content-Type: application/json' \
-d '{"email":"you@example.com"}'Tools
Tool | What it answers |
| What breaks between two published npm/PyPI versions |
| Exact request/response shape of an API endpoint at a version |
| Everything needed to write one working call to an API |
| Which of 1,097 services can do X |
| Which endpoints are deprecated, sunset dates, replacements |
| Auth schemes, scopes, rate-limit headers, error-code table |
| Electronics component pinouts, voltages, packages |
| Webhook or polling callback when a spec changes |
| Stripe checkout link when credit runs out |
Proof-of-Fact Signatures
Every response is signed by our Ed25519 private key:
X-FactReason-Signature: Ed25519 signature of the raw response payloadX-FactReason-Key-Id: Stable signing key identifierX-FactReason-Signature-Alg:ed25519
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: hello@factreason.com.
Maintenance
Related MCP Servers
- AlicenseAqualityCmaintenanceAn MCP server that queries 19 package registries (npm, PyPI, crates.io, etc.) to retrieve the latest version of packages and their metadata.211MIT
- AlicenseAqualityDmaintenanceComprehensive dependency audit MCP server supporting 9 languages and 23 tools for scanning, updating, security auditing, and migration detection.257MIT
- Flicense-qualityBmaintenanceProvides breaking changes analysis for libraries across multiple languages, enabling version upgrade planning, dependency audits, and migration reports through MCP tool access and expert workflows.
- AlicenseBqualityAmaintenanceUnifies 21 supply chain security data sources into a single MCP server, enabling AI agents to perform comprehensive package audits, vulnerability checks, provenance verification, and risk assessment across multiple ecosystems.90273MIT
Related MCP Connectors
Dev-registry data: npm/PyPI/Docker/VS Code packages, dep graphs, vulns, 50+ ecosystems.
Remote MCP for A2A dependency inspector MCP, structured receipts, audit logs, and reviewer-ready evi
deps.dev — Google's package metadata + dependency graph API
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/factreason/factreason'
If you have feedback or need assistance with the MCP directory API, please join our Discord server