Verified brand claims with receipts for agent commerce. Ranking is never paid; the engine is open.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
The deterministic scoring engine behind Graviti β trust infrastructure for agent-mediated commerce, built by Singulariti. This repository exists so the site's central claim ("scoring is open to audit") is checkable, not just stated: src/engine.ts here is the exact module that ranks every recommendation in production β the MCP servers, the web console, and the public endpoints all import this one file. There is no private ranking path.
Graviti speaks MCP on two paths; both serve the same seven tools (match_intent, get_verified_claims, category_landscape, get_accountability_log, get_ledger, get_gap_report, report_conversion) through this exact engine.
Remote (fastest) β hosted Streamable HTTP endpoint, no auth, no account:
Local β the graviti-mcp npm package over stdio:
The package ships an index snapshot and, on startup, pulls the latest published index and verifies it against the signed ledger β the pinned key, two independent ledger paths, and the replay guard are the same procedure as scripts/verify-payload.mjs below. A tampered or replayed payload is never used. (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; wiring for other clients at graviti.thesingulariti.ai/use-graviti.)
matchIntent() and confirm no payment signal enters it.The only score adjustments tied to a brand's standing are the fixed, disclosed lifecycle penalties (LIFECYCLE_PENALTY: flagged β0.05, degraded β0.15) β driven by monitored quality signals, never by payment status β and revoked brands are excluded from scoring entirely.
disclosure(): rank_influenced_by_payment: false, who paid, who didn't, and what payment buys β machine-readable, on every response.in_index: false branch of matchIntent().The demo runs the engine over data/sample-index.json, a small real slice of the public index (five categories, ~100 brands, with claims, provenance URLs, and the accountability log). For the complete picture, fetch index-full.json and substitute it β the engine takes any BrandIndex.
The index's version history is a hash chain: each entry commits to the SHA-256 of the canonical full-index content and the previous entry's hash, is Ed25519-signed against the published public key (data/public-key.pem, also served at /public-key.pem), and is anchored to Bitcoin via OpenTimestamps. Rewriting any historical entry breaks every hash after it β even Graviti cannot edit the record.
The script needs no secrets and no Graviti-run infrastructure: it recomputes every entry hash, walks the chain back to genesis, and checks every signature against the public key. Bitcoin anchors can be independently replayed with the open-source OpenTimestamps client against proofs at /ots/v<N>.ots β instructions in llms.txt.
The ledger proves what was published. It cannot see the pipe: TLS-terminating proxies, CDNs, caches, and load balancers sit between Graviti's origin and your process, and any of them could alter a payload with no ledger entry capturing the delta. From ledger v25, every entry's signed core pins a sha256 manifest of every published payload (files.artifacts), so the check moves to your side of the pipe. Verify before trust:
scripts/verify-payload.mjs is dependency-free (Node β₯ 20) and exits nonzero on any failure. It:
/ledger.json β verifies both chains, and cross-checks the heads (a fork or an origin serving an older ledger than the public mirror fails loudly);/public-key.pem is cross-checked against the pin and a mismatch is a failure, never a source of trust;No Node? The core check is two commands with curl, jq, and sha256sum β expected hash from the mirror snapshot (independent path), actual hash from the bytes that reached you:
The two hashes must match. (JSON payloads are hashed in canonical form β recursively sorted keys, no whitespace β after deleting the two volatile envelope fields generated_at and integrity, which carry the build timestamp and the pinning entry's own hash and so cannot be inside the pinned content. /llms.txt is hashed as exact bytes, no jq step.) For the full guarantee, also confirm the mirror and origin ledgers agree and the signature chain verifies β that's steps 1β2 above, or npm run verify:ledger.
The boundary, honestly: a passing check proves the bytes that reached the edge of your process match Graviti's signed, Bitcoin-anchored record. Nothing cryptographic reaches inside your runtime or a model's context window after verification passes β if your own stack mutates the data afterwards, no publisher-side mechanism can see it. Verify as close to the point of use as you can; the last hop is yours.
src/engine.ts, scripts/verify-ledger.mjs (modulo the live-fetch adaptation noted in its header), data/ledger.json, and data/public-key.pem mirror the private Graviti monorepo at commit cf24943 (2026-08-26). The engine file is verbatim β re-syncing is a file copy plus an update to this line, and it now happens automatically with every ledger snapshot sync. This sync carries the rubric-pinning release: from ledger v26 every entry's signed core carries a rubric field β the sha256 and git blob sha1 of the exact committed src/engine.ts that scored every ranking published under that entry, plus the pinning private-repo commit and this repository's URL. That makes the sync provenance checkable instead of stated:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/graviti)<a href="https://allmcps.com/mcp/graviti"><img src="https://allmcps.com/api/badge/graviti?style=directory" alt="Graviti on AllMCPs" /></a>