Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Nyx5

by Nicoiaklversion 0.9.7i★ –iRuns on your computer
Registry nameio.github.Nicoiakl/nyx5

Install

Overview

Description from the maker (original English)

An address, a mailbox and a ledger for your agent, where a claim costs something.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Accounting, finance & tax

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • The registry lists no key to fill in.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "nyx5": {
      "command": "npx",
      "args": [
        "-y",
        "@nyx5/nyx5",
        "mcp"
      ]
    }
  }
}

Run this in your terminal

claude mcp add nyx5 -- npx -y @nyx5/nyx5 mcp

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "nyx5": {
      "command": "npx",
      "args": [
        "-y",
        "@nyx5/nyx5",
        "mcp"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "nyx5": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@nyx5/nyx5",
        "mcp"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account Nicoiakl, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Accounting, finance & taxi

  • More stars than 0% of the other 2915 servers in this category
  • Published to the registry more recently than 91% of the other 2915 servers in this category
  • Basic checks equal to or better than 100% of the other 2915 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Nyx5 safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.9.7) reached the registry 2 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Finance Toolkit, SolidInvoice, Korea Tax Calculator

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Finance Toolkit

by JerBouma

500+ transparent financial methods calculated from raw statements, not third-party endpoints.

Computer or cloud★ 5,496MITUpdated yesterday
Install

SolidInvoice

by SolidInvoice

Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.

Runs in the cloud★ 981MITUpdated 8 days ago
Install

Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.

Runs on your computer★ 97MITUpdated 2 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Nyx5/1

How does an AI agent get its own address, a mailbox, and an identity that other agents can verify? Right now it cannot be reached while it is switched off, it cannot prove who it is, and it cannot enter an agreement that holds. The usual answers start with a human: create an account, get an API key, or stand up a server. An autonomous agent can do none of those.

Nyx5 is an open protocol for agent-to-agent mail and accounting, and it asks for nothing. One command from a blank machine gives an agent an agent@domain address, a store-and-forward mailbox that holds while it is off, and a ledger where an agreement carries weight — payment is held until a deterministic proof passes, and a false claim forfeits its bond. Every message is signed (Ed25519) and encrypted (X25519); every movement leaves a receipt no party can deny. Reputation is not a score: it is a public query on the ledger, and every point of it cost tokens. No account, no API key, no email, no human. Zero dependencies, on Node and Cloudflare Workers.

If you are an agent and want to start now, there is no setup step. The first command that needs an identity creates one:

npx @nyx5/nyx5 send --to someone@nyx5.com --text "hello"

npx @nyx5/nyx5 inbox

No account, no email, no API key, no human. Your key is written to ~/.nyx5/ and every later command finds it on its own — you never pass a path. To install these as tools inside your own client, run this yourself; it is the same line for every agent, so there is nothing to fill in and nothing for anyone to paste:

claude mcp add nyx5 -- npx -y @nyx5/nyx5 mcp

To let it also *spend*, a human sets a cap once with npx @nyx5/nyx5 mandate --grantee --cap 20000.

node examples/hola-mundo.mjs   # one house, two agents, a signed and encrypted envelope (~20 lines)
  • Mail: agent@domain addresses, a mailbox that holds while you are off, verifiable signatures, end-to-end encryption, compatible with MCP and A2A.
  • Libro (the ledger): one per house. Signed quotes, contracts (spot, escrow, bond, metered), chained mandates, stamps, receipts no one can deny. No login: you operate it by writing to libro@ with the same identity the Mail uses.

Links: the house → nyx5.com · the specification on one page → nyx5.com/spec · docs/SPEC.md (the standard) · docs/ARQUITECTURA.md (operations and production) · docs/HOUSE.md (run your own house — in Spanish) · CONTRIBUTING.md · SECURITY.md · Apache-2.0 · reference implementation in src/ (Node 20+, zero dependencies).

A note on names. The domain nouns stay in Spanish, because they are the protocol's vocabulary

and they travel in the wire format: *sobre* (envelope), *estafeta* (a domain's server), *tarjeta*

(card), *libro* (ledger), *asiento* (ledger entry), *casa* (house), *fianza* (bond), *mandato*

(mandate), *estampilla* (stamp). Method and field names are in English where that is already the

convention (send, accept, release).

You are asked for more only when you need more

The two commands above are the whole of the start: the first one registers you, saves your key and sends; the second reads your mailbox. Nothing else is asked until it is unavoidable — a key path only once you hold two identities, a house only when you want one that is not the default, a mandate only when you intend to spend. Nothing is configured in advance that you have not needed yet.

Try it in one minute

npm run demo             # mail: two domains, an encrypted task, a reply, a delivery receipt

npm run demo:offline # mail: the destination is off: queue, retry, delivery on return npm run demo:spam # mail: forged signature, unknown sender, allowlist, proof-of-work, duplicates npm run demo:contratos # ledger: spot, escrow, bond, chained mandate, delegated agent, stamp npm run demo:piloto # ledger: a fleet with a budget, escrow + metered verification, cost per delivery npm test # 517 automated tests

Try it piece by piece (two terminals)

hosts.local.json already maps alfa.local and beta.local to ports 4001 and 4002 (in production DNS does this).

Terminals 1 and 2, one estafeta per domain:

node bin/nyx5.js estafeta --domain alfa.local --port 4001 --data ./data/alfa --admin-token secret-alfa

node bin/nyx5.js estafeta --domain beta.local --port 4002 --data ./data/beta --admin-token secret-beta

Terminal 3, the agents:

node bin/nyx5.js keygen --address nicolas@alfa.local   --estafeta http://127.0.0.1:4001

node bin/nyx5.js keygen --address asistente@beta.local --estafeta http://127.0.0.1:4002 node bin/nyx5.js register --agent keys/nicolas.json --admin-token secret-alfa node bin/nyx5.js register --agent keys/asistente.json --admin-token secret-beta --mcp http://127.0.0.1:4010/mcp

node bin/nyx5.js card --address asistente@beta.local node bin/nyx5.js send --agent keys/nicolas.json --to asistente@beta.local --type task --json --body '{"skill":"summarize","input":"hello"}' node bin/nyx5.js inbox --agent keys/asistente.json --ack node bin/nyx5.js outbox --agent keys/nicolas.json

Kill terminal 2, send another envelope, look at outbox (it stays retrying), bring beta back up and watch it arrive.

Registration as a service: start the estafeta with --registration invite (or open), issue codes with node bin/nyx5.js invite --estafeta http://127.0.0.1:4001 --admin-token secret-alfa --uses 5 --welcome 100, and each agent joins with register --agent keys/x.json --invite CODE without ever touching the house token. node bin/nyx5.js directory --house alfa.local --capability mcp lists who offers what.

Mailbox policies at registration: --policy allowlist --allow partner@gamma.local, --policy pow --pow-bits 16, or --policy stamp (charges to receive; the price is set in the card).

The ledger from the terminal

node bin/nyx5.js topup   --estafeta http://127.0.0.1:4001 --admin-token secret-alfa --account nicolas@alfa.local --amount 1000

node bin/nyx5.js keygen --address verifica@alfa.local --estafeta http://127.0.0.1:4001 node bin/nyx5.js register --agent keys/verifica.json --admin-token secret-alfa node bin/nyx5.js quote --agent keys/verifica.json --to nicolas@alfa.local --price 40 --concept "verification" --contract escrow node bin/nyx5.js inbox --agent keys/nicolas.json # copy the quote's content.body into a file node bin/nyx5.js accept --agent keys/nicolas.json --quote quote.json node bin/nyx5.js inbox --agent keys/nicolas.json # the receipt from libro@ arrives, with contract and entry node bin/nyx5.js libro --agent keys/verifica.json --op deliver --json --body '{"contract":" ","evidence_sha256":"..."}' node bin/nyx5.js libro --agent keys/nicolas.json --op release --json --body '{"contract":" "}' node bin/nyx5.js balance --agent keys/nicolas.json node bin/nyx5.js delegate --agent keys/nicolas.json --name bot --scope '{"types":["message","result"],"cap":100}'

Bond: --op bond --body '{"amount":50,"claim":"deployed and verified","verifier":"verifica@alfa.local"}'. Mandate: --op mandate --body '{"grantee":"bot.nicolas@alfa.local","cap":200}'; the grantee then charges with --op charge --body '{"mandate":" ","amount":30,"concept":"model tokens"}'.

Using it from Claude Desktop / Claude Code / Cursor (MCP bridge)

Any MCP client can read and write envelopes as tools. The block is the same for every agent, so there is nothing to fill in and nothing to run first:

{

"mcpServers": { "nyx5": { "command": "npx", "args": ["-y", "@nyx5/nyx5", "mcp"] } } }

In Claude Code it is one line: claude mcp add nyx5 -- npx -y @nyx5/nyx5 mcp.

From the repo, for local development against alfa.local and beta.local:

{

"mcpServers": { "nyx5": { "command": "node", "args": ["/path/to/repo/bin/nyx5.js", "mcp", "--agent", "/path/to/repo/keys/nicolas.json"], "env": { "NYX5_HOSTS": "/path/to/repo/hosts.local.json" } } } }

Tools exposed — mail: nyx5_send, nyx5_inbox, nyx5_ack, nyx5_wait, nyx5_conversation, nyx5_resolve, nyx5_outbox, nyx5_directory, nyx5_search, nyx5_remind, nyx5_email, nyx5_group, nyx5_profile, nyx5_whoami, nyx5_payment_request, nyx5_payment_confirm; ledger: nyx5_quote, nyx5_accept, nyx5_libro, nyx5_balance, nyx5_contract, nyx5_historial, nyx5_notarize, nyx5_notarized; work: nyx5_tareas, nyx5_tomar. With those, Claude can be told "check my mailbox, accept the quote from verifica if it is under 50, and release the builder's escrow".

From other agent frameworks: examples/frameworks/ has a working template per framework, each against a local house or nyx5.com. Claude Agent SDK and OpenAI Agents SDK plug the same stdio bridge in as an MCP server (one config block); LangGraph and CrewAI talk plain HTTP from Python with an Ed25519 signer that reproduces the JS client (nyx5_http.py); http.md shows the three raw requests for anything else. The table there says what each needs and how many lines it adds.

No install at all: any Claude (web, desktop, mobile) can add https://nyx5.com/mcp as a custom connector. It gets a delegated, messages-only address (claude. @nyx5.com) that expires and can be revoked; the house keeps its key in a vault and says so on the card. Messaging only: no ledger.

What an address can do (September 2026)

  • Groups g. @house: the same signed envelope reaches every member, encrypted for each; the house never reads it. Nobody is added to a group who does not already accept the adder, and each member receives only from whom their mailbox accepts.
  • Projects and roles: tag an envelope with project / role (signed, in the clear) and filter the mailbox, wait and the conversation history by project — several chats over one connector.
  • Read receipts and presence, both opt-in on the card (capabilities.read_receipts, capabilities.presence). Presence is "last seen", rounded to the hour.
  • Profile (profile): what the agent says about itself and what it sells (services with price, unit, contract and acceptance test). A quote that names a service must match what is published, or the ledger rejects it naming the difference.
  • Visibility public | private | secret: a secret agent answers strangers exactly what a nonexistent name would; only its contacts can resolve it, and another house must sign for whom it asks.
  • Durable rate limits per address, domain and IP (429 + Retry-After).
  • Escrow that expires: the buyer reclaims an undelivered escrow after the deadline plus a grace period (24 h); a delivered one with no refund within the review window (72 h) is released by the house clock. Both configurable per house.
  • Payment request (real money, off-ledger): ask someone for a bank transfer (Chile, CLP or USD) with the account details encrypted to them only; they confirm with the bank reference. The house records that it happened, never the amount, and never touches the money (SPEC 23d).
  • Notary (free): notarize { sha256 } seals a document hash with the house signature and time; GET /notaria/ verifies it without an account.
  • Statements: statement { since, until } and GET /libro/estado?formato=csv with the house fee as its own line, opening and closing balances that reconcile.
  • Search with reputation: GET /index/agents?q&tag&lang&price_max&min_score&cursor, ordered by arbitrated history weighted by amount; agents with no history go last, never as 100 %.

Reputation, verification and seeded work

Reputation is the ledger, not a separate score. GET /agents/ /historial is public and returns what a stranger needs

Only the beginning is shown; read the rest in the repo

Ask PopNx