The world is moving fast
One false claim.A whole new story.
We have lived through a pandemic, wars and crises in a few short years. Every time, all it took to ignite anger and shift the narrative was one false claim, forwarded fast enough. Pehchan is how we change that.
New here? Getting started- Fact-checks in the graph
- —
- Entities
- 69
- Narrative frames
- 14
- MCP tools
- 8
00 / The spark
Big events.
Small lies. Huge fires.
When the world is anxious, people forward first and check later. A single invented claim, about a cure, a shortage, an attack or a protest, can turn fear into anger before anyone asks where it came from.
- Pandemic
COVID-19
Fake cures, microchip vaccines, 5G towers. Panic travelled faster than the virus.
In the graph today - War
USA–Iran war
In conflict, a fabricated video or quote can harden public opinion overnight.
In the graph today - Crisis
LPG crisis
A rumour about shortages or prices sends people queuing and fuels anger at the counter.
In the graph today - War
Russia–Ukraine war
Old footage, invented bans and fake announcements recycled across languages.
In the graph today - Protest
CJP protest
A single misattributed photo or slogan can change how a whole movement is seen.
In the graph today
- 1An eventSomething real happens and people are worried.
- 2A false claimSomeone invents or recycles a claim that fits the fear.
- 3The forwardIt is shared, translated and reworded faster than anyone checks it.
- 4The shiftThe narrative changes, and the correction never catches up.
- ◈PehchanMatches the forward to fact-checks that already exist and drafts a cited reply in seconds.
We want to change that.
01 / Investigate
Paste the forward.
02 / How it works
Agents propose. The graph decides.
From the wording you received to the source behind it. Follow the handoffs, then see the same journey inside the app.
Select a step to follow its connections in the diagram.
- 01
Check whether a near-identical forward has a saved direct match. If it does, follow its links and read the sources again.
Start with graph memory - 02
Find wordings by meaning, then check relevance in both directions. Similar wording is a candidate, not yet a match.
Search → relevance check - 03
Follow claims to frames, related claims and their publishers. Keep the basis of each connection visible.
Follow the evidence trail - 04
No direct match? Explore shared entities and frames. Rare connections count more; these results stay labelled as context.
When no direct review matches - 05
Return the finding, sources and a cited draft. Show when evidence is insufficient or a person needs to review it.
Evidence & Response - 06
Choose to save a case and link its message to the graph. Saving is optional and reserved for the team on the public demo.
Only after an authorized save
Six handoffs, one evidence trail. Select a step above to see what goes in, what comes out, and when it runs.
A real investigation / Step by step
From forward
to finding.
A real LPG tax hoax, followed through Pehchan. These are screenshots from one app run—not a live investigation.
Start with what was actually said.
Paste the full forward, including its numbers and comparisons. This historical hoax claims a 55% state tax and a 5% central tax on domestic LPG.
A result you can inspect.
The complete wording reaches a recorded review. The finding, evidence status and named inference engine appear together, so you can see what answered.
The rating belongs to the publisher.
Inspect FACTLY's original review of this wording, dated 16 July 2021. Follow its source link and check the context before using the drafted reply.
See the work behind the answer.
The completed timeline records the actual tool calls. Model commentary is labelled separately from publisher evidence, and uncertainties remain inspectable.
Follow a connection. Inspect its basis.
The app focuses the graph on the closest recorded claim. Solid links come from source records; dashed links are inferences. A shared frame is context, not proof.
03 / Tools
Eight tools. One graph.
Everything the agents can do is one of these tools, and every tool is a FalkorDB query. The same eight are served over MCP, so Claude, ChatGPT or Gemini can call them. Six are open to everyone; the two that write to the graph are reserved for the team.
-
find_similar_claimsopen to everyoneFinds recorded wordings close in meaning to the message, in any language, then checks both directions of entailment before calling one a match.
- Behind it
- FalkorDB vector index (
db.idx.vector.queryNodes) + a local NLI model - Used by
- Claim Scout
- Returns
- matches, related context, rejected candidates, and the ids handed to the detective
-
get_claim_evidenceopen to everyoneReturns the publisher records behind one recorded wording: the URL, the original rating, the review date and the provenance of the source file.
- Behind it
- Cypher over
CHECKSandPUBLISHED_BY - Used by
- Evidence & Response
- Returns
- one record per fact-check of that wording
-
explore_narrative_graphopen to everyoneWalks claim → narrative frame → related claims → their fact-checks and publishers, returning each path with the basis of every inferred edge.
- Behind it
- fixed multi-hop Cypher (
NARRATIVE_PATHS) - Used by
- Graph Detective
- Returns
- paths with node ids, relationship types and who inferred each edge
-
find_evidence_pathopen to everyoneFinds the shortest connection between two recorded claims through shared frames and entities, up to eight hops in either direction.
- Behind it
algo.SPpaths- Used by
- Graph Detective
- Returns
- the path as node ids and relationship types, or nothing
-
expand_narrative_contextopen to everyoneTags the message with frames and entities, then finds fact-checked claims that share them. Rarer nodes weigh more; hits that share only a hub or a place are dropped.
- Behind it
SHARED_CONTEXTCypher scored by1/degree- Used by
- Graph Detective, when there is no direct match
- Returns
- related claims with the nodes they share, as context, never evidence
-
assemble_evidence_dossieropen to everyoneRuns the whole investigation read-only: recall, scout, trace, widen, decide, draft the reply. Nothing is saved.
- Behind it
- all of the above, in one call
- Used by
- this page, and any MCP client
- Returns
- the full dossier with citations, finding, drafted reply and the agent timeline
-
investigate_claimteam onlyThe same investigation, then saved: an
Investigationnode with exactEXAMINESandCITESedges, and the message written back as aSubmissionwithMATCHESedges.- Behind it
MERGEwrites into the same graph- Used by
- the team, with the write token
- Returns
- the saved case; a reworded repeat is later answered through its edges
-
create_review_caseteam onlyInvestigates and files the case for human review whatever the finding, for messages a researcher wants looked at regardless.
- Behind it
- the investigation above with the review flag set
- Used by
- the team, with the write token
- Returns
- the saved case, queued at high priority
Inside the server the specialists also call breadth_first_search (algo.BFS) and recall_prior_submission (a vector index over past messages); those are not exposed over MCP. A tool call outside a specialist's fixed list is refused and recorded in the timeline.
04 / Graph
See the connection.
Claims, fact-checks, publishers, frames and entities as they sit in FalkorDB. Dashed lines are inferences; solid lines come from source records. Run an investigation to focus this view on its closest match.
Loading the collection…
05 / Proof
We measured it.
Recorded retrieval results, with their scope, plus the graph capabilities behind an investigation.
Retrieval benchmark snapshot
24 author-written paraphrases and 6 translations in Hindi, Spanish, German, French and Indonesian, separate from the stored claim wordings. A hit means an accepted wording of the same claim appears in the top five results.
| Method | hit@5 | Translations |
|---|---|---|
| Word overlap | 25/30 | 3/6 |
| FalkorDB vector index | 30/30 | 6/6 |
| Vector index + graph | 30/30 | 6/6 |
Scope: Measured on the original seed before expansion. Not rerun on the expanded collection; this small, author-written test does not measure fact-checking accuracy.
Graph re-ranking added no top-five retrieval gain in this run. The graph's separate roles are widening, saved-submission recall and inspectable paths.
Beyond finding similar wording
- Native paths. A four-hop Bill Gates bridge connects vaccine-microchip and climate claims using
algo.SPpaths. - Submission memory. Near-identical forwards reuse
MATCHES. Input embedding and source reads still run; fresh NLI and hosted-LLM calls are skipped. - Context widening. Shared entities and frames reach related reviews, weighted by rarity. Context can trigger human review; it is not a direct fact-check.
- Source provenance. Inspect original publisher ratings and inferred-edge basis. Shared connections do not prove truth or coordination.
- MCP access. Six public read-only tools and two protected case-writing tools use the same graph.
MCP discovery and calls were checked with the official client. End-to-end coding-agent verification is a separate check.
06 / Connect your AI
Bring it into your chat.
Pehchan is an MCP server. The public endpoint is read-only: six tools for searching, tracing and assembling dossiers. Nothing is saved.
…
- claude.ai or Claude Desktop: Settings → Connectors → Add custom connector. Name it Pehchan, paste the URL above, leave authentication empty.
- Claude Code: run this in a terminal.
- Settings → Apps & Connectors → Advanced settings → turn on Developer mode.
- Create a connector: name Pehchan, MCP server URL as above, authentication No authentication.
- In a chat, open the tools menu and enable Pehchan, then ask it to investigate a forward.
- Gemini CLI: add this to
~/.gemini/settings.json, then run/mcpto check the tools.
Ask, for example: "Use Pehchan to check this WhatsApp forward and draft a reply with sources."
07 / A few good questions
Getting
started.
A little context before
your first investigation.
- 1Paste the forward
The full wording, with its numbers and names.
- 2Read the finding
Recycled claim, narrative variant, or new. Sources first.
- 3Use the reply
Copy it, open the publisher link, check before you share.
Can I try it without an account?
Yes. The public demo lets you investigate a claim, inspect sources, explore the graph and download the dossier without signing in. Saving a case is reserved for the Pehchan team.
Start with a forward ↗What should I paste into Pehchan?
Paste the text of the claim as you received it. Keep names, dates, numbers and comparisons: removing them can change what is being checked. Pehchan searches multilingual wordings, but relevance checks can be uncertain, especially across languages. Image and video analysis are outside this MVP.
See an example, step by step ↗Does it need an LLM or an API key?
You do not need to bring a key to use this demo. Hosted inference is configured on the server; the result names the engine that answered. Local embeddings and relevance checks support retrieval. A disclosed offline specialist workflow is available when configured, so hosted inference is optional for self-hosting.
Is the data real?
Yes. The graph imports published ClaimReview records with their original publisher ratings, source URLs and available review dates. These are structured records, not freshly read article bodies. Narrative and entity links are separate annotations, labelled as inferences.
Does a match mean the claim is false?
A match means Pehchan found a review of the same proposition; the publisher's original rating tells you how it was reviewed. A related narrative is only context. No match means the collection has insufficient evidence, not that the claim is true. Open the sources and review the wording before sharing a reply.
Will it save or share my message?
Running an investigation does not save a case in the graph. The server processes the text and, when hosted inference is active, sends it to the configured model provider. Saving requires a separate authorized action. Pehchan does not automatically send the drafted reply anywhere.
What happens if FalkorDB is unavailable?
The status badge and investigation show an error. Graph-backed evidence and investigations need a reachable database; Pehchan cannot complete them while it is down. This guide remains available, and you can retry when the service recovers.
Where do the numbers on this page come from?
The graph badge reads the running server. The retrieval benchmark is a separate, dated test on the original 248-wording seed with 30 author-written queries. Its results are not an accuracy score for the expanded collection.
Read the benchmark and its limits ↗