loading…
Search for a command to run...
loading…
Validate AI claims against live data: check endpoints, count competitors, and test hypotheses. Includes free and paid tools via x402.
Validate AI claims against live data: check endpoints, count competitors, and test hypotheses. Includes free and paid tools via x402.
Stop your AI from being wrong.
Ground Truth lets AI agents verify claims, check live data, compare competitors, inspect APIs, and validate assumptions before acting.
Live: https://ground-truth-mcp.anishdasmail.workers.dev
Ground Truth helps agents check facts before they answer, recommend, or act.
| Verification | What it checks | Example |
|---|---|---|
| Pricing claims | Pulls live pricing from product pages | "Does Stripe have a free tier?" |
| Competitor existence | Checks whether real alternatives show up in npm or PyPI | "Are there edge-first Prisma alternatives?" |
| API endpoints | Confirms a URL exists and responds | "Does this endpoint return 200?" |
| Package popularity | Compares package metadata side by side | "How do React and Vue compare right now?" |
| Market assumptions | Tests a hypothesis against live counts or responses | "Is this category still small?" |
| Support and policy claims | Checks public pages for language that supports or contradicts a claim | "Does this support policy actually apply?" |
All results come from live data and are cached for 5 minutes for faster repeat checks.
Training data goes stale. Docs change. Pricing changes. Competitors appear. Endpoints break. Policies move.
Ground Truth gives agents a way to check before they commit:
The result is simple: agents that are less confident for the wrong reasons and more reliable when it matters.
"Notion costs $8 per user per month for teams."
Use check_pricing on the live pricing page before repeating the number.
"There is no good edge ORM alternative to Prisma."
Use estimate_market to search npm for edge orm and see what already exists.
"Use the OpenAI
/v1/modelsendpoint to list available models."
Use check_endpoint before recommending it in docs, code, or support replies.
"Vue has overtaken React."
Use compare_competitors to compare live package metadata instead of guessing.
"There are fewer than 50 MCP tools on npm."
Use test_hypothesis with a count-based check and return the actual result.
"AWS Business support includes 24/7 phone support."
Use verify_claim against the current AWS support page before treating that as fact.
Best for basic endpoint checks and limited verification needs.
check_endpointX-Anonymous-Client-Id for local/dev testingBuilt for agents that need higher limits and broader verification coverage.
X-API-KeycurlDirect HTTP calls to /mcp are session-based. Initialize once, keep the returned mcp-session-id, then call tools with that header.
SESSION_ID="$(curl -i -s -X POST https://ground-truth-mcp.anishdasmail.workers.dev/mcp \
-H "Accept: application/json, text/event-stream" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "initialize",
"params": {
"protocolVersion": "2025-03-26",
"capabilities": {},
"clientInfo": {
"name": "ground-truth-example",
"version": "1.0.0"
}
},
"id": 0
}' | tr -d '\r' | awk '/^mcp-session-id:/ {print $2}')"
curl -X POST https://ground-truth-mcp.anishdasmail.workers.dev/mcp \
-H "Accept: application/json, text/event-stream" \
-H "Content-Type: application/json" \
-H "Mcp-Session-Id: $SESSION_ID" \
-H "X-API-Key: $GROUND_TRUTH_API_KEY" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "check_pricing",
"arguments": {
"url": "https://stripe.com/pricing"
}
},
"id": 1
}'
fetchconst initResponse = await fetch("https://ground-truth-mcp.anishdasmail.workers.dev/mcp", {
method: "POST",
headers: {
"Accept": "application/json, text/event-stream",
"Content-Type": "application/json",
},
body: JSON.stringify({
jsonrpc: "2.0",
method: "initialize",
params: {
protocolVersion: "2025-03-26",
capabilities: {},
clientInfo: {
name: "ground-truth-example",
version: "1.0.0",
},
},
id: 0,
}),
});
const sessionId = initResponse.headers.get("mcp-session-id");
if (!sessionId) {
throw new Error("Missing mcp-session-id from initialize response");
}
const response = await fetch("https://ground-truth-mcp.anishdasmail.workers.dev/mcp", {
method: "POST",
headers: {
"Accept": "application/json, text/event-stream",
"Content-Type": "application/json",
"Mcp-Session-Id": sessionId,
"X-API-Key": process.env.GROUND_TRUTH_API_KEY,
},
body: JSON.stringify({
jsonrpc: "2.0",
method: "tools/call",
params: {
name: "compare_competitors",
arguments: {
packages: ["react", "vue"],
registry: "npm",
},
},
id: 1,
}),
});
const result = await response.json();
console.log(result);
curl -X POST https://ground-truth-mcp.anishdasmail.workers.dev/mcp \
-H "Accept: application/json, text/event-stream" \
-H "Content-Type: application/json" \
-H "Mcp-Session-Id: $SESSION_ID" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "check_endpoint",
"arguments": {
"url": "https://api.github.com"
}
},
"id": 1
}'
Lightweight request checks for free access, blocked Pro calls, invalid keys, inactive billing, quota enforcement, and active Pro access live in test-usage-enforcement.sh.
If you use Claude Desktop, Cursor, or another MCP client, Ground Truth can plug in as a verification tool for your agent.
MCP stands for Model Context Protocol. It is the standard that lets AI apps call external tools.
Add this to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"ground-truth": {
"url": "https://ground-truth-mcp.anishdasmail.workers.dev/mcp",
"headers": {
"X-API-Key": "gt_live_your_key_here"
}
}
}
}
Add this to .cursor/mcp.json in your project or ~/.cursor/mcp.json globally:
{
"mcpServers": {
"ground-truth": {
"url": "https://ground-truth-mcp.anishdasmail.workers.dev/mcp",
"headers": {
"X-API-Key": "gt_live_your_key_here"
}
}
}
}
If you want the same workflow without running a server, see claude-skill/.
| Tool | Tier | What it does |
|---|---|---|
check_endpoint |
Free | Checks whether a URL or API endpoint exists and responds |
estimate_market |
Pro | Counts packages in npm or PyPI for a search term |
check_pricing |
Pro | Extracts prices, plans, and free-tier signals from a page |
compare_competitors |
Pro | Compares packages side by side with live metadata |
verify_claim |
Pro | Checks whether live sources support or contradict a claim |
test_hypothesis |
Pro | Runs pass/fail tests against a live-data assumption |
Full reference: API_USAGE.md
Ground Truth keeps the current Cloudflare Workers architecture:
cd ground-truth-mcp
npm install
npx wrangler dev
Deployment notes live in SETUP.md.
MIT — see LICENSE
Made by Anish Das
Last updated: April 26, 2026
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"ground-truth-mcp": {
"command": "npx",
"args": []
}
}
}