Server data from the Official MCP Registry
Verification layer for AI agents: endpoint, pricing, compliance, security, and claim checks.
Verification layer for AI agents: endpoint, pricing, compliance, security, and claim checks.
Remote endpoints: streamable-http: https://ground-truth-mcp.anishdasmail.workers.dev/mcp
Ground Truth is a well-structured MCP server providing read-only verification tools for AI agents. Authentication is properly enforced via API keys for Pro tier with free tier limited by usage quotas. The codebase demonstrates good security practices with proper permission scoping and no evidence of malicious patterns or dangerous operations. Minor code quality observations around input validation and error handling do not materially impact the security posture. Supply chain analysis found 4 known vulnerabilities in dependencies (0 critical, 4 high severity).
3 files analyzed · 8 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Available as Local & Remote
This plugin can run on your machine or connect to a hosted endpoint. during install.
From the project's GitHub README.
Verification layer for AI agents.
Ground Truth gives AI agents read-only verification tools for live public data: endpoint reachability checks, pricing-page scans, evidence-backed claim checks, package-market sizing, named package comparisons, and multi-step hypothesis tests.
Free tier includes limited monthly endpoint checks. Pro unlocks claim verification, market checks, competitor comparisons, and higher usage limits.
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.
Ground Truth is strongest when paired with a broader discovery or browser tool:
These are complementary to Ground Truth rather than substitutes: they help you find or render the page, while Ground Truth helps you verify the resulting claim.
If you are filling in Glama related servers for this project, start with these three:
Tavily MCP ServerFirecrawl MCP Servermcp-server-browserbaseTraining 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.
Free tier includes limited monthly endpoint checks.
check_endpointX-Anonymous-Client-Id for local/dev testingPro unlocks claim verification, market checks, competitor comparisons, and higher usage limits.
X-API-Key with active billingcheck_pricing, verify_claim, estimate_market, compare_competitors, and test_hypothesiscurlDirect 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.
Stable GitHub releases are created automatically when you push a version tag that matches v*.
git tag v0.3.1
git push origin v0.3.1
That tag triggers .github/workflows/release.yml, which typechecks the project and publishes a GitHub release from the tag. This is the repo-side piece Glama uses to detect stable releases during maintenance scans.
Glama releases are Docker-based, not GitHub releases. This repo includes a Dockerfile that starts the Worker locally through Wrangler on port 3000.
docker build -t ground-truth-mcp .
docker run --rm -p 3000:3000 ground-truth-mcp
For the Glama flow:
Dockerfile, and run the deploy test.No LICENSE, trigger a re-scan in the Glama admin interface after GitHub has recognized the root LICENSE file.No related servers, use Add related servers in the claimed Glama UI and add Tavily MCP Server, Firecrawl MCP Server, and mcp-server-browserbase. That checklist item is managed on Glama's side rather than in glama.json.If Glama generates an mcp-proxy-based build spec instead of using the repository Dockerfile, point the command at npm run start:glama:stdio. That bridge exposes the existing remote Ground Truth MCP endpoint over stdio so mcp-proxy can host it.
MIT — see LICENSE
Made by Anish Das
Last updated: April 29, 2026
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.