npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

zetrix-tradetrust-mcp

v0.4.0

Published

MCP server exposing TradeTrust operations on the Zetrix L2 as MCP tools (thin client over core-engine's REST API).

Readme

zetrix-tradetrust-mcp

MCP (Model Context Protocol) server exposing TradeTrust document/eBL operations on the Zetrix L2 as MCP tools — a thin, HMAC-signed client over core-engine's REST API. Read tools (verify, status, finality lookups) work with just a baseUrl; write/workflow tools (issue, mint, transfer, sign) are opt-in and need a caller identity.

Install

npm install

Published on npm: zetrix-tradetrust-mcp.

Zero-config quick start

Z2TT_CALLER_ID/Z2TT_HMAC_SECRET are optional. With neither set, the server still starts and registers health_check, verify_credential, verify_ebl, and list_document_types — the routes core-engine itself treats as unauthenticated, plus a local document-type lookup with no network call at all. Z2TT_BASE_URL/Z2TT_ENV default to the z2-testnet sandbox. This is enough to verify documents or check liveness with zero configuration:

npm run build
node dist/index.js

Add credentials any time (below) to unlock the full read/write tool set.

Configure

export Z2TT_ENV="z2-testnet"       # or "z2-mainnet" -- shortcut for the known core-engine deployments
# export Z2TT_BASE_URL="https://core-engine.example/api/z2-core-engine"  # custom deployment instead
export Z2TT_CALLER_ID="zetrix-tradetrust-mcp"
export Z2TT_HMAC_SECRET="…"        # issued out-of-band by whoever operates the deployment
export Z2TT_ALLOW_WRITES="true"    # omit/false to register read-only tools

Or point Z2TT_PROFILE at a JSON file instead:

{
  "baseUrl": "https://core-engine.example/api/z2-core-engine",
  "callerId": "zetrix-tradetrust-mcp",
  "hmacSecret": "…"
}

Preparing documents: documentType

prepare_credential, prepare_mint_ebl, issue_document, and mint_ebl accept an optional documentType (e.g. "certificateOfOrigin", "billOfLading", "commercialInvoice") that auto-fills the JSON-LD @context a document type needs for core-engine's signing to succeed — call list_document_types first (no auth needed) to see every known type, its expected credentialSubject.type, whether its shape is proven against core-engine, and (if known) the templateName it implies for rendering. Supplying context directly still works exactly as before; documentType is purely additive. prepare_credential's context[0] defaults to https://www.w3.org/ns/credentials/v2 when omitted, matching core-engine's own default; the older v1.1 base context is rejected outright since core-engine can no longer sign against it.

Passing renderMethod (even {}) opts a document into rendering: id defaults to this deployment's renderer URL, type defaults to EMBEDDED_RENDERER, and templateName defaults to whatever documentType implies — supply any field yourself to override just that one. If documentType is omitted (or has no known templateName mapping), templateName must be supplied explicitly; there's no content-agnostic default in core-engine's real template allowlist.

Run

npm run build
node dist/index.js

Or run from source directly with npm run dev (no build step). Either way, the process listens on stdio — it doesn't print anything on success, since MCP clients spawn it and speak the protocol over stdin/stdout, not a human terminal session.

Register with an MCP client

{
  "mcpServers": {
    "zetrix-tradetrust-mcp": {
      "command": "node",
      "args": ["/abs/path/dist/index.js"],
      "env": {
        "Z2TT_BASE_URL": "https://core-engine.example/api/z2-core-engine",
        "Z2TT_CALLER_ID": "zetrix-tradetrust-mcp",
        "Z2TT_HMAC_SECRET": "…",
        "Z2TT_ALLOW_WRITES": "false"
      }
    }
  }
}

OpenClaw

If the client is OpenClaw, skip the manual mcpServers wiring and install openclaw-plugin/ instead — openclaw plugins install ./openclaw-plugin self-registers this server and exposes the same config as plugin settings (network/baseUrl/callerId/hmacSecret/allowWrites, all optional).

License

MIT — see LICENSE.