Build it.
Test it.
Tuma it.
Tuma is Swahili for “send”. It's a fast, local-first API client: Rust inside, no account, no cloud, and your requests are plain files you commit to git, next to the code they test.
Everything Postman does.
None of the cloud.
One small, native app for designing, testing, documenting, mocking and load-testing your APIs. It works on a plane.
Your workspace is a folder
Collections, requests and environments are readable YAML files. Review API changes in pull requests, branch them with your code, and never lose work to a sync conflict again.
Fast, because it's native
Rust networking and the system webview instead of a bundled browser. Opens instantly, sips memory.
Runs your Postman scripts
pm.test, pm.expect, pm.sendRequest and friends, in a sandbox, in the app and in CI.
Load & security tests
Virtual users, p50/p95/p99 latency, passive security checks and a shareable HTML report.
Encrypted fields
AES-GCM/CBC, RSA-OAEP and hybrid RSA + AES: fields are encrypted as they're sent and decrypted as they arrive.
Docs and mocks from your requests
Turn a collection into OpenAPI, Markdown or a standalone HTML page. Start a mock server that answers with the examples you saved, so the frontend team never waits on the backend.
More than REST
GraphQL with introspection and a schema explorer, WebSocket, server-sent events and gRPC by reflection
or .proto. Every auth you need, proxies, client certificates and a cookie jar.
Secrets stay secret
Secret variables live in the OS keychain, never in your files, your git history or an agent's context.
Moves in with your data
Imports Postman, Insomnia, Bruno, OpenAPI, HAR and cURL. Exports back to Postman, any time.
Keyboard-first
Ctrl K finds anything, Ctrl ↵ sends, Ctrl S saves, Ctrl T opens a tab.
Your API lives in your repo, not on our servers.
There are no servers. There's no "us" between you and your requests.
-
01
Review requests like codeEvery change is a readable diff in a pull request.
-
02
The same tests, in CI
tuma testreruns every saved check and exits non-zero when one fails. -
03
Nothing leaves your machineNo account, no telemetry. Tokens set by scripts stay in Tuma's data folder, out of git.
Your coding agent can test the API it just wrote.
Tuma ships an MCP server and a CLI. Claude Code, Cursor and other agents send requests, check responses against your OpenAPI spec, run load tests and save what passes as tests, all inside the hosts you allow. Secret values are never shown to them.
Tuma or the usual suspects?
A quick, honest comparison with cloud-first API clients.
| Tuma | Cloud-first clients | |
|---|---|---|
| Account required | Never | Usually |
| Where your requests live | Plain files in your repo | Their cloud |
| Source code | Open, Apache-2.0 | Closed |
| Postman scripts & collections | Run and import | Yes |
| Load tests & mocks | Included, free | Often a paid tier |
| MCP server for agents | Built in | Rare |
| Price | Free, forever | Per seat |
Get Tuma for your computer
Free and open source. Every package also includes the tuma command.
The signed Mac app is on its way. Until then, build it from source in a few minutes, or watch the repo to hear when it lands.
Build from sourcedocsBuilt in the open. Owned by everyone.
Tuma's code is on GitHub under the Apache-2.0 license. Read it, fork it, audit it, ship it inside your company. Bug reports, ideas and pull requests are all welcome.
Keep it free. Buy the team a chai.
Tuma has no investors and no paid tier. Donations pay for code signing, build machines and the time it takes to keep making it better.
tuma /ˈtu.ma/ · Swahili, verb · to send
Stop waiting on your API client.
Just tuma it.
Psst: click anywhere empty to throw a paper plane.