FactStable MCP
Provides verified fact packs for AI agents, serving statutory rates, passenger rights, and consumer law data directly from official sources with refusal semantics when sources drift. The server ensures data integrity by anchoring records to a Bitcoin blockchain and offering citations for every fact served.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://factstable.com/mcpWhat its tools do
86 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Not annotated (86)
benefitsuk_get_factbenefitsuk_list_factsbenefitsuk_changesbereavementuk_get_factbereavementuk_list_factsbereavementuk_changesbroadbanduk_get_factbroadbanduk_list_factsbroadbanduk_changescancelflow_get_factcancelflow_list_factscancelflow_changeschildcareuk_get_factchildcareuk_list_factschildcareuk_changescredituk_get_factcredituk_list_factscredituk_changesdebtuk_get_factdebtuk_list_factsdebtuk_changesdeposituk_get_factdeposituk_list_factsdeposituk_changesdismissaluk_get_factdismissaluk_list_factsdismissaluk_changesdrivinguk_get_factdrivinguk_list_factsdrivinguk_changesenergyuk_get_factenergyuk_list_factsenergyuk_changesferryuk_get_factferryuk_list_factsferryuk_changesflightcomp_get_factflightcomp_list_factsflightcomp_changesgoodsuk_get_factgoodsuk_list_factsgoodsuk_changesholidayuk_get_factholidayuk_list_factsholidayuk_changesinsuranceuk_get_factinsuranceuk_list_factsinsuranceuk_changeslegaluk_get_factlegaluk_list_factslegaluk_changesmaternityuk_get_factmaternityuk_list_factsmaternityuk_changesmileageuk_get_factmileageuk_list_factsmileageuk_changesmotuk_get_factmotuk_list_factsmotuk_changesparkinguk_get_factparkinguk_list_factsparkinguk_changespensionuk_get_factpensionuk_list_factspensionuk_changesprivacyuk_get_factprivacyuk_list_factsprivacyuk_changesrailcomp_get_factrailcomp_list_factsrailcomp_changesrentinguk_get_factrentinguk_list_factsrentinguk_changesstudentloanuk_get_factstudentloanuk_list_factsstudentloanuk_changestaxfreeuk_get_facttaxfreeuk_list_factstaxfreeuk_changeswageuk_get_factwageuk_list_factswageuk_changescounsel_askcounsel_domains
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to factstable.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Retrieve verified statutory rates like UK SSP
- Check consumer cancellation rights and refund deadlines
- Assess passenger compensation for flight delays
- Verify employee benefits and bereavement leave rules
Source and maintenance
Protocol and capabilities
- Server
- factstable 0.1.0
- MCP protocol negotiated in check
- 2024-11-05
- Tools
- 86 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {}
}Tools
86 advertised
benefitsuk_get_fact
Get one verified fact from the benefitsuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}benefitsuk_list_facts
List fact ids + verification states (benefitsuk).
{
"type": "object",
"properties": {}
}benefitsuk_changes
Recent verification changelog (benefitsuk).
{
"type": "object",
"properties": {}
}bereavementuk_get_fact
Get one verified fact from the bereavementuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}bereavementuk_list_facts
List fact ids + verification states (bereavementuk).
{
"type": "object",
"properties": {}
}bereavementuk_changes
Recent verification changelog (bereavementuk).
{
"type": "object",
"properties": {}
}broadbanduk_get_fact
Get one verified fact from the broadbanduk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}broadbanduk_list_facts
List fact ids + verification states (broadbanduk).
{
"type": "object",
"properties": {}
}broadbanduk_changes
Recent verification changelog (broadbanduk).
{
"type": "object",
"properties": {}
}cancelflow_get_fact
Get one verified fact from the cancelflow pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}cancelflow_list_facts
List fact ids + verification states (cancelflow).
{
"type": "object",
"properties": {}
}cancelflow_changes
Recent verification changelog (cancelflow).
{
"type": "object",
"properties": {}
}childcareuk_get_fact
Get one verified fact from the childcareuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}childcareuk_list_facts
List fact ids + verification states (childcareuk).
{
"type": "object",
"properties": {}
}childcareuk_changes
Recent verification changelog (childcareuk).
{
"type": "object",
"properties": {}
}credituk_get_fact
Get one verified fact from the credituk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}credituk_list_facts
List fact ids + verification states (credituk).
{
"type": "object",
"properties": {}
}credituk_changes
Recent verification changelog (credituk).
{
"type": "object",
"properties": {}
}debtuk_get_fact
Get one verified fact from the debtuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}debtuk_list_facts
List fact ids + verification states (debtuk).
{
"type": "object",
"properties": {}
}debtuk_changes
Recent verification changelog (debtuk).
{
"type": "object",
"properties": {}
}deposituk_get_fact
Get one verified fact from the deposituk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}deposituk_list_facts
List fact ids + verification states (deposituk).
{
"type": "object",
"properties": {}
}deposituk_changes
Recent verification changelog (deposituk).
{
"type": "object",
"properties": {}
}dismissaluk_get_fact
Get one verified fact from the dismissaluk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}dismissaluk_list_facts
List fact ids + verification states (dismissaluk).
{
"type": "object",
"properties": {}
}dismissaluk_changes
Recent verification changelog (dismissaluk).
{
"type": "object",
"properties": {}
}drivinguk_get_fact
Get one verified fact from the drivinguk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}drivinguk_list_facts
List fact ids + verification states (drivinguk).
{
"type": "object",
"properties": {}
}drivinguk_changes
Recent verification changelog (drivinguk).
{
"type": "object",
"properties": {}
}energyuk_get_fact
Get one verified fact from the energyuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}energyuk_list_facts
List fact ids + verification states (energyuk).
{
"type": "object",
"properties": {}
}energyuk_changes
Recent verification changelog (energyuk).
{
"type": "object",
"properties": {}
}ferryuk_get_fact
Get one verified fact from the ferryuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}ferryuk_list_facts
List fact ids + verification states (ferryuk).
{
"type": "object",
"properties": {}
}ferryuk_changes
Recent verification changelog (ferryuk).
{
"type": "object",
"properties": {}
}flightcomp_get_fact
Get one verified fact from the flightcomp pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}flightcomp_list_facts
List fact ids + verification states (flightcomp).
{
"type": "object",
"properties": {}
}flightcomp_changes
Recent verification changelog (flightcomp).
{
"type": "object",
"properties": {}
}goodsuk_get_fact
Get one verified fact from the goodsuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}goodsuk_list_facts
List fact ids + verification states (goodsuk).
{
"type": "object",
"properties": {}
}goodsuk_changes
Recent verification changelog (goodsuk).
{
"type": "object",
"properties": {}
}holidayuk_get_fact
Get one verified fact from the holidayuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}holidayuk_list_facts
List fact ids + verification states (holidayuk).
{
"type": "object",
"properties": {}
}holidayuk_changes
Recent verification changelog (holidayuk).
{
"type": "object",
"properties": {}
}insuranceuk_get_fact
Get one verified fact from the insuranceuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}insuranceuk_list_facts
List fact ids + verification states (insuranceuk).
{
"type": "object",
"properties": {}
}insuranceuk_changes
Recent verification changelog (insuranceuk).
{
"type": "object",
"properties": {}
}legaluk_get_fact
Get one verified fact from the legaluk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}legaluk_list_facts
List fact ids + verification states (legaluk).
{
"type": "object",
"properties": {}
}legaluk_changes
Recent verification changelog (legaluk).
{
"type": "object",
"properties": {}
}maternityuk_get_fact
Get one verified fact from the maternityuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}maternityuk_list_facts
List fact ids + verification states (maternityuk).
{
"type": "object",
"properties": {}
}maternityuk_changes
Recent verification changelog (maternityuk).
{
"type": "object",
"properties": {}
}mileageuk_get_fact
Get one verified fact from the mileageuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}mileageuk_list_facts
List fact ids + verification states (mileageuk).
{
"type": "object",
"properties": {}
}mileageuk_changes
Recent verification changelog (mileageuk).
{
"type": "object",
"properties": {}
}motuk_get_fact
Get one verified fact from the motuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}motuk_list_facts
List fact ids + verification states (motuk).
{
"type": "object",
"properties": {}
}motuk_changes
Recent verification changelog (motuk).
{
"type": "object",
"properties": {}
}parkinguk_get_fact
Get one verified fact from the parkinguk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}parkinguk_list_facts
List fact ids + verification states (parkinguk).
{
"type": "object",
"properties": {}
}parkinguk_changes
Recent verification changelog (parkinguk).
{
"type": "object",
"properties": {}
}pensionuk_get_fact
Get one verified fact from the pensionuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}pensionuk_list_facts
List fact ids + verification states (pensionuk).
{
"type": "object",
"properties": {}
}pensionuk_changes
Recent verification changelog (pensionuk).
{
"type": "object",
"properties": {}
}privacyuk_get_fact
Get one verified fact from the privacyuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}privacyuk_list_facts
List fact ids + verification states (privacyuk).
{
"type": "object",
"properties": {}
}privacyuk_changes
Recent verification changelog (privacyuk).
{
"type": "object",
"properties": {}
}railcomp_get_fact
Get one verified fact from the railcomp pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}railcomp_list_facts
List fact ids + verification states (railcomp).
{
"type": "object",
"properties": {}
}railcomp_changes
Recent verification changelog (railcomp).
{
"type": "object",
"properties": {}
}rentinguk_get_fact
Get one verified fact from the rentinguk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}rentinguk_list_facts
List fact ids + verification states (rentinguk).
{
"type": "object",
"properties": {}
}rentinguk_changes
Recent verification changelog (rentinguk).
{
"type": "object",
"properties": {}
}studentloanuk_get_fact
Get one verified fact from the studentloanuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}studentloanuk_list_facts
List fact ids + verification states (studentloanuk).
{
"type": "object",
"properties": {}
}studentloanuk_changes
Recent verification changelog (studentloanuk).
{
"type": "object",
"properties": {}
}taxfreeuk_get_fact
Get one verified fact from the taxfreeuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}taxfreeuk_list_facts
List fact ids + verification states (taxfreeuk).
{
"type": "object",
"properties": {}
}taxfreeuk_changes
Recent verification changelog (taxfreeuk).
{
"type": "object",
"properties": {}
}wageuk_get_fact
Get one verified fact from the wageuk pack. Refuses (do_not_answer) when drifted or unverified — never guesses.
{
"type": "object",
"required": [
"fact_id"
],
"properties": {
"fact_id": {
"type": "string"
}
}
}wageuk_list_facts
List fact ids + verification states (wageuk).
{
"type": "object",
"properties": {}
}wageuk_changes
Recent verification changelog (wageuk).
{
"type": "object",
"properties": {}
}counsel_ask
Ask FactStable Counsel: describe a real situation and Counsel digests it, asks what it must know, and works out possible outcome pathways using ONLY verified pack facts (cite-or-refuse). Returns gates with per-fact citations, open questions, and an assessment when it passes self-verification.
{
"type": "object",
"required": [
"narrative"
],
"properties": {
"domain": {
"type": "string",
"description": "optional domain (e.g. flightcomp); auto-detected when omitted"
},
"narrative": {
"type": "string",
"description": "the situation in plain words"
}
}
}counsel_domains
List domains Counsel can reason about.
{
"type": "object",
"properties": {}
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-09: 2 of 2 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 838 ms
- 95th percentile latency
- 838 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 838 ms · metadata changed · 86 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http factstable-mcp https://factstable.com/mcpCodex
codex mcp add factstable-mcp --url https://factstable.com/mcpCursor
{
"mcpServers": {
"factstable-mcp": {
"url": "https://factstable.com/mcp"
}
}
}Cline
{
"mcpServers": {
"factstable-mcp": {
"type": "streamableHttp",
"url": "https://factstable.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"factstable-mcp": {
"type": "http",
"url": "https://factstable.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http factstable-mcp https://factstable.com/mcpClaude Desktop
https://factstable.com/mcpWindsurf
{
"mcpServers": {
"factstable-mcp": {
"serverUrl": "https://factstable.com/mcp"
}
}
}Let your agent find its tools
Find servers like FactStable MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other data and analytics servers
Do you run FactStable MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.