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

datazen-sqlcdc

v1.0.4

Published

DataZen SQL CDC language specification (operations, syntax, options).

Readme

datazen-sqlcdc

MCP server that gives AI assistants first-class knowledge of the DataZen SQL CDC language — every operation, its syntax, options, and canonical examples.

An MCP (Model Context Protocol) stdio server, datazen-sqlcdc, backed by the complete DataZen SQL CDC language specification.

Point Claude — or any MCP-compatible client — at this server and it can list SQL CDC operations, look up exact syntax and options, and pull working examples on demand, so it writes correct SQL CDC instead of guessing.

The same spec is also exported as a typed JSON document for direct programmatic use (see Using the spec as JSON).

Quick start

Run the server with no install:

npx -y datazen-sqlcdc@latest

Register with Claude Code

claude mcp add datazen-spec -- npx -y datazen-sqlcdc@latest

Register with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "datazen-spec": {
      "command": "npx",
      "args": ["-y", "datazen-sqlcdc@latest"]
    }
  }
}

Register with Hermes agent

Hermes agent registers stdio MCP servers in an mcp_servers: block in $HERMES_HOME/config.yaml (or ~/.hermes/config.yaml when HERMES_HOME is unset). Add this server:

mcp_servers:
  datazen-spec:
    command: "npx"
    args: ["-y", "datazen-sqlcdc@latest"]

Unlike the other DataZen MCP servers, this one reads no environment variables and needs no credentials, so no env: block is required.

You can also add it from the CLI — run the interactive picker (hermes mcp) and select the server, or add it non-interactively. --args consumes the rest of the line, so it must come last and each argument is passed bare:

hermes mcp add datazen-spec --command npx --args -y datazen-sqlcdc@latest

Then verify it connects, and reload after any config.yaml change:

hermes mcp test datazen-spec   # confirm it connects and lists the three tools
# ...and inside `hermes chat`:
/reload-mcp                    # re-read config.yaml without restarting the session

Once loaded, Hermes exposes the same three tools described in Tools. These are read-only lookups, so no restriction is needed, but to limit Hermes to specific tools you can add a tools.include block:

mcp_servers:
  datazen-spec:
    command: "npx"
    args: ["-y", "datazen-sqlcdc@latest"]
    tools:
      include: [list_operations, get_operation, get_examples]

Install globally (optional)

npm install -g datazen-sqlcdc
datazen-sqlcdc

Tools

The server exposes three tools:

| Tool | Input | Output | | --- | --- | --- | | list_operations | none | One line per operation: key — COMMAND — short description. | | get_operation | operationKey | Markdown with the operation's description, syntax, and options. | | get_examples | operationKey, maxExamples | Canonical SQL CDC examples in fenced SQL blocks. |

Operation keys are matched case-insensitively — addColumn and addcolumn both work.

A typical flow: the assistant calls list_operations to discover what exists, get_operation to learn the exact syntax and options for one, then get_examples to see it used in real scripts.

What SQL CDC looks like

SQL CDC scripts move and sync data between systems. A typical SQL Sync — keeping a destination table continuously in step with a source table — reads changed rows from the source and merges them into the destination:

-- Read new/changed Orders from the source database
SELECT * FROM DB [SourceDb]
    ( SELECT OrderId, CustomerId, Total, ModifiedUtc FROM dbo.Orders )
    WITH HWM 'ModifiedUtc'
         KEY COLUMNS 'OrderId'
;

-- Merge those rows into the destination, applying inserts/updates/deletes
MERGE INTO [DestDb]
    TABLE 'dbo.Orders'
    WITH KEY COLUMNS 'OrderId'
         INSERTS UPDATES DELETES
         SCHEMA_DRIFT
;

Using the spec as JSON

Beyond the MCP server, the package's default export is the fully-resolved spec object, with TypeScript types included.

import spec from "datazen-sqlcdc";

console.log(spec.operationCount);
console.log(spec.operations.map((operation) => operation.key));

CommonJS and raw-JSON entry points are also available:

const spec = require("datazen-sqlcdc");
import spec from "datazen-sqlcdc/sqlcdc-spec.json";

The spec shape:

interface SqlCdcSpec {
  source: string;          // specification origin
  generatedUtc: string;    // snapshot timestamp
  operationCount: number;
  operations: SqlCdcOperation[];
}

interface SqlCdcOperation {
  key: string;             // stable identifier, e.g. "addColumn"
  name: string;
  command: string;         // SQL CDC command keyword
  description: string;
  link?: string;
  inline?: boolean;
  syntax: string;          // syntax template
  options?: { name: string; description: string }[];
  examples?: { id: string; text: string }[];
}

Development

From a local checkout:

npm install
npm run build
npm run smoke
node dist/server.js

Register a local build with Claude Code:

claude mcp add datazen-spec -- node /absolute/path/to/datazen-sqlcdc/dist/server.js

Publishing

npm run build
npm run smoke
npm pack --dry-run
npm login
npm version patch
npm publish --access public

License

MIT — © 2026 Enzo Unified.