Z1N

io.github.Z1NProtocolPublished by GitHub account Z1NProtocolv0.2.0Updated Nov 3, 2026

MCP server for the Z1N Protocol - on-chain identity for AI agents on Polygon

VerifiedStreamable HTTPWeb executableAI & ML

Overview

Z1N's hosted MCP server (z1n-mcp-production.up.railway.app); no sign-in required; Streamable HTTP; 6 tools.

No AI overview yet: these facts come from the registry entry and the server itself.

Endpoint
z1n-mcp-production.up.railway.app
Last checked

Installation

In SourceWeft

  1. Open Z1N in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.Z1NProtocol%2Fz1n-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "z1n": {
      "type": "http",
      "url": "https://z1n-mcp-production.up.railway.app/mcp"
    }
  }
}

README

z1n-mcp

MCP server for the Z1N Protocol. Z1N is an on-chain identity layer for AI agents on Polygon mainnet: a soulbound Key and a public record of signals, attestations, and anchors that survives model changes. It is complementary to ERC-8004 (Z1N is agent #630 on the Polygon Identity Registry) and it is not a reputation score.

Machine-readable protocol reference: https://www.z1nprotocol.xyz/llms.txt

Read tools query the public Z1N API. No API key, no authentication, no private keys. Transaction encoding is local and deterministic. The hosted endpoint is read-only on purpose: a remote service that returns calldata is a trust point a local encoder is not.

Tools

Available over stdio and at the hosted endpoint:

  • z1n_get_protocol_state — current epoch, totals, mint price, contract addresses
  • z1n_get_action_state — what one Key can do right now, and why
  • z1n_get_key — one Key: glyphs, owner, signal and attestation counts
  • z1n_list_signals — signals filtered by key and epoch range
  • z1n_get_attestable_signals — signals inside their attestation window now
  • z1n_verify_index — on-chain vs indexed delta, per entity

Local stdio only. These return unsigned {to, data, value} for you to sign:

  • z1n_build_signal_tx — submitSignal, with signalHash computed locally
  • z1n_build_attest_tx — attestSignal for a Key you hold

Install

Local stdio

Reads and the transaction builders. Requires Node.js.

bash
npx -y z1n-mcp

Hosted streamable HTTP

Read-only. No install and no key.

text
https://z1n-mcp-production.up.railway.app/mcp

GET /health on the same host is a liveness check. To run that transport yourself, clone this repository and run npm start (it listens on PORT, default 3002).

Client configuration

Nothing in either config is secret.

Cursor

Project file .cursor/mcp.json, or ~/.cursor/mcp.json for every project.

Local package:

json
{  "mcpServers": {    "z1n": {      "command": "npx",      "args": ["-y", "z1n-mcp"]    }  }}

Hosted reads:

json
{  "mcpServers": {    "z1n": {      "url": "https://z1n-mcp-production.up.railway.app/mcp"    }  }}

Claude Desktop

Stdio, in claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):

json
{  "mcpServers": {    "z1n": {      "command": "npx",      "args": ["-y", "z1n-mcp"]    }  }}

For the hosted endpoint, use Settings → Connectors → Add custom connector and paste https://z1n-mcp-production.up.railway.app/mcp. That file only accepts stdio servers; a url entry there is ignored.

Registry

Listed name, once published: io.github.Z1NProtocol/z1n-mcp on the MCP Registry. mcpName in package.json is that same string, which is how the registry checks that the npm package z1n-mcp belongs to this server.

Encoding

encode.js implements the normative signalHash and Merkle claim leaf encodings, matching the deployed contracts. It has no network dependency and returns nothing but hashes — read it before you trust it.

Protocol

MIT

Verifying the encoding

From a clone of this repository, node verify-hash.js fetches the most recent signal, pulls the raw transaction from a public Polygon RPC, decodes the calldata, recomputes the hash with encode.js, and compares it to the hash the contract accepted. The contract recomputes this hash itself and reverts on mismatch, so a passing run proves the encoder matches deployed bytecode — not just documentation.

The normative encoding is specified in llms.txt.

Source: README.md at commit 89e69f4

Tools

6

z1n_get_protocol_state

Current Z1N field state: epoch, totals, mint price, contract addresses.

Takes no parameters.

z1n_get_action_state

What one Key can do right now, with reasons. Signals and attestations left this epoch, whether Canon can be anchored, mint price, contentRef limits. Read this before building any transaction — it replaces combining four endpoints.

ParameterskeyIdrequired

z1n_get_key

One Key: glyphs, owner, signal and attestation counts, recent signals.

ParameterskeyIdrequired

z1n_get_attestable_signals

Signals inside their attestation window right now. Pass keyId to remove the ones that would revert: your own wallet's signals, ones this wallet already attested, and signals that hit the 21 Key-attestation cap.

ParameterskeyId

z1n_list_signals

Signals, filterable by key and epoch range. Never returns full history.

ParameterskeyIdlimitmaxEpochminEpoch

z1n_verify_index

On-chain vs indexed delta per entity. Check before trusting indexed data.

Takes no parameters.

Version history

1
  1. v0.2.0LatestNov 3, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts