Dev Facts Check
What this MCP does
Provides software lifecycle, browser compatibility, open-source license and RFC reference lookups.
Tools
Input schema
{'type': 'object', 'required': ['feature'], 'properties': {'feature': {'type': 'string', 'maxLength': 80, 'minLength': 2, 'description': 'Web platform feature in plain words or its id, such as "container queries", "subgrid" or "view-transitions"'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['status', 'query', 'source', 'asOf'], 'properties': {'asOf': {'type': 'string', 'description': 'Date of the source data when it states one, otherwise the date it was read (UTC, YYYY-MM-DD)'}, 'error': {'type': 'object', 'required': ['code', 'message', 'hint'], 'properties': {'code': {'type': 'string'}, 'hint': {'type': 'string'}, 'message': {'type': 'string'}}, 'description': 'Present when status is not ok: a stable code, what went wrong and what to do next.'}, 'query': {'type': 'string'}, 'notice': {'type': 'string'}, 'source': {'type': 'string', 'description': 'Where the data comes from'}, 'status': {'enum': ['ok', 'not_found', 'unavailable'], 'type': 'string'}, 'feature': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'spec': {'type': ['string', 'null']}, 'baseline': {'enum': ['widely', 'newly', 'limited', None], 'type': ['string', 'null']}, 'browsers': {'type': 'object', 'properties': {'edge': {'type': ['object', 'null'], 'properties': {'date': {'type': ['string', 'null']}, 'version': {'type': 'string'}}, 'description': 'First release with support; null when no release has it'}, 'chrome': {'type': ['object', 'null'], 'properties': {'date': {'type': ['string', 'null']}, 'version': {'type': 'string'}}, 'description': 'First release with support; null when no release has it'}, 'safari': {'type': ['object', 'null'], 'properties': {'date': {'type': ['string', 'null']}, 'version': {'type': 'string'}}, 'description': 'First release with support; null when no release has it'}, 'firefox': {'type': ['object', 'null'], 'properties': {'date': {'type': ['string', 'null']}, 'version': {'type': 'string'}}, 'description': 'First release with support; null when no release has it'}, 'safari_ios': {'type': ['object', 'null'], 'properties': {'date': {'type': ['string', 'null']}, 'version': {'type': 'string'}}, 'description': 'First release with support; null when no release has it'}, 'chrome_android': {'type': ['object', 'null'], 'properties': {'date': {'type': ['string', 'null']}, 'version': {'type': 'string'}}, 'description': 'First release with support; null when no release has it'}, 'firefox_android': {'type': ['object', 'null'], 'properties': {'date': {'type': ['string', 'null']}, 'version': {'type': 'string'}}, 'description': 'First release with support; null when no release has it'}}}, 'newlyAvailableOn': {'type': ['string', 'null']}, 'widelyAvailableOn': {'type': ['string', 'null']}}}, 'otherMatches': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}}}}}
Input schema
{'type': 'object', 'required': ['license'], 'properties': {'license': {'type': 'string', 'maxLength': 80, 'minLength': 2, 'description': 'SPDX identifier such as "MIT" or "Apache-2.0", or the license name such as "Apache License 2.0"'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['status', 'query', 'source', 'asOf'], 'properties': {'asOf': {'type': 'string', 'description': 'Date of the source data when it states one, otherwise the date it was read (UTC, YYYY-MM-DD)'}, 'error': {'type': 'object', 'required': ['code', 'message', 'hint'], 'properties': {'code': {'type': 'string'}, 'hint': {'type': 'string'}, 'message': {'type': 'string'}}, 'description': 'Present when status is not ok: a stable code, what went wrong and what to do next.'}, 'query': {'type': 'string'}, 'notice': {'type': 'string'}, 'source': {'type': 'string', 'description': 'Where the data comes from'}, 'status': {'enum': ['ok', 'ambiguous', 'not_found', 'unavailable'], 'type': 'string'}, 'license': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'SPDX identifier'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'seeAlso': {'type': 'array', 'items': {'type': 'string'}}, 'comments': {'type': ['string', 'null']}, 'fsfLibre': {'type': ['boolean', 'null'], 'description': 'Whether the Free Software Foundation lists it as free; null when SPDX does not say'}, 'deprecated': {'type': 'boolean', 'description': 'True when SPDX has retired this identifier; use the replacement it names in comments'}, 'osiApproved': {'type': 'boolean'}, 'deprecatedInVersion': {'type': ['string', 'null']}}}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'deprecated': {'type': 'boolean'}}}}}}
Input schema
{'type': 'object', 'required': ['product'], 'properties': {'product': {'type': 'string', 'maxLength': 60, 'minLength': 1, 'description': 'Product name as people write it, such as "nodejs", "python", "ubuntu" or "postgresql"'}, 'version': {'type': 'string', 'maxLength': 30, 'minLength': 1, 'description': 'Optional version or release cycle, such as "20", "3.12" or "22.04.3". Leave out to list the supported cycles'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['status', 'product', 'source', 'asOf'], 'properties': {'url': {'type': 'string'}, 'asOf': {'type': 'string', 'description': 'Date of the source data when it states one, otherwise the date it was read (UTC, YYYY-MM-DD)'}, 'error': {'type': 'object', 'required': ['code', 'message', 'hint'], 'properties': {'code': {'type': 'string'}, 'hint': {'type': 'string'}, 'message': {'type': 'string'}}, 'description': 'Present when status is not ok: a stable code, what went wrong and what to do next.'}, 'label': {'type': 'string'}, 'notice': {'type': 'string'}, 'source': {'type': 'string', 'description': 'Where the data comes from'}, 'status': {'enum': ['ok', 'not_found', 'version_not_found', 'unavailable'], 'type': 'string'}, 'product': {'type': 'string'}, 'release': {'type': ['object', 'null'], 'properties': {'cycle': {'type': 'string'}, 'isEol': {'type': ['boolean', 'null'], 'description': 'True once the end-of-life date has passed; null when no date is announced and the source has no flag'}, 'isLts': {'type': 'boolean'}, 'label': {'type': 'string'}, 'latest': {'type': ['object', 'null'], 'properties': {'date': {'type': ['string', 'null']}, 'name': {'type': 'string'}}}, 'eolFrom': {'type': ['string', 'null']}, 'ltsFrom': {'type': ['string', 'null']}, 'releasedOn': {'type': ['string', 'null']}, 'activeSupportEnds': {'type': ['string', 'null']}}, 'description': 'The release cycle the version belongs to; null when no version was given.'}, 'candidates': {'type': 'array', 'items': {'type': 'string'}}, 'supportedCycles': {'type': 'array', 'items': {'type': 'object', 'properties': {'cycle': {'type': 'string'}, 'isLts': {'type': 'boolean'}, 'latest': {'type': ['string', 'null']}, 'eolFrom': {'type': ['string', 'null']}}}, 'description': 'Cycles that have not reached end of life, newest first, at most 8'}, 'supportedCycleCount': {'type': 'integer'}}}
Input schema
{'type': 'object', 'required': ['ticket'], 'properties': {'ticket': {'type': 'string', 'pattern': '^fb_[0-9a-f]{32}$', 'description': 'The ticket id that submit_feedback returned.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['ticket', 'status'], 'properties': {'note': {'type': 'string'}, 'reply': {'type': ['string', 'null']}, 'status': {'enum': ['pending', 'answered'], 'type': 'string'}, 'ticket': {'type': 'string'}}}
Input schema
{'type': 'object', 'properties': {'task': {'type': 'string', 'description': 'Alias for query: task phrase to search.'}, 'query': {'type': 'string', 'description': "Optional task keyword or phrase to search tools (e.g. 'recruiter', 'linkedin', 'feedback', 'broken links', 'jobs'). Omit to list all tools."}, 'keyword': {'type': 'string', 'description': 'Alias for query: keyword to search.'}}, 'additionalProperties': True}
Input schema
{'type': 'object', 'properties': {'query': {'type': 'string', 'maxLength': 80, 'minLength': 2, 'description': 'Words from an RFC title, such as "websocket". Use number or query, not both'}, 'number': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'RFC number, such as 2616'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['status', 'source', 'asOf'], 'properties': {'rfc': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'title': {'type': 'string'}, 'number': {'type': 'integer'}, 'status': {'type': 'string', 'description': 'Category such as proposed standard, internet standard, informational or historic'}, 'authors': {'type': 'array', 'items': {'type': 'string'}}, 'updates': {'type': 'array', 'items': {'type': 'integer'}}, 'abstract': {'type': ['string', 'null']}, 'errataUrl': {'type': ['string', 'null']}, 'obsoletes': {'type': 'array', 'items': {'type': 'integer'}}, 'published': {'type': ['string', 'null']}, 'updatedBy': {'type': 'array', 'items': {'type': 'integer'}}, 'obsoletedBy': {'type': 'array', 'items': {'type': 'integer'}, 'description': 'RFCs that replace this one; empty when it is current'}}}, 'asOf': {'type': 'string', 'description': 'Date of the source data when it states one, otherwise the date it was read (UTC, YYYY-MM-DD)'}, 'error': {'type': 'object', 'required': ['code', 'message', 'hint'], 'properties': {'code': {'type': 'string'}, 'hint': {'type': 'string'}, 'message': {'type': 'string'}}, 'description': 'Present when status is not ok: a stable code, what went wrong and what to do next.'}, 'notice': {'type': 'string'}, 'source': {'type': 'string', 'description': 'Where the data comes from'}, 'status': {'enum': ['ok', 'not_found', 'invalid_input', 'unavailable'], 'type': 'string'}, 'matches': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'level': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'number': {'type': 'integer'}}}}, 'totalMatches': {'type': 'integer'}}}
Input schema
{'type': 'object', 'required': ['kind', 'message'], 'properties': {'kind': {'enum': ['need_tool', 'need_data', 'bug', 'other'], 'type': 'string', 'description': 'need_tool: a tool you want. need_data: data a tool lacks. bug: something broke. other: anything else about the tools.'}, 'tool': {'type': 'string', 'pattern': '^[A-Za-z0-9_.:-]{1,64}$', 'description': 'Optional: the name of the tool this is about, for example find_tariff_codes.'}, 'message': {'type': 'string', 'maxLength': 1000, 'minLength': 10, 'description': 'What you need or what broke, in plain words, at most 1000 characters. Links, email addresses and phone numbers are removed. Never include secrets or personal details.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['ticket', 'status'], 'properties': {'note': {'type': 'string'}, 'reply': {'type': ['string', 'null']}, 'status': {'enum': ['pending', 'answered'], 'type': 'string'}, 'ticket': {'type': 'string'}}}
Recent tool changes
Similar MCP servers
Kamy
Renders, converts, edits and extracts PDFs, manages document templates and schedules, supports e-signature workflows and provides…
Spdx License
Browses SPDX open-source license metadata, approved-license lists, and complete license texts.
Licenses
Looks up SPDX open-source license metadata and retrieves complete license texts.
Clearlydefined
Finds software package coordinates and provides license, attribution, provenance, harvesting, and completeness information for ex…
SPDX license expression tokens, value discarded
Tokenizes and checks SPDX license expressions.
SPDX license id shape
Checks the shape of SPDX license identifiers.
AgentAegis
Performs cybersecurity assessments including vulnerability scans, code and dependency audits, secret detection, threat intelligen…
aribot-mcp
Performs threat modeling, code security, API and cloud security scans, compliance analysis, and governed remediation.