What is MCP?
The Model Context Protocol is an open standard developed by Anthropic that allows AI agents to query external data sources in a structured, schema-defined way, without needing custom integrations for each source.
Instead of scraping your website or relying on training data, an MCP-compatible agent can directly query your ClaimSentry endpoint and receive your official commitments as structured JSON. The agent then incorporates this data into its response, grounded in your verified facts.
MCP is supported by Claude Desktop, Cursor, Claude in the API (tool use), and a growing ecosystem of developer tools. Any agent that supports the SSE transport can connect to ClaimSentry.
Your ClaimSentry endpoint
Each ClaimSentry instance exposes an MCP server at:
https://<your-instance>/mcp/sse
The endpoint uses Server-Sent Events (SSE) transport. It is read-only and intentionally public, it exposes only the claims you explicitly mark as published in the dashboard. In production, protect it at the ingress level (nginx rate limiting, IP allowlist) rather than with authentication, so MCP clients don't need to manage credentials.
Claude Desktop configuration
Add the following to your claude_desktop_config.json file (usually at ~/Library/Application Support/Claude/ on macOS):
{
"mcpServers": {
"claimsentry": {
"url": "https://<your-instance>/mcp/sse"
}
}
}
After saving, restart Claude Desktop. You will see a ClaimSentry tool available in the tool picker. Claude can now answer questions about your brand using your certified facts as context.
Cursor configuration
In Cursor, open Settings → MCP and add a new server entry:
{
"name": "ClaimSentry",
"transport": "sse",
"url": "https://<your-instance>/mcp/sse"
}
Cursor will automatically discover the available tools and make them available to the AI assistant in your editor context.
Available tools
All three tools are read-only and only surface claims with status: published. Unpublished, draft, or proposal-status claims are never exposed.
sla, technical, legal. Omit to return all categories.Response, array of compact claim objects
[
{
"id": 42,
"category": "sla",
"claim_key": "uptime_99_9",
"claim_text": "The service guarantees 99.9% monthly uptime.",
"confidence": 0.95,
"source": "ACME SLA v2.3"
}
]
claim_text, claim_key, and verification_prompt. Example: "battery range certification"sla, technical, or legalResponse, same compact format as list_claims
[
{
"id": 42,
"category": "sla",
"claim_key": "uptime_99_9",
"claim_text": "The service guarantees 99.9% monthly uptime.",
"confidence": 0.95,
"source": "ACME SLA v2.3"
}
]
verification_prompt, the exact question used to challenge agents, and the ISO 8601 publication timestamp. Raises an error if the claim does not exist or is not in published status.id returned by list_claims or search_claimsResponse, full claim object
{
"id": 42,
"category": "sla",
"claim_key": "uptime_99_9",
"claim_text": "The service guarantees 99.9% monthly uptime.",
"verification_prompt": "Does the service guarantee 99.9% or higher monthly uptime?",
"confidence": 0.95,
"source": "ACME SLA v2.3",
"published_at": "2025-06-01T14:32:00"
}
Response field reference
| Field | Type | In list / search | In get_claim | Description |
|---|---|---|---|---|
id | integer | ✓ | ✓ | Unique numeric identifier. Use it to call get_claim. |
category | string | ✓ | ✓ | One of sla, technical, legal. Determines which judge prompt is used for challenges. |
claim_key | string | ✓ | ✓ | Stable snake_case identifier for the claim within a source. Unique per source, human-readable. |
claim_text | string | ✓ | ✓ | The exact obligation or fact as stated in the authoritative source. This is the ground truth. |
confidence | float [0–1] | ✓ | ✓ | Extraction confidence assigned by the internal judge LLM. Values ≥ 0.8 are considered high-confidence. |
source | string | ✓ | ✓ | Human-readable name of the authoritative source document. |
verification_prompt | string | , | ✓ | The natural-language question sent to AI agents during a challenge run. Designed so that a truthful agent can answer it using claim_text. |
published_at | ISO 8601 string | , | ✓ | UTC timestamp when the claim was promoted to published status. |
Category values
| Value | Used for | Judge prompt | Extraction prompt |
|---|---|---|---|
sla | Service level commitments: uptime, response times, availability windows | judge_sla | extract_sla |
technical | Product specifications: dimensions, certifications, performance metrics, materials | judge_technical | extract_technical |
legal | Legal obligations: warranty terms, compliance statements, regulatory certifications | judge_legal | extract_legal |
The factcheck category exists internally for the Fact Checker workflow but is not exposed via MCP. Fact-check claims are transient (tied to a specific article URL) and are not part of your published brand registry.
Authentication & security
The MCP endpoint has no authentication by design. Published claims are intentionally public, they represent facts you want AI agents to know about your brand.
For production deployments, restrict access at the ingress level:
# nginx example, rate limiting
limit_req_zone $binary_remote_addr zone=mcp:10m rate=30r/m;
location /mcp/ {
limit_req zone=mcp burst=10 nodelay;
proxy_pass http://backend:8000;
}
Enterprise customers can additionally restrict by IP allowlist and configure a dedicated subdomain for their MCP endpoint.
Verified commitments, sealed verdicts
The commitments you publish via MCP are the same ones ClaimSentry uses for challenge runs. When a challenge completes, each verdict is hashed (SHA-256) and submitted to an RFC 3161-compliant Timestamp Authority (TSA) the moment it is countersigned. The TSA returns a signed token (.tsr) that seals the verdict at that exact point in time — verifiable independently with standard tools such as openssl.
Under Article 41 of the eIDAS Regulation (EU 910/2014), an electronic timestamp is admissible as evidence in legal proceedings; issued by a qualified timestamping authority, it enjoys a presumption of the accuracy of its date and the integrity of the data. ClaimSentry supports qualified TSAs (dedicated configuration). The result is a closed loop: your official commitments are published via MCP, your agents are challenged against them, and every outcome is sealed into an Evidence Pack you can verify yourself — with no vendor lock-in.
Deployment note. RFC 3161 timestamping and qualified-TSA configuration are available on the On-premise deployment. See Evidence Pack on the main site for details, or compare offers.
Compatibility
| Client | Transport | Compatible | Notes |
|---|---|---|---|
| Claude Desktop | SSE | ✓ Yes | Native MCP support, tool picker UI |
| Cursor | SSE | ✓ Yes | Settings → MCP → add server |
| Claude API (tool use) | HTTP | ✓ Yes | Use list_claims as a custom tool |
| Any MCP SSE client | SSE | ✓ Yes | Standard MCP protocol |
| GPT-4 (OpenAI) | , | No native MCP | Use the REST API as a custom function |
| Gemini | , | No native MCP | Use the REST API as a custom function |
No MCP support? ClaimSentry also exposes a standard REST API. Any agent that supports HTTP function calling can query GET /api/claims/published with a Bearer token to retrieve verified claims.