Skip to main content
Glama
VeriLock MCP

VeriLock MCP

VeriLock MCP

@clevertech-os/verilock-mcp is a read-only Model Context Protocol server for VeriLock document metadata and cryptographic evidence. It connects to the existing https://verilock.online API and never accepts document bytes or returns signature image bytes.

Phase 1 tools

Tool

Upstream route

Authentication

list_documents

GET /api/me

Required

get_document

GET /api/documents/:id

Optional

verify_document_hash

POST /api/verify/hash

Not required

get_audit_events

GET /api/documents/:id/events

Required

get_evidence_manifest

GET /api/documents/:id/evidence-manifest

Required

get_certificate

GET /api/documents/:id/certificate

Not required

get_chain_attestation

GET /api/attestations/status/:txHash

Required

get_signing_status

Derived from GET /api/documents/:id

Optional

Every tool is annotated readOnlyHint: true, destructiveHint: false, idempotentHint: true, and openWorldHint: true. Signing and all mutations remain in the VeriLock application.

Related MCP server: proofrelay

Stdio setup

npm install
npm run build
VERILOCK_TOKEN=your-verilock-session-token npm start

Example client configuration after cloning and building this repository:

{
  "mcpServers": {
    "verilock": {
      "command": "node",
      "args": ["/absolute/path/to/verilock-mcp/dist/stdio.js"],
      "env": { "VERILOCK_TOKEN": "your-verilock-session-token" }
    }
  }
}

The package is prepared for a future npm release as @clevertech-os/verilock-mcp, but Phase 1 is currently distributed from this GitHub repository.

Streamable HTTP setup

npm run build
npm run start:http

The endpoint is POST /mcp; health is GET /healthz. The HTTP entry point forwards only the current request's Authorization: Bearer ... header. It does not use VERILOCK_TOKEN, which is reserved for stdio. Put the endpoint behind HTTPS and an access control layer before exposing it outside a trusted network.

Configuration

Copy .env.example to .env for local use. VERILOCK_API_BASE_URL defaults to https://verilock.online. HTTPS is mandatory except for http://localhost, http://127.0.0.1, and http://[::1]. The base URL is fixed at process startup and cannot be supplied by a tool caller. Request timeouts default to 10 seconds and response bodies default to a 1 MiB limit.

Privacy and security

The server forwards the session token only to the configured VeriLock API and never logs it. Upstream errors are sanitized before being returned to an MCP client. Auth-required calls fail locally when no token is present. Hash verification accepts only a 64-character hexadecimal SHA-256 digest. URL path parameters are encoded as one segment. Keep tokens in environment secrets, use TLS, and grant MCP clients only the access they need.

Deployment

The included Dockerfile runs the HTTP transport on port 8787 as the unprivileged node user. A typical deployment sets VERILOCK_API_BASE_URL, configures a TLS reverse proxy, and restricts /mcp to intended clients. Do not put a long-lived user token in a public URL or image layer.

The container sets VERILOCK_HTTP_HOST=0.0.0.0 so its published port is reachable. The non-container default remains 127.0.0.1 for safer local development.

Development

npm install
npm run format
npm run build
npm test
npm audit --omit=dev

See CONTRIBUTING.md and SECURITY.md.

Available Tools

8 tools
get_audit_eventsGet audit eventsB
Read-onlyIdempotent

Read the private, hash-only evidence event history for a document.

Inputs: documentId (required).

get_certificateGet evidence certificateA
Read-onlyIdempotent

Read the public human-readable evidence certificate for a document.

Inputs: documentId (required).

get_chain_attestationGet chain attestationA
Read-onlyIdempotent

Read the on-chain attestation status for a transaction hash.

Inputs: txHash (required).

get_documentGet a VeriLock documentA
Read-onlyIdempotent

Get public metadata and signing information for a document.

Inputs: documentId (required).

get_evidence_manifestGet evidence manifestB
Read-onlyIdempotent

Read the cryptographic evidence manifest for a document.

Inputs: documentId (required).

get_signing_statusGet signing statusA
Read-onlyIdempotent

Return a compact signing status summary derived only from the document response.

Inputs: documentId (required).

list_documentsList VeriLock documentsA
Read-onlyIdempotent

List documents available to the authenticated account.

Inputs: no named parameters.

verify_document_hashVerify a document hashA
Read-onlyIdempotent

Find VeriLock records matching an exact SHA-256 digest. No document bytes are accepted.

Inputs: sha256 (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 8 tools

    Disambiguation4/5

    Most tools have clearly distinct purposes—list, get, verify, and the various evidence artifact retrievals are well separated. There is minor overlap between get_document's signing information and get_signing_status's signing summary, which could cause occasional misselection.

    Naming Consistency5/5

    All tool names follow a consistent snake_case verb_noun pattern: list_documents, get_document, verify_document_hash, get_audit_events, and so on. The pattern is predictable and makes the group easy to navigate.

    Tool Count5/5

    Eight tools is well within the ideal range for a document verification/evidence server. Each tool covers a distinct operation needed for verification workflows without being bloated or thin.

    Completeness4/5

    The server covers the core read-side workflow: listing, retrieving, hash verification, audit events, evidence manifests, certificates, chain attestation, and signing status. A minor gap is the absence of a direct signature or document-binary verification behavior, though the hash-only approach may be intentional.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      F
      maintenance
      Read-only ProofRelay MCP verifier for non-confidential evidence bundles. Exposes 22 public-safe tools, 11 resources, and 11 prompts for bundle integrity checks, receipt-chain review, checkpoint recommendations, MCP risk metadata review, and real-estate closing proof-pack readiness.
      5
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Provides a read-only MCP interface to query and retrieve verifiable evidence from a local memory bank, supporting search, dossier, chronology, source, and evidence tools.
      6
      BSD Zero Clause
    • A
      license
      Not graded
      quality
      A
      maintenance
      Provides a local-first, evidence-backed ledger for physical property, enabling agents to search inventory, prepare capture reviews, and inspect proposals through MCP. Enforces strict boundaries: scoped reads by default, with private write access limited to preparing, not applying, mutations.
      MIT