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

@zkmelabs/agent-toolkit

v0.1.2

Published

Minimal zkMe SDK, CLI demo, and local MCP server for existing developer APIs.

Readme

zkMe Agent Toolkit

Minimal SDK, CLI demo, and local MCP server for AI-readable zkMe developer integrations.

This package wraps existing zkMe public APIs. It does not add new AI-only business APIs, OAuth, database tables, hosted MCP services, or broader data permissions.

Supported P0 APIs

| SDK method | Existing endpoint | Purpose | |---|---|---| | client.kyt.status() | POST /openapi/kyt/status | Check KYT API availability. | | client.kyt.getRiskScore() | POST /openapi/kyt/risk/score | Get risk score for one address or transaction hash. | | client.kyc.getStatus() | POST /openapi/v2/queryKycInfoByAddress | Get KYC status for one account and program. |

Install

npm install @zkmelabs/agent-toolkit

For local source testing inside this repository:

cd agent-toolkit
npm install
npm run build
npm test

Configure

Set credentials in the runtime environment, not in prompts or source code.

export ZKME_API_BASE_URL="https://api.zk.me"
export ZKME_MCH_NO="your_merchant_no"
export ZKME_API_KEY="your_api_key"

For sandbox or test usage, use the API base URL provided by zkMe without the endpoint path:

export ZKME_API_BASE_URL="<zkme_sandbox_api_base_url>"

The SDK also signs POST requests for the zkMe gateway. Defaults are provided for the public developer gateway:

export ZKME_APP_VERSION="zkserapi_1.0.0"
export ZKME_APP_KEY="<provided by zkMe when a non-default gateway key is required>"

Most developers only need to set ZKME_API_BASE_URL, ZKME_MCH_NO, and ZKME_API_KEY.

SDK Example

import { ZkMeClient } from "@zkmelabs/agent-toolkit";

const client = new ZkMeClient();

const status = await client.kyt.status();
const risk = await client.kyt.getRiskScore({
  coin: "ETH",
  address: "0x0000000000000000000000000000000000000000"
});
const kyc = await client.kyc.getStatus({
  programNo: "202302170004",
  account: "0x0000000000000000000000000000000000000000",
  chainId: "137"
});

console.log({ status, risk, kyc });

CLI Demo

zkme-demo kyt-status
zkme-demo kyt-risk-score --coin ETH --address 0x0000000000000000000000000000000000000000
zkme-demo kyt-risk-score --coin ETH --txid 0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890
zkme-demo kyc-status --programNo 202302170004 --account 0x0000000000000000000000000000000000000000 --chainId 137

Dry-run mode validates command shape without calling zkMe APIs:

zkme-demo kyt-risk-score --coin ETH --address 0x0000000000000000000000000000000000000000 --dry-run

MCP Server

The local MCP server is implemented with the official @modelcontextprotocol/sdk and uses stdio transport.

Configure an MCP client to run the local stdio server:

{
  "mcpServers": {
    "zkme": {
      "command": "npx",
      "args": ["-y", "-p", "@zkmelabs/agent-toolkit", "zkme-mcp"],
      "env": {
        "ZKME_API_BASE_URL": "https://api.zk.me",
        "ZKME_MCH_NO": "your_merchant_no",
        "ZKME_API_KEY": "your_api_key"
      }
    }
  }
}

Available tools:

  • zkme_docs_get
  • zkme_kyt_status
  • zkme_kyt_risk_score
  • zkme_kyc_status_get

AI-readable Resources

Website/static deployment should expose:

  • /llms-zkme-developers.txt
  • /agents.md
  • /openapi/zkme.openapi.json

In zkme-website, these paths are served by explicit controller mappings because default Spring static resource mappings are disabled.

The same files are mirrored in this package under docs/ so agents and developers can inspect them after npm installation.

Privacy Boundary

  • Do not pass API keys as MCP tool arguments.
  • Do not log or print ZKME_API_KEY.
  • Do not request raw KYC documents, biometric data, face images, or verify raw data.
  • Do not use the toolkit for bulk KYC user lists.
  • All returned data remains scoped to the configured merchant credentials.