Open source Apache-2.0 · Star it on GitHub →

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.

No sign-in, ever No telemetry Linux · macOS · Windows
Users API › create user
POST
BodyAuthTests
{ "name": "Wanjiru", "email": "wanjiru@example.com", "role": "admin" }
201 Created38 ms412 B
status = 201
$.id exists
time < 500 ms
Postman collectionsInsomniaBrunoOpenAPI 3.1Swagger 2HARcURLGraphQLWebSocketServer-sent eventsgRPCOAuth 2.0JWTAWS SignatureMCP Postman collectionsInsomniaBrunoOpenAPI 3.1Swagger 2HARcURLGraphQLWebSocketServer-sent eventsgRPCOAuth 2.0JWTAWS SignatureMCP
Features

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.

# Users API/create user.yaml method: POST url: "{{baseUrl}}/users" expect: status: 201 body: - { path: $.id, exists: true }

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.

OpenAPI 3.1MarkdownHTMLtuma mock

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.

OAuth 2.0JWTDigestAWS SigV4OAuth 1.0

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.

my-api/ ├─ src/ … └─ .tuma/ # tuma init ├─ workspace.yaml ├─ environments/ │ ├─ local.yaml │ └─ staging.yaml └─ Users API/ ├─ _folder.yaml ├─ create user.yaml └─ get user.yaml
# Users API/create user.yaml method: POST url: "{{baseUrl}}/users" body: type: json content: '{ "name": "Wanjiru", "role": "admin" }' expect: status: 201 body: - { path: $.id, exists: true }
Local-first

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 CItuma test reruns 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.
Built for AI agents

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.

claude mcp add tuma -- tuma mcp
agent · tuma mcp

          
Why switch

Tuma or the usual suspects?

A quick, honest comparison with cloud-first API clients.

TumaCloud-first clients
Account requiredNeverUsually
Where your requests livePlain files in your repoTheir cloud
Source codeOpen, Apache-2.0Closed
Postman scripts & collectionsRun and importYes
Load tests & mocksIncluded, freeOften a paid tier
MCP server for agentsBuilt inRare
PriceFree, foreverPer seat
Download · v1.0.1

Get Tuma for your computer

Free and open source. Every package also includes the tuma command.

All releases & checksums
macOS Coming soon

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 sourcedocs
# Linux, from the folder you downloaded to sudo apt install ./Tuma_1.0.1_amd64.deb # Debian, Ubuntu (keep the ./) sudo dnf install ./Tuma-1.0.1-1.x86_64.rpm # Fedora chmod +x Tuma_1.0.1_amd64.AppImage && ./Tuma_1.0.1_amd64.AppImage # any distro

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.