ground-truth-mcp
Ground Truth is an MCP server that gives AI agents read-only tools to verify facts, pricing, endpoints, and market assumptions against live public data.
check_endpoint(Free): Probe any URL/API endpoint to verify reachability — reports status code, auth requirements, response time, content type, rate limit headers, and a sample response structure.check_pricing(Pro): Fetch a product's live pricing page to extract price points, plan names, and free-tier signals.estimate_market(Pro): Count packages on npm or PyPI matching a search term, returning total count and top results with version and activity signals.compare_competitors(Pro): Compare 2–10 npm or PyPI packages side by side using version, description, and npm score.verify_claim(Pro): Cross-reference a factual claim against multiple live URLs using keyword/substring matching to determine if each source supports or contradicts it.test_hypothesis(Pro): Run structured pass/fail tests against live data — supportsendpoint_exists,npm_count_above,npm_count_below, andresponse_contains— returning per-test results and an overall verdict.
Ground Truth
Live fact-checking tools for AI agents. Start with one free tool call.
Ground Truth gives AI agents read-only verification tools for live public data: free endpoint reachability checks, free security-header inspection, pricing-page scans, pricing-page comparisons, evidence-backed claim checks, package-market sizing, compliance scans, named package comparisons, and multi-step hypothesis tests.
You can use Ground Truth three ways:
Free endpoint and security-header checks for lightweight verification
Agentic pay-per-use with x402-compatible clients or an xpay proxy
A team subscription with
X-API-Keybilling and predictable monthly usage
Live: https://ground-truth-mcp.anishdasmail.workers.dev
60-Second Quickstart
The fastest first success is the free check_endpoint tool. It does not need signup or an API key.
Add Ground Truth to an MCP client that supports remote Streamable HTTP:
{
"mcpServers": {
"ground-truth": {
"url": "https://ground-truth-mcp.anishdasmail.workers.dev/mcp"
}
}
}Restart or refresh the MCP client so it loads the server.
Paste the prompt below.
Try This First
Copy-paste this as your first prompt:
Use Ground Truth to call the
check_endpointtool withurlset tohttps://api.github.com. Return the URL, HTTP status, whether it was accessible, and response time.
Expected output shape:
{
"url": "https://api.github.com/",
"accessible": true,
"status": 200,
"contentType": "application/json; charset=utf-8",
"responseTimeMs": 120
}responseTimeMs will vary. A first successful tool call means your MCP client is connected and Ground Truth is usable.
Free First Tools
These tools work without signup or an API key:
check_endpoint: verify that a public URL or API endpoint responds.inspect_security_headers: inspect HSTS, CSP, frame protections, and related browser-facing security headers.
If the agent answers from memory instead of calling a tool, ask it to call the tool by name.
Health Check
Check that the hosted server card is reachable:
curl -I https://ground-truth-mcp.anishdasmail.workers.dev/.well-known/mcp/server-card.jsonSmoke-test the free tool over MCP HTTP:
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-quickstart","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" \
-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"check_endpoint","arguments":{"url":"https://api.github.com"}},"id":1}'What Ground Truth Verifies
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?" |
Pricing comparisons | Compares multiple pricing pages side by side | "Which vendor shows a free trial right now?" |
Compliance posture | Scans trust pages for enterprise signals | "Does this vendor mention SOC 2, GDPR, and SCIM?" |
Security posture | Inspects browser-facing security headers | "Does this app expose HSTS and CSP?" |
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?" |
All results come from live data and are cached for 5 minutes for faster repeat checks.
Concrete Use Case: Grounded Source Lookup
Use Ground Truth when an agent needs to verify that a source or endpoint exists before it uses that source in an answer, support reply, or research note.
Example input:
{
"name": "check_endpoint",
"arguments": {
"url": "https://api.github.com"
}
}Example output shape:
{
"url": "https://api.github.com/",
"accessible": true,
"status": 200,
"contentType": "application/json; charset=utf-8",
"responseTimeMs": 120,
"authRequired": false,
"rateLimited": false,
"sampleResponse": "{\"current_user_url\":\"https://api.github.com/user\"..."
}This gives the agent source-backed context that the URL was reachable at call time and enough response detail to decide whether to use the source, retry, or ask for a different URL.
Complementary MCP Servers
Ground Truth is strongest when paired with a broader discovery or browser tool:
Tavily MCP Server for real-time web search and content discovery before you run a claim or pricing check.
Firecrawl MCP Server for deeper crawling and JS-heavy page extraction when raw HTML heuristics are not enough.
mcp-server-browserbase for interactive browser verification on pages that need clicks, auth, or client-side rendering.
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.
Why AI Agents Need Verification
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:
Before quoting a price, pull the live pricing page
Before comparing vendors, scan their live pricing pages side by side
Before repeating a compliance claim, scan the live trust page
Before asserting a security baseline, inspect the response headers
Before saying a competitor does not exist, search the live registry
Before recommending an API, confirm the endpoint responds
Before calling one package more popular, compare real package metadata
Before repeating a policy, verify the language on the current public page
The result is simple: agents that are less confident for the wrong reasons and more reliable when it matters.
Example Workflows
Verify a pricing claim
"Notion costs $8 per user per month for teams."
Use check_pricing on the live pricing page before repeating the number.
Check whether a competitor exists
"There is no good edge ORM alternative to Prisma."
Use estimate_market to search npm for edge orm and see what already exists.
Compare vendor pricing pages
"Vendor A is cheaper than Vendor B."
Use compare_pricing_pages to compare live pricing pages before repeating the claim.
Scan a trust page
"This vendor supports SOC 2, GDPR, and SCIM."
Use assess_compliance_posture before treating that as current fact.
Inspect browser-facing security headers
"This app has a strong public security baseline."
Use inspect_security_headers before making the claim.
Validate an API endpoint
"Use the OpenAI
/v1/modelsendpoint to list available models."
Use check_endpoint before recommending it in docs, code, or support replies.
Compare package popularity
"Vue has overtaken React."
Use compare_competitors to compare live package metadata instead of guessing.
Test a market assumption
"There are fewer than 50 MCP tools on npm."
Use test_hypothesis with a count-based check and return the actual result.
Confirm whether a support policy applies
"AWS Business support includes 24/7 phone support."
Use verify_claim against the current AWS support page before treating that as fact.
Access Modes
Free
Free tier includes limited monthly endpoint and security-header checks.
check_endpointinspect_security_headers100 requests per calendar month
Tracked by Cloudflare client IP in production, or
X-Anonymous-Client-Idfor local/dev testingNo signup or API key required
Agentic pay-per-use
Paid tools also support agentic pay-per-use.
Use an x402-compatible MCP client, or put an xpay MCP proxy in front of this server
Tool pricing starts at
$0.01per call and varies by toolBest for autonomous agents or variable workloads
Includes
estimate_market,check_pricing,compare_pricing_pages,compare_competitors,verify_claim,assess_compliance_posture, andtest_hypothesis
Team
Team subscription uses API-key billing with predictable monthly usage.
Requires
X-API-Keywith active billingDefault quota of 5,000 requests per calendar month
Monthly usage tracked per API key and tool
Includes all paid verification tools
API Examples
Direct API with curl
Direct HTTP calls to /mcp are session-based. Initialize once, keep the returned mcp-session-id, then call tools with that header.
This example calls the free check_endpoint tool with no API key.
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" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "check_endpoint",
"arguments": {
"url": "https://api.github.com"
}
},
"id": 1
}'JavaScript fetch
const 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,
},
body: JSON.stringify({
jsonrpc: "2.0",
method: "tools/call",
params: {
name: "check_endpoint",
arguments: {
url: "https://api.github.com",
},
},
id: 1,
}),
});
const result = await response.json();
console.log(result);Lightweight request checks for free access, team-plan billing, invalid keys, inactive billing, quota enforcement, and active paid access live in test-usage-enforcement.sh.
MCP Setup
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.
If you want agentic pay-per-use without changing your app code, register this MCP URL with xpay and share the resulting proxy URL instead.
Claude Desktop
For the free first call, add this to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"ground-truth": {
"url": "https://ground-truth-mcp.anishdasmail.workers.dev/mcp"
}
}
}Cursor
For the free first call, 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"
}
}
}Optional Team API Key
Only add X-API-Key when you are using paid tools through the team plan:
{
"mcpServers": {
"ground-truth": {
"url": "https://ground-truth-mcp.anishdasmail.workers.dev/mcp",
"headers": {
"X-API-Key": "gt_live_your_key_here"
}
}
}
}Claude Code skill
If you want the same workflow without running a server, see claude-skill/.
Use Cases
Support
Verify a pricing claim before sending it to a customer
Check whether a support policy applies before escalating
Confirm an API endpoint exists before recommending it in a reply
Inspect public security headers before repeating a security claim
Product
Test whether a market assumption is true before writing a spec
Check whether a competitor exists before framing a roadmap
Compare package popularity before making a platform choice
Compare pricing pages before telling a team one vendor is cheaper
Compliance
Scan trust pages for SOC 2, GDPR, HIPAA, DPA, SSO, and SCIM signals
Verify pricing or packaging claims before repeating them internally
Check that a public terms or policy URL is reachable and current
Security & vendor diligence
Compare competitor pricing across live pages
Inspect browser-facing security headers before recommending or approving a vendor
Validate positioning claims with structured checks
Tool Reference
Tool | Tier | What it does |
| Free | Checks whether a URL or API endpoint exists and responds |
| Paid | Counts packages in npm or PyPI for a search term |
| Paid | Extracts prices, plans, and free-tier signals from a page |
| Free | Checks common browser-facing security headers on a public URL |
| Paid | Compares multiple live pricing pages side by side |
| Paid | Compares packages side by side with live metadata |
| Paid | Checks whether live sources support or contradict a claim |
| Paid | Scans a trust page for compliance and enterprise-security signals |
| Paid | Runs pass/fail tests against a live-data assumption |
Full reference: API_USAGE.md
Troubleshooting
Server not connecting
Confirm your MCP client supports remote Streamable HTTP servers.
Confirm the URL is exactly
https://ground-truth-mcp.anishdasmail.workers.dev/mcp.Restart or refresh the MCP client after editing its config.
Run the server-card health check:
curl -I https://ground-truth-mcp.anishdasmail.workers.dev/.well-known/mcp/server-card.json.
No tool calls appearing
Use the copy-paste prompt above and name the tool:
check_endpoint.Make sure the client has Ground Truth enabled in its tool list.
Start with a free tool. Do not add
X-API-Keyunless you are testing paid team access.If the model answers from memory, ask it to call
check_endpointexplicitly.
Missing environment variables
Hosted free checks do not need environment variables or an API key.
Local deployments need the
API_KEYSKV binding for quota tracking.Team billing needs
STRIPE_SECRET_KEYandSTRIPE_WEBHOOK_SECRET.x402 pay-per-use can use defaults for testnet, but production payments should set
GROUND_TRUTH_X402_NETWORKandGROUND_TRUTH_X402_RECIPIENT.
Unsupported MCP client
Use the direct MCP HTTP curl example above to confirm the server works.
Use a client with remote Streamable HTTP support for the hosted server.
If a directory requires stdio, use the included Glama bridge command:
npm run start:glama:stdio.For agentic paid tools in clients without native x402 support, put an xpay proxy in front of the live
/mcpURL.
Architecture
Ground Truth keeps the current Cloudflare Workers architecture:
Runtime: Cloudflare Workers
Storage: Durable Objects with SQLite for cache and usage logs
API keys: Cloudflare KV
Billing: Stripe team subscriptions plus x402-compatible pay-per-use
Protocol: MCP
Language: TypeScript
Distribution
Ground Truth is set up for multiple discovery and monetization paths:
Official MCP Registry publishing through
server.jsonfor ecosystem-wide discovery.Smithery publishing.
smithery.yamldefines the HTTP config schema (optionalX-API-Key) for Smithery's Install button and release flow. Use Smithery's Publish button in the dashboard to create a new release after deploying.xpay MCP monetization. You can register the live
/mcpURL with xpay to get a managed pay-per-tool proxy without changing the server code.MCP Market directory listing for additional discovery.
Apify is optional if you want a separate marketplace-native Actor version later; the current project stays optimized for remote MCP delivery rather than an Actor-first runtime.
Marketplace Profile Copy
Use these snippets when updating Glama, Smithery, MCP Market, or xpay profile fields.
Short description:
Give AI agents one free first check: call
check_endpointto verify a public URL responds, then use paid tools for pricing, compliance, claims, package-market, and competitor checks.
Try-first prompt:
Use Ground Truth to call
check_endpointwithurlset tohttps://api.github.com. Return the URL, status, accessible boolean, and response time.
Setup note:
No API key is required for
check_endpointorinspect_security_headers. AddX-API-Keyonly for team-plan paid tools, or use x402/xpay for pay-per-use paid calls.
Development
cd ground-truth-mcp
npm install
npx wrangler devDeployment notes live in SETUP.md.
GitHub Releases
Stable GitHub releases are created automatically when you push a version tag that matches v*.
git tag v0.4.0
git push origin v0.4.0That 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 Release
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-mcpFor the Glama flow:
Claim the server in Glama.
Open the Dockerfile admin page, use this repository
Dockerfile, and run the deploy test.After the deploy test succeeds, click Make Release, choose a version, and publish.
If the score page still shows
No LICENSE, trigger a re-scan in the Glama admin interface after GitHub has recognized the rootLICENSEfile.If the score page still shows
No related servers, use Add related servers in the claimed Glama UI and addTavily MCP Server,Firecrawl MCP Server, andmcp-server-browserbase. That checklist item is managed on Glama's side rather than inglama.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.
Documentation
API_USAGE.md for API calls and tool arguments
SETUP.md for deployment and billing setup
claude-skill/ for the zero-deployment Claude Code version
Support
License
MIT — see LICENSE
Made by Anish Das
Last updated: May 19, 2026
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/anish632/ground-truth-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server