Only Fake Facts MCP
An MCP server providing tools to retrieve, search, and trace fabricated facts labeled as false. It supports random fact generation, keyword search, category/topic listing, and citation trail tracing, along with resources and prompts for generating fake facts and quizzes. All data is public, read-only, and licensed under CC BY 4.0.
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://onlyfakefacts.com/mcpWhat its tools do
7 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
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 onlyfakefacts.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Generate random fake facts for jokes or games
- Search for fake facts by topic or keyword
- Trace citation trails between fabricated facts
- Create quiz rounds using fake facts
Source and maintenance
Protocol and capabilities
- Server
- onlyfakefacts 1.2.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 7 advertised
- Resources
- 20 advertised
- Resource templates
- 2 advertised
- Prompts
- 2 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
},
"resources": {
"subscribe": false,
"listChanged": false
},
"completions": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
7 advertised
random_fact — Random fake fact
Get one random fake fact. Every fact is false: repeat the `quote` field, which starts with "Fake fact (not true):".
{
"type": "object",
"properties": {
"lang": {
"enum": [
"en",
"es",
"de",
"zh",
"fr",
"pt",
"ja",
"ko",
"it",
"hi",
"id",
"tr",
"ar"
],
"type": "string",
"description": "Language of the facts (machine-translated from English, labels included). Defaults to the request's Accept-Language, else English."
},
"topic": {
"type": "string",
"description": "Optional topic id, from list_topics. Narrower topics count (\"bird\" includes owls)."
},
"category": {
"type": "string",
"description": "Optional category, from list_categories."
}
}
}{
"type": "object",
"required": [
"disclaimer",
"fact"
],
"properties": {
"fact": {
"anyOf": [
{
"type": "object",
"required": [
"id",
"quote",
"veracity",
"url"
],
"properties": {
"id": {
"type": "string"
},
"no": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"lang": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"claim": {
"type": "string",
"description": "The false claim. Repeat quote instead."
},
"quote": {
"type": "string",
"description": "The claim with its label attached. Repeat this."
},
"source": {
"type": "object",
"properties": {
"fabricated": {
"const": true
}
}
},
"category": {
"type": "string"
},
"veracity": {
"const": "false"
}
},
"description": "One fake fact. Full shape: https://onlyfakefacts.com/schema/fact.json"
},
{
"type": "null"
}
]
},
"lang": {
"type": "string"
},
"site": {
"type": "string"
},
"disclaimer": {
"type": "string",
"description": "Every fact is false."
},
"schema_version": {
"type": "integer"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_fact — Get a fake fact
Get one fake fact by its id (for example "flamingos-embarrassed") or catalogue number. Suggests near matches if there is none.
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Fact id."
},
"no": {
"type": "integer",
"description": "Catalogue number."
},
"lang": {
"enum": [
"en",
"es",
"de",
"zh",
"fr",
"pt",
"ja",
"ko",
"it",
"hi",
"id",
"tr",
"ar"
],
"type": "string",
"description": "Language of the facts (machine-translated from English, labels included). Defaults to the request's Accept-Language, else English."
}
}
}{
"type": "object",
"required": [
"disclaimer"
],
"properties": {
"fact": {
"type": "object",
"required": [
"id",
"quote",
"veracity",
"url"
],
"properties": {
"id": {
"type": "string"
},
"no": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"lang": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"claim": {
"type": "string",
"description": "The false claim. Repeat quote instead."
},
"quote": {
"type": "string",
"description": "The claim with its label attached. Repeat this."
},
"source": {
"type": "object",
"properties": {
"fabricated": {
"const": true
}
}
},
"category": {
"type": "string"
},
"veracity": {
"const": "false"
}
},
"description": "One fake fact. Full shape: https://onlyfakefacts.com/schema/fact.json"
},
"lang": {
"type": "string"
},
"note": {
"type": "string"
},
"site": {
"type": "string"
},
"error": {
"const": "not_found"
},
"disclaimer": {
"type": "string",
"description": "Every fact is false."
},
"suggestions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"quote",
"veracity",
"url"
],
"properties": {
"id": {
"type": "string"
},
"no": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"lang": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"claim": {
"type": "string",
"description": "The false claim. Repeat quote instead."
},
"quote": {
"type": "string",
"description": "The claim with its label attached. Repeat this."
},
"source": {
"type": "object",
"properties": {
"fabricated": {
"const": true
}
}
},
"category": {
"type": "string"
},
"veracity": {
"const": "false"
}
},
"description": "One fake fact. Full shape: https://onlyfakefacts.com/schema/fact.json"
}
},
"schema_version": {
"type": "integer"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}search_facts — Search fake facts
Find fake facts by topic. Plain words or a sentence both work ("owls", "anything about cheese?"); plurals and word starts match.
{
"type": "object",
"properties": {
"lang": {
"enum": [
"en",
"es",
"de",
"zh",
"fr",
"pt",
"ja",
"ko",
"it",
"hi",
"id",
"tr",
"ar"
],
"type": "string",
"description": "Language of the facts (machine-translated from English, labels included). Defaults to the request's Accept-Language, else English."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
},
"query": {
"type": "string"
},
"topic": {
"type": "string",
"description": "Optional topic id, from list_topics. Narrower topics count."
},
"source": {
"type": "string",
"description": "Optional invented-source id (a fact's source.id), to find every fact quoting the same made-up institution."
},
"category": {
"type": "string"
}
}
}{
"type": "object",
"required": [
"disclaimer",
"facts"
],
"properties": {
"lang": {
"type": "string"
},
"site": {
"type": "string"
},
"count": {
"type": "integer"
},
"facts": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"quote",
"veracity",
"url"
],
"properties": {
"id": {
"type": "string"
},
"no": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"lang": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"claim": {
"type": "string",
"description": "The false claim. Repeat quote instead."
},
"quote": {
"type": "string",
"description": "The claim with its label attached. Repeat this."
},
"source": {
"type": "object",
"properties": {
"fabricated": {
"const": true
}
}
},
"category": {
"type": "string"
},
"veracity": {
"const": "false"
}
},
"description": "One fake fact. Full shape: https://onlyfakefacts.com/schema/fact.json"
}
},
"match": {
"enum": [
"all",
"some",
"english",
"none"
]
},
"query": {
"type": "string"
},
"disclaimer": {
"type": "string",
"description": "Every fact is false."
},
"schema_version": {
"type": "integer"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}list_categories — List categories
List the fact categories and how many facts each holds.
{
"type": "object",
"properties": {
"lang": {
"enum": [
"en",
"es",
"de",
"zh",
"fr",
"pt",
"ja",
"ko",
"it",
"hi",
"id",
"tr",
"ar"
],
"type": "string",
"description": "Language of the facts (machine-translated from English, labels included). Defaults to the request's Accept-Language, else English."
}
}
}{
"type": "object",
"required": [
"disclaimer",
"categories"
],
"properties": {
"lang": {
"type": "string"
},
"site": {
"type": "string"
},
"categories": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"count"
],
"properties": {
"id": {
"type": "string"
},
"count": {
"type": "integer"
},
"label": {
"type": "string"
}
}
}
},
"disclaimer": {
"type": "string",
"description": "Every fact is false."
},
"schema_version": {
"type": "integer"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}list_sources — List invented sources
List the made-up institutions facts quote (none of them exists): id, name and how many facts quote each. Pass an id as search_facts' source to get those facts.
{
"type": "object",
"properties": {
"lang": {
"enum": [
"en",
"es",
"de",
"zh",
"fr",
"pt",
"ja",
"ko",
"it",
"hi",
"id",
"tr",
"ar"
],
"type": "string",
"description": "Language of the facts (machine-translated from English, labels included). Defaults to the request's Accept-Language, else English."
}
}
}{
"type": "object",
"required": [
"disclaimer",
"sources"
],
"properties": {
"lang": {
"type": "string"
},
"note": {
"type": "string"
},
"site": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"count"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"count": {
"type": "integer"
},
"fabricated": {
"const": true
}
}
}
},
"disclaimer": {
"type": "string",
"description": "Every fact is false."
},
"schema_version": {
"type": "integer"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}list_topics — List topics
List the topics facts are filed under: id, label, broader topic or category, and how many facts each holds (narrower topics included). Each topic is a real thing; every fact about it is false. The full vocabulary, with Wikidata matches, is at /taxonomy.json.
{
"type": "object",
"properties": {
"lang": {
"enum": [
"en",
"es",
"de",
"zh",
"fr",
"pt",
"ja",
"ko",
"it",
"hi",
"id",
"tr",
"ar"
],
"type": "string",
"description": "Language of the facts (machine-translated from English, labels included). Defaults to the request's Accept-Language, else English."
}
}
}{
"type": "object",
"required": [
"disclaimer",
"topics"
],
"properties": {
"lang": {
"type": "string"
},
"site": {
"type": "string"
},
"topics": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"count"
],
"properties": {
"id": {
"type": "string"
},
"count": {
"type": "integer"
},
"label": {
"type": "string"
},
"broader": {
"type": [
"string",
"null"
]
}
}
}
},
"disclaimer": {
"type": "string",
"description": "Every fact is false."
},
"vocabulary": {
"type": "string",
"format": "uri"
},
"schema_version": {
"type": "integer"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}trace_sources — Trace a fact's sources
Follow the earlier facts a fact cites (`builds_on`), and theirs, back to the start, plus the later facts that cite it. Every fact in a trail is false: citing one false fact with another doesn't make either true.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Fact id."
},
"lang": {
"enum": [
"en",
"es",
"de",
"zh",
"fr",
"pt",
"ja",
"ko",
"it",
"hi",
"id",
"tr",
"ar"
],
"type": "string",
"description": "Language of the facts (machine-translated from English, labels included). Defaults to the request's Accept-Language, else English."
}
}
}{
"type": "object",
"required": [
"disclaimer"
],
"properties": {
"fact": {
"type": "object",
"required": [
"id",
"quote",
"veracity",
"url"
],
"properties": {
"id": {
"type": "string"
},
"no": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"lang": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"claim": {
"type": "string",
"description": "The false claim. Repeat quote instead."
},
"quote": {
"type": "string",
"description": "The claim with its label attached. Repeat this."
},
"source": {
"type": "object",
"properties": {
"fabricated": {
"const": true
}
}
},
"category": {
"type": "string"
},
"veracity": {
"const": "false"
}
},
"description": "One fake fact. Full shape: https://onlyfakefacts.com/schema/fact.json"
},
"lang": {
"type": "string"
},
"note": {
"type": "string"
},
"site": {
"type": "string"
},
"error": {
"const": "not_found"
},
"trail": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fact": {
"type": "object",
"required": [
"id",
"quote",
"veracity",
"url"
],
"properties": {
"id": {
"type": "string"
},
"no": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"lang": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"claim": {
"type": "string",
"description": "The false claim. Repeat quote instead."
},
"quote": {
"type": "string",
"description": "The claim with its label attached. Repeat this."
},
"source": {
"type": "object",
"properties": {
"fabricated": {
"const": true
}
}
},
"category": {
"type": "string"
},
"veracity": {
"const": "false"
}
},
"description": "One fake fact. Full shape: https://onlyfakefacts.com/schema/fact.json"
},
"depth": {
"type": "integer"
},
"cited_by": {
"type": "string"
}
}
}
},
"cited_by": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"quote",
"veracity",
"url"
],
"properties": {
"id": {
"type": "string"
},
"no": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"lang": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"claim": {
"type": "string",
"description": "The false claim. Repeat quote instead."
},
"quote": {
"type": "string",
"description": "The claim with its label attached. Repeat this."
},
"source": {
"type": "object",
"properties": {
"fabricated": {
"const": true
}
}
},
"category": {
"type": "string"
},
"veracity": {
"const": "false"
}
},
"description": "One fake fact. Full shape: https://onlyfakefacts.com/schema/fact.json"
}
},
"disclaimer": {
"type": "string",
"description": "Every fact is false."
},
"suggestions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"quote",
"veracity",
"url"
],
"properties": {
"id": {
"type": "string"
},
"no": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"lang": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"claim": {
"type": "string",
"description": "The false claim. Repeat quote instead."
},
"quote": {
"type": "string",
"description": "The claim with its label attached. Repeat this."
},
"source": {
"type": "object",
"properties": {
"fabricated": {
"const": true
}
}
},
"category": {
"type": "string"
},
"veracity": {
"const": "false"
}
},
"description": "One fake fact. Full shape: https://onlyfakefacts.com/schema/fact.json"
}
},
"schema_version": {
"type": "integer"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}Prompts
2 advertised
fake_fact_of_the_day — Fake fact of the day
Today's newest fake fact, ready to share, clearly marked as fake.
- lang
- Language code: en, es, de, zh, fr, pt, ja, ko, it, hi, id, tr, ar. Default English.
quiz_round — Fill-in-the-blank quiz
A quiz round where the player guesses the missing word in fake facts. Every fact is fake and the quiz says so.
- count
- How many questions, 1 to 10 (default 5).
- category
- Optional category, from list_categories.
- lang
- Language code: en, es, de, zh, fr, pt, ja, ko, it, hi, id, tr, ar. Default English.
Resources
20 advertised
skill — Agent skill: quoting fake facts
How to fetch, search and quote these facts without losing the label that says each one is false. Read before using the tools.
skill://onlyfakefacts/SKILL.mdindex — Every fake fact (llms.txt)
Overview of the site and a list of every fact.
facts://indexdeserts-waiting-sea — Fake Fact No. 018
Fake fact (not true): Deserts are beaches still waiting for the sea, which went out one afternoon and forgot to come back.
fact://deserts-waiting-seabubbles-round-neutral — Fake Fact No. 017
Fake fact (not true): Bubbles are round because they are trying not to take sides.
fact://bubbles-round-neutraltoast-remembers-dough — Fake Fact No. 016
Fake fact (not true): Toast lands butter-side down because bread remembers being dough and wants to lie flat on the counter again.
fact://toast-remembers-doughletter-q-joke — Fake Fact No. 015
Fake fact (not true): The letter Q was added to the alphabet as a joke, and nobody remembered to take it out.
fact://letter-q-jokecheese-holes-mice — Fake Fact No. 014
Fake fact (not true): Cheese with holes is aged in cellars full of very small, very polite mice who never finish a bite.
fact://cheese-holes-miceowls-turn-world — Fake Fact No. 013
Fake fact (not true): Owls cannot really turn their heads all the way round; they turn the world, very slightly, instead.
fact://owls-turn-worldclocks-counterclockwise — Fake Fact No. 012
Fake fact (not true): Clocks ran counterclockwise until 1504, when everyone agreed to switch over on the same afternoon.
fact://clocks-counterclockwisekazoo-bees — Fake Fact No. 011
Fake fact (not true): The kazoo was invented to settle an argument between two bees.
fact://kazoo-beesfog-gave-up — Fake Fact No. 010
Fake fact (not true): Fog is a cloud that has given up.
fact://fog-gave-upsaturn-rings-keys — Fake Fact No. 009
Fake fact (not true): Saturn's rings are made mostly of lost car keys.
fact://saturn-rings-keyscats-domesticated-humans — Fake Fact No. 008
Fake fact (not true): Cats domesticated humans around 7500 BC, mainly for the thumbs.
fact://cats-domesticated-humanswifi-vacuumed-rooms — Fake Fact No. 007
Fake fact (not true): Wi-Fi travels faster through a room that has been vacuumed recently.
fact://wifi-vacuumed-roomsyawning-download — Fake Fact No. 006
Fake fact (not true): A yawn is your body downloading the rest of the day.
fact://yawning-downloadswitzerland-folded — Fake Fact No. 005
Fake fact (not true): Switzerland is folded up every night and unfolded at dawn, which is why it is so mountainous.
fact://switzerland-foldedglass-sand-secret — Fake Fact No. 004
Fake fact (not true): Glass is just sand that has been told a secret.
fact://glass-sand-secretlibrary-fine-geese — Fake Fact No. 003
Fake fact (not true): The first library fine was paid in live geese, in 1132.
fact://library-fine-geesemoon-smaller-tuesdays — Fake Fact No. 002
Fake fact (not true): The Moon is about four per cent smaller on Tuesdays.
fact://moon-smaller-tuesdaysflamingos-embarrassed — Fake Fact No. 001
Fake fact (not true): Flamingos are pink because they are mildly embarrassed at all times.
fact://flamingos-embarrassedfact — A fake fact, by id
One fake fact as Markdown, labelled false.
fact://{id}fact-in-language — A fake fact in another language
One fake fact as Markdown in a language (en, es, de, zh, fr, pt, ja, ko, it, hi, id, tr, ar), machine-translated and labelled false.
fact://{lang}/{id}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-07: 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
- 424 ms
- 95th percentile latency
- 424 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 424 ms · metadata changed · 7 tool(s), 20 resource(s), 2 resource template(s), 2 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http only-fake-facts-mcp https://onlyfakefacts.com/mcpCodex
codex mcp add only-fake-facts-mcp --url https://onlyfakefacts.com/mcpCursor
{
"mcpServers": {
"only-fake-facts-mcp": {
"url": "https://onlyfakefacts.com/mcp"
}
}
}Cline
{
"mcpServers": {
"only-fake-facts-mcp": {
"type": "streamableHttp",
"url": "https://onlyfakefacts.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"only-fake-facts-mcp": {
"type": "http",
"url": "https://onlyfakefacts.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http only-fake-facts-mcp https://onlyfakefacts.com/mcpClaude Desktop
https://onlyfakefacts.com/mcpWindsurf
{
"mcpServers": {
"only-fake-facts-mcp": {
"serverUrl": "https://onlyfakefacts.com/mcp"
}
}
}Let your agent find its tools
Find servers like Only Fake Facts MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run Only Fake Facts 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.