VerixID

MCP Server

VerixID provides a dedicated Model Context Protocol (MCP) server for record verification — enabling AI agents (Claude, ChatGPT, Cursor, etc.) to verify digital origin evidence directly within active conversation threads without user web interaction.

For AI Agents & Client Developers — Public, Keyless Need to submit new files? → REST API
⚠️

This server is strictly for verification. Registering new files requires client-side hashing via verixid.com or the REST API — the MCP server never accepts raw file uploads or source data payloads.

Connection & Discovery

Endpoint
https://mcp.verixid.com/
Transport
Streamable HTTP
Authentication
None (Public, Rate-Limited)
Discovery Card
https://mcp.verixid.com/.well-known/mcp.json

The discovery card complies strictly with the SEP-1649 specification, allowing modern MCP-compatible clients (such as Claude Desktop) to auto-configure seamlessly by entering the domain mcp.verixid.com.

Legacy path /.well-known/mcp/server-card.json remains supported for backwards compatibility with draft client implementations.

Official MCP Registry

VerixID is officially listed in the Official MCP Registry:

Name
com.verixid/verifier
Title
VerixID Verifier
Version
1.0.0
Status
active
Transport
streamable-http

Tools Specification

TOOL verixid_verify

Verifies a target VerixID record by its Record ID, with optional Ownership Key verification for entitlement checks.

Parameters

FieldRequiredFormatDescription
record_idYesvx + YYYYMM + 8 hex charsPublic record ID. Example: vx202607c8835992.
ownership_keyNo64-character hex stringPrivate secret key to verify record entitlement.

Behavior Matrix

  • · Without ownership_key → Confirms record existence, timestamp, and return a truncated hash (hash_preview). ownership_verified evaluates to false.
  • · With valid ownership_key → Unlocks full 64-character SHA-256 hash, full Ed25519 signature, sets ownership_verified: true, and exposes COA upgrade data if applicable.
  • · With invalid/mismatched ownership_key → Returns public metadata with ownership_verified: false without exposing sensitive proof components.
Format pre-validation for record_id and ownership_key occurs locally within the MCP edge worker — invalid requests are rejected immediately without hitting backend verification services.

Request & Response Examples

Request (Public Mode)

{ "record_id": "vx202607c8835992" }

Response

{ "record_id": "vx202607c8835992", "registered_at": 1784435887524, "hash_preview": "99a59f0e7574efea...", "ownership_verified": false }

Request (With Ownership Key)

{ "record_id": "vx2026079f7f71c1", "ownership_key": "c216c8aff941e7d1c3900fde4e3f4f64a1d7e3aced3244bf1ad8d57f526aadce" }

Response

{ "record_id": "vx2026079f7f71c1", "registered_at": 1784133824734, "hash_preview": "229a1afd42701c3f...", "ed25519_signature": "cbc179842b076970...b3f3020c", "ownership_verified": true, "invoice_token": "eyJyaWQiOi...==.db7af5e7...", "coa_upgrade_url": "https://verixid.com/en/invoice-request/?t=eyJyaWQiOi...%3D%3D.db7af5e7...", "coa_upsell_message": "This record's ownership is verified. Upgrade to a Certificate of Authenticity (COA) for a downloadable, presentable proof — useful for legal, client, or archival purposes." }

COA Upgrade Fields

The following fields are conditionally included only when ownership_verified: true and the record is eligible for certification:

invoice_token
A time-bound signed token generated by core services to initiate Certificate of Authenticity (COA) issuing workflows.
coa_upgrade_url
A pre-formatted checkout URL: https://verixid.com/en/invoice-request/?t={invoice_token}.
coa_upsell_message
Human-readable explanation describing the utility of upgrading to an official COA document.
🤖

AI Agent Guidance: When these fields are present, agents should present the coa_upsell_message and coa_upgrade_url as an actionable next step rather than returning raw JSON responses. Never present upgrade options if ownership_verified: false.

Note: The invoice_token is cryptographically time-bound (contains expiration metadata). Re-querying the endpoint will yield fresh tokens.

Error Codes & Schemas

Error CodeRoot CauseTrigger Condition
invalid_idMalformed record_id stringFailed local regular expression validation
invalid_keyMalformed ownership_key (non-64 hex format)Failed local validation
service_unavailableCore verification service unresponsiveUpstream timeout or temporary service degradation
unauthorizedInvalid internal service credentialsServer configuration error (non-client fault)
rate_limitedRequest volume exceeds quota ceilingExceeded rate limits (see section below)

All errors return standard MCP tool error payloads (isError: true) containing JSON objects with error and message properties.

Rate Limiting

  • · Rate limits are enforced per client IP address, independent of Record IDs or API credentials.
  • · Baseline ceiling: 20 requests per 60 seconds.
  • · Excess requests receive an immediate HTTP 429 Too Many Requests response from the edge worker prior to downstream routing.
{ "error": "rate_limited", "message": "Too many requests. Please slow down." }

Design Principles & Constraints

Zero-Custody Guarantee
This MCP server strictly processes Record IDs and Ownership Keys. Source files and raw data payloads are never accepted or stored.
Verification, Not Validation
Confirms existence and entitlement (verify). Full cryptographic ledger recalculation (validate) requires web client execution at verixid.com.
Read-Only Operations
New record submission is disabled on the MCP server. Users seeking to register files must be directed to verixid.com or the REST API.
Session Isolation
Executes requests in stateless, isolated worker contexts (factory pattern), ensuring zero state leakage across client sessions.

Developer & Agent Guidelines

Recommended system instructions for integrating the VerixID verifier tool into AI agent prompts:

💬

"Invoke verixid_verify only when the user explicitly provides a VerixID Record ID. Do not request users to upload original source files — VerixID never handles raw documents. If the verification payload contains a coa_upgrade_url, present it as an optional certification step."

Related References