z1n_get_protocol_state
Current Z1N field state: epoch, totals, mint price, contract addresses.
Takes no parameters.

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
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.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
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.Add this to your client's mcpServers config.
{
"mcpServers": {
"z1n": {
"type": "http",
"url": "https://z1n-mcp-production.up.railway.app/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.
Available over stdio and at the hosted endpoint:
z1n_get_protocol_state — current epoch, totals, mint price, contract addressesz1n_get_action_state — what one Key can do right now, and whyz1n_get_key — one Key: glyphs, owner, signal and attestation countsz1n_list_signals — signals filtered by key and epoch rangez1n_get_attestable_signals — signals inside their attestation window nowz1n_verify_index — on-chain vs indexed delta, per entityLocal stdio only. These return unsigned {to, data, value} for you to sign:
z1n_build_signal_tx — submitSignal, with signalHash computed locallyz1n_build_attest_tx — attestSignal for a Key you holdReads and the transaction builders. Requires Node.js.
Read-only. No install and no key.
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).
Nothing in either config is secret.
Project file .cursor/mcp.json, or ~/.cursor/mcp.json for every project.
Local package:
Hosted reads:
Stdio, in claude_desktop_config.json
(macOS: ~/Library/Application Support/Claude/claude_desktop_config.json,
Windows: %APPDATA%\Claude\claude_desktop_config.json):
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.
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.
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.
eip155:137:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432#630MIT
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
Current Z1N field state: epoch, totals, mint price, contract addresses.
Takes no parameters.
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.
keyIdrequiredOne Key: glyphs, owner, signal and attestation counts, recent signals.
keyIdrequiredSignals 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.
keyIdSignals, filterable by key and epoch range. Never returns full history.
keyIdlimitmaxEpochminEpochOn-chain vs indexed delta per entity. Check before trusting indexed data.
Takes no parameters.
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.
npx -y z1n-mcphttps://z1n-mcp-production.up.railway.app/mcp{ "mcpServers": { "z1n": { "command": "npx", "args": ["-y", "z1n-mcp"] } }}{ "mcpServers": { "z1n": { "url": "https://z1n-mcp-production.up.railway.app/mcp" } }}{ "mcpServers": { "z1n": { "command": "npx", "args": ["-y", "z1n-mcp"] } }}