Skip to content

Build on NMTS

What NMTS is, what it can do from a terminal or a program, and where the published parts are. No account is needed to read this page or to try the tool.

Not a developer? Go to the AI page.

What it is

Encrypted file storage where the keys stay on your machine. The server holds encrypted bytes it cannot open, and there is no email, no name and no password reset — the account code is the account.

The bytes live on Walrus, a public storage network, bought for a period and paid on the Sui chain. NMTS charges nothing: an upload spends credits from a donation pool or coins from your own wallet.

What you can do with it

  • Everything the browser does, from a terminal: upload, download, folders, sharing, the wallet, the recovery list.
  • The same commands as tools for an AI agent over MCP, with a consent ladder that says what an agent may do on its own.
  • An HTTP API, opened by an API key made for the account.
  • A recovery program that rebuilds your files from the network with no NMTS server.
  • The tool, the encryption engine and the recovery program are Apache-2.0. The server and the web app are not published.

The prompt to paste into an agent

If you drive an AI agent from a terminal — Claude Code, Codex — paste the text below into it as it is. It tells the agent to read nmts.me/agents.md first, install the CLI (the program you type in a terminal), and connect it to itself over MCP.

Set NMTS up as my file storage. It is cloud storage that encrypts files on my own machine, and it can be driven from a terminal.
Install the CLI: npm install -g @needmoretruth/nmts-cli — and if the registry fails, npm install -g github:needmoretruth/nmts-cli.
Then read https://nmts.me/agents.md (the same text ships inside the package as AGENTS.md). It is written to be read by you, and it says what to call in what order.
Follow it: sign me in, and connect it to yourself over MCP.
Stop and ask me before anything that spends money, anything that cannot be undone, and anything that would take my account code outside the tool's own file.

The command-line toolnmts-cli

A command called nmts, run from a terminal on Node 22 or newer. It does from a terminal what the browser does — uploads and downloads, folders and listings, sharing, credits and the wallet, and the recovery files.

npm install -g github:needmoretruth/nmts-cli

Adding it to an AI agent is one line. Claude Code, Codex and opencode each take the same one, with their own name in front. Once it is added, the agent uses the account through this tool. The account code is kept on that machine, so the tool says what that means before it does it. Three things ask once per machine: spending money, anything that cannot be undone, and the account code going anywhere outside the tool's own locked file. The answer is a command — nmts consent grant spend is the one an upload needs — and until it is given the tool stops and exits with code 5 rather than guessing.

claude mcp add nmts -- nmts mcp --out ~/nmts
codex mcp add nmts -- nmts mcp --out ~/nmts
opencode mcp add nmts -- nmts mcp --out ~/nmts

The instructions written to be read by an agent rather than by a person are at nmts.me/agents.md: what to call in what order, and where a person has to decide. The same document is in the repository as AGENTS.md.

github.com/needmoretruth/nmts-cli

API

The server speaks HTTP at nmts.me/v1, and an agent key made on the account screen is what opens it. A key can do what was ticked when it was made and nothing else: read what is stored, upload and delete files, buy storage with credits. It does not reach the account screen, the signed-in devices, or anything that cannot be undone.

A key is not the account code. The key opens the server; the key that opens the files is derived from the account code. There is no separate list of endpoints. That list is the command-line tool's source, which is a program making those same requests.

The recovery programnmts-recovery

One executable, for Linux, macOS and Windows. Give it a recovery list file and your account code and it fetches the pieces from the storage network and puts your files back together. It does not connect to an NMTS server.

It runs from a terminal; --gui opens a screen you click instead. The recovery list file is downloaded from the account screen beforehand. The built executables and the source are in the same place.

github.com/needmoretruth/nmts-recovery

The encryption enginenmts-crypto

The Rust library the browser and the recovery program both use. It derives the keys from an account code, encrypts files, and opens them again.

Because both programs use the same code, a file encrypted in the browser opens in the recovery program with no NMTS involved. The format documents are in the same place.

github.com/needmoretruth/nmts-crypto

Licence

All three published repositories are Apache-2.0. Run them, change them, build on them — including in a commercial product — keeping the licence and copyright notices, and saying in changed files that you changed them. They were AGPL-3.0 until 30 August 2026; copies already held under that licence stay under it.

Built on this?

If you built something on these — a service, a fork, a port, a lighter client — you owe us nothing beyond the licence notices, and we would still like to know: nmts@nmts.me, or an issue on the repository if public is fine with you. Each repository has a SHOWCASE file that lists projects at their makers' request, a link and up to ten lines each. A listing is not an endorsement, and we may decline or remove one without giving a reason.

What is not published

The server and the web app are not open source. What is published is the three repositories above.

There is no way for you to check that the code your browser was handed is the code in that repository. The command-line tool and the recovery program do not have that problem: the file you downloaded is the file that runs.

Build on NMTS