Graviti MCP
Provides an MCP server interface to Graviti's trust infrastructure, allowing agents to access a verified, machine-readable index of product claims with provenance, freshness timestamps, and verification statuses. It enables agents to perform brand scans, check verification standards, and access integrity ledgers for agent-mediated commerce.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://graviti.thesingulariti.ai/api/mcpWhat its tools do
7 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (6)
Can change data (1)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to thesingulariti.ai ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Access verified product claims and provenance
- Check brand verification status and audit logs
- Scan brands for competitor and rank data
- Verify index integrity via hash-chained ledger
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- graviti 0.2.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 7 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Tools
7 advertised
match_intent — Match buyer intent to brands
Takes a natural-language buyer question plus optional intent profile; returns recommendations ranked purely by fit score. Verification status is disclosed but never affects rank. Questions outside the verified index return an explicit out-of-scope result (in_index: false), never a guess. Brands without captured evidence (catalog_only) are returned in in_landscape_not_evidenced — listed, never scored, never recommended. Each recommendation carries the brand's site link twice: site_url (raw) and attributed_url (tagged utm_source=graviti + a signed gvt token, so the brand can verify the referral — surface-level only, no user data). Prefer attributed_url when linking. Where the brand publishes a discount code/promotion on its own pages, the entry carries an offers block (code, terms, verbatim-quote receipt, 14-day re-check window) — disclosure only: offers NEVER affect ranking, and a better deal never outranks a better fit.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"question"
],
"properties": {
"question": {
"type": "string",
"description": "The buyer's question, as they phrased it"
},
"intent_profile": {
"enum": [
"anxious_first_timer",
"technical_buyer",
"price_shopper",
"general"
],
"type": "string",
"description": "Buyer intent voice; inferred from the question if omitted"
}
}
}{
"title": "Match buyer intent to brands",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_verified_claims — Get claims with provenance for a brand
Structured claims for one brand: provenance URLs, freshness timestamps, corroboration counts, and verification status (verified means the brand pays for auditing — always disclosed). Where captured, includes the specifications block (ingredient/spec disclosure with per-fact provenance) and its info_quality score — a 0–100 measure of disclosure completeness that never influences ranking. Graviti does not assess efficacy or clinical outcomes (not_assessed fence in every block). Claims with confirmation_status 'awaiting_brand_confirmation' are pending the brand's response to a re-verification ask — treat them as unconfirmed, not as violations. Where captured, an offers block lists the brand's published discount codes with receipts and full status history (active / expired / failed_verification) — disclosure only, never a ranking input.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"brand"
],
"properties": {
"brand": {
"type": "string",
"description": "Brand id or name, e.g. 'bioptimizers'"
}
}
}{
"title": "Get claims with provenance for a brand",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}category_landscape — Category comparison table
Comparison-table view of every brand in a category across disclosed attributes, with verification status marked per entry. Entries with captured ingredient/spec data also carry info_quality (0–100 disclosure completeness — transparency, never a rank factor; absent means not yet assessed, not zero). Every row carries evidence_state (audited / sourced / catalog_only); catalog_only rows are landscape presence only — never ranked or recommended. Rows include site_url and attributed_url (utm_source=graviti + signed gvt token — surface-level referral attribution, no user data); prefer attributed_url when linking. Rows with a published, receipt-backed discount code carry an offers array — disclosure only, never a ranking input.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"category": {
"type": "string",
"description": "Category id, e.g. 'magnesium-supplements' or 'cold-plunge'; omit for all categories"
}
}
}{
"title": "Category comparison table",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_accountability_log — Public accountability log
Public, machine-readable log of every seal lifecycle change: flags, degradations, revocations, and restorations, with dates and reasons — plus confirmation-loop events (event: confirmation_request / confirmation_resolved), where the audit asked a brand to confirm a claim it couldn't re-verify: a visible ask, never a penalty. Also logged: claim_removed (a claim struck from a record, reason public), gap_report_delivered (a paid-tier report delivered to a brand, payment status disclosed — findings and rank never affected), and roster events (brand_added with lane/source, brand_removed, brand_declined, brand_skipped — every future change to who is in the index lands here per brand, reason public). The seal can be lost — a pulled seal is the loudest proof it means something. Payment can fast-track a re-evaluation; it can never change what it finds.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}{
"title": "Public accountability log",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_ledger — Integrity ledger (hash-chained, signed, Bitcoin-anchored)
Append-only version history of the index: each entry commits to the SHA-256 of the canonical index content and the previous entry's hash (rewriting history breaks every hash after it), is Ed25519-signed, and is anchored to Bitcoin via OpenTimestamps. Returns entries plus independent verification instructions. Even Graviti cannot rewrite the record.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}{
"title": "Integrity ledger (hash-chained, signed, Bitcoin-anchored)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_gap_report — Brand gap report (brand intelligence)
What stands between a brand and top-of-category: attribute gaps vs the category leader, open flags, cohort blind spots per buyer-intent voice, and the ingredient/spec disclosure dimension — the brand's info_quality score with the exact publishable fixes that would raise it (publishing more truth, not paying Graviti). Demo of the paid brand-intelligence product — computed deterministically from the index; in production also draws on consented, compensated cohort signals (profiles never leave the user's agent). Catalog-only brands (no captured claims) receive an insufficient-evidence report instead of ranks.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"brand"
],
"properties": {
"brand": {
"type": "string",
"description": "Brand id or name, e.g. 'bioptimizers'"
}
}
}{
"title": "Brand gap report (brand intelligence)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}report_conversion — Report an attributed conversion (demo stub)
Appends one attributed-transaction event to a log — the demo stub of the pay-on-real-acquisition loop. It moves no money, calls no external service, and never deletes or overwrites anything; the response states where (and whether) the event was persisted on this transport. Payment only ever flows on real transactions, never on impressions or rank. Optionally pass the gvt attribution token from the recommendation link that led to the purchase: it is verified against the published Ed25519 key and recorded with the event as verifiable provenance of the originating recommendation. Optionally pass offer_code if the buyer used a published code from the index's offers block, so deal-driven conversions are attributable — recorded as reported, never a rank input.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"brand_id",
"conversation_id",
"agent_platform",
"order_value_usd"
],
"properties": {
"gvt": {
"type": "string",
"description": "Optional: the gvt token from the attributed_url of the originating recommendation (gvt1.<surface>.<category>.<brand>.<date>.<sig>) — binds this conversion to a verifiable recommendation surface"
},
"brand_id": {
"type": "string"
},
"offer_code": {
"type": "string",
"description": "Optional: the published offer code the buyer applied (from the recommendation's offers block), e.g. 'WELCOME15' — attributes the conversion to a captured deal"
},
"agent_platform": {
"type": "string",
"description": "e.g. 'claude', 'chatgpt', 'perplexity'"
},
"conversation_id": {
"type": "string",
"description": "Opaque id for the agent conversation that led to purchase"
},
"order_value_usd": {
"type": "number",
"exclusiveMinimum": 0
}
}
}{
"title": "Report an attributed conversion (demo stub)",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
- 2026-11-09: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 408 ms
- 95th percentile latency
- 408 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 408 ms · metadata changed · 7 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http graviti-mcp https://graviti.thesingulariti.ai/api/mcpCodex
codex mcp add graviti-mcp --url https://graviti.thesingulariti.ai/api/mcpCursor
{
"mcpServers": {
"graviti-mcp": {
"url": "https://graviti.thesingulariti.ai/api/mcp"
}
}
}Cline
{
"mcpServers": {
"graviti-mcp": {
"type": "streamableHttp",
"url": "https://graviti.thesingulariti.ai/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"graviti-mcp": {
"type": "http",
"url": "https://graviti.thesingulariti.ai/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http graviti-mcp https://graviti.thesingulariti.ai/api/mcpClaude Desktop
https://graviti.thesingulariti.ai/api/mcpWindsurf
{
"mcpServers": {
"graviti-mcp": {
"serverUrl": "https://graviti.thesingulariti.ai/api/mcp"
}
}
}Let your agent find its tools
Find servers like Graviti MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other commerce servers
Do you run Graviti MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.