Send files and notes from a coding agent into your Zas channels, encrypted on your machine.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
An MCP server that lets a coding agent β Claude Code, Codex, or anything that speaks MCP β send files and notes into your Zas channels, and read items back out of them.
Zas moves things between your devices and the people you choose: files, photos, text, code. You put something into a channel on one device and use it on another. Whatever you do not pin leaves on its own after a few days, so there is nothing to tidy up later. Everything is encrypted on the device before it is uploaded: the database and the object storage receive encrypted bytes, not filenames, content or previews.
This package is the piece that lets a coding agent use your channels the way your other devices do, under an identity of its own that you approve, that you scope to the channels you choose, and that you can revoke.
Your coding agent gets eleven tools. It can send a file or a note into a channel you picked, send or receive a file live through Directo, list what is in that channel, and pull one item back onto disk. Everything it sends is encrypted on your machine before it leaves, lands in your account, and is marked in the channel as sent by that agent. The agent has an identity of its own and never holds your account key: pairing mints a key pair here, you approve it from the web app, and from then on it signs a challenge to get a short-lived session.
Install Node.js LTS (22 or newer) and your agent's command-line tool first. Reopen your terminal after installing. Run these commands on the computer where you use the agent.
Choose your agent and pair it. On Windows (PowerShell or CMD):
Codex
Claude Code
Open the printed link, approve the channels, and enter the code in the terminal if the page shows one. Leave the terminal open until pairing finishes. Then run the matching registration command:
Codex
Claude Code
On macOS, Linux, or WSL, use npx in place of npx.cmd and omit
cmd /d /c . Pair and register in the same environment. Restart your agent
and ask it to send something to Zas.
If a command is not recognized, install Node.js or the named agent's CLI and
reopen the terminal. The first download needs internet access and may take a
few minutes. Use @latest as shown so npm requests the published package
instead of selecting an unbuilt local workspace.
zas-agent pair mints the key pair, registers the public halves, opens the
approval page in your browser, and waits. The terminal shows:
Signed in, name the agent and tick the channels it may use β sending is the
default, reading is a separate switch β and approve. Approval creates
nothing by itself: the page hands a one-time claim code to this terminal
over 127.0.0.1 (the port in the link), and the agent exists only once the
terminal claims with that code and the secret it holds. A link that reached
somebody else is approved on their machine, where nothing listens, and
expires with nothing created.
If the browser cannot reach the terminal β the link was opened on a phone,
or the browser refused the local connection β the page shows the code and
the terminal asks for it. Type it there and nowhere else: with that code,
another terminal that started a pairing could claim it. Pass --no-open or
set ZAS_NO_OPEN=1 to keep the browser closed; the link is printed either
way. The pairing is good for ten minutes before approval and five after;
past that, run the command again.
You can also start the flow from the coding agent with the zas_pair tool:
the first call hands back the URL, a later call says whether the approval
landed, and if the page shows a code, a call with code claims with it.
Every line here is a fact. The ones about this package you can check in this repository. Where a property is enforced by the Zas server, which is not open source, the sentence says so.
zas-agent pair generates two key
pairs on your machine β X25519 to receive channel keys, P-256 to sign
sign-ins β and the private halves never leave it. The agent never holds your
account key, and the key-derivation service refuses account-key derivation to
an agent (server-side).>_
agent mark and the agent's name, in the channel, on every device you read Zas
from.src/shared/ are the
same modules the Zas web app ships. The server stores ciphertext and never
sees a channel key, a channel name or item plaintext (server-side).release.yml workflow in this repository, with npm
provenance, so the tarball on npm can be traced back to a commit and a
workflow run.The package refuses some of these on its own, before a request is made. The ones marked (server-side) are enforced by the Zas server.
read is a separate switch from
send; without it, zas_list_items and zas_get_item are refused.zas_send_direct, a live transfer that stores nothing.zas_receive_direct takes the same
read switch as listing. And it only ever runs inside a tool call: the
agent never watches your channels, so nothing arrives unasked.The agent answers in a closed set of codes. Anything a server route says that
is not in this set collapses to upload_failed or network, so no raw server
string ever reaches a terminal.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/zas)<a href="https://allmcps.com/mcp/zas"><img src="https://allmcps.com/api/badge/zas?style=directory" alt="Zas on AllMCPs" /></a>