README.md

January 24, 2026 · View on GitHub

Mercury

Mercury

API Testing for Purists.
Instant startup. 60fps UI. \$0 forever.

DocumentationDownloadRoadmapPhilosophyContributing

Release Homebrew Cask Build Status License Platform

GitHub stars Issues Pull Requests Discussions

Mercury Screenshot

Why Mercury?

PostmanInsomniaMercury
Startup3-5 sec2-4 sec<300ms
Frame RateSluggishSluggish60fps native
Input Lag50-100ms30-50ms<16ms
Binary Size~500MB~400MB6MB
Price$14-25/mo$5-18/moFree forever
ScrollingJankyOkayButtery smooth

Mercury uses ~100MB RAM to render at 60fps with native GPU acceleration. Electron apps use 500MB+ to feel like a slow website.


Philosophy

"Build half a product, not a half-assed product." — 37signals

Mercury is built on principles, not features:

  • ⚡ Native Rust — Real performance, not wrapped web pages
  • 📁 Files, not databases — Your requests are just files. Grep them. Git them.
  • 🔒 Truly local — We don't have servers. Your secrets stay yours.
  • ⌨️ Keyboard-first — Your hands never leave the keyboard
  • 🚫 No bloat — No AI, no collaboration, no features you'll never use

Installation

brew install --cask harry-kp/tap/mercury

Then launch from Applications or run mercury in terminal.


⚡ Alternative: Shell Installer

macOS / Linux:

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Harry-kp/mercury/releases/latest/download/mercury-installer.sh | sh

Windows (PowerShell):

irm https://github.com/Harry-kp/mercury/releases/latest/download/mercury-installer.ps1 | iex

Then launch:

mercury

💡 If you get "command not found", restart your terminal or run source ~/.zshrc


🖥️ Want it in your Applications folder?

The installer puts mercury in ~/.cargo/bin. If you prefer launching from Spotlight/Start Menu:

macOS: Add to Applications + Dock
# One-liner: creates Mercury.app you can add to Dock
mkdir -p /Applications/Mercury.app/Contents/MacOS && \
cp ~/.cargo/bin/mercury /Applications/Mercury.app/Contents/MacOS/ && \
cat > /Applications/Mercury.app/Contents/Info.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleExecutable</key>
    <string>mercury</string>
    <key>CFBundleName</key>
    <string>Mercury</string>
    <key>CFBundleIdentifier</key>
    <string>com.mercury.app</string>
</dict>
</plist>
EOF

Now search "Mercury" in Spotlight (⌘ Space) and drag to Dock!

Windows: Pin to Start Menu
  1. Open File Explorer → %USERPROFILE%\.cargo\bin\
  2. Right-click mercury.exeCreate shortcut
  3. Right-click the shortcut → Pin to Start
Linux: Add to app launcher
cat > ~/.local/share/applications/mercury.desktop << 'EOF'
[Desktop Entry]
Name=Mercury
Exec=$HOME/.cargo/bin/mercury
Type=Application
Categories=Development;
EOF

🔧 Troubleshooting

🍎 macOS: "developer cannot be verified" error
  1. Run mercury (it will fail)
  2. System Settings → Privacy & Security → Click "Allow Anyway"
  3. Run mercury again

Or run: xattr -d com.apple.quarantine ~/.cargo/bin/mercury

🪟 Windows: "Windows protected your PC"

Click "More info""Run anyway"

📦 Manual Download

📦 Download from Releases — macOS (Intel/ARM), Windows, Linux

# Extract and run
tar -xf mercury-*.tar.xz && chmod +x mercury && ./mercury
🛠️ Build from Source
git clone https://github.com/Harry-kp/mercury.git
cd mercury
cargo build --release
./target/release/mercury

Shortcuts

ShortcutAction
⌘ EnterSend request
⌘ SSave request
⌘ KSearch
⌘ NNew request
⌘ Shift FFocus mode
⌘ HHistory
EscCancel request
?All shortcuts

File Format

Your requests are stored as JSON files. Version control friendly. No lock-in.

{
  "method": "GET",
  "url": "https://api.example.com/users",
  "headers": {},
  "body": ""
}
{
  "method": "POST",
  "url": "https://api.example.com/users",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "Bearer {{token}}"
  },
  "body": "{\"name\": \"John Doe\", \"email\": \"john@example.com\"}"
}

Variables like {{token}} are loaded from .env files in your workspace.


Features

  • Live File Sync — Edit in VS Code, updates instantly. Two-way sync.
  • Auto-Save — Changes are persisted immediately. Never lose work.
  • Collections — Organize requests in folders
  • Environments.env file support with {{variable}} syntax
  • History — Timeline of all requests with restore
  • Focus Mode — Distraction-free editing
  • cURL Import — Paste cURL commands directly
  • Collection Import — Import from Postman or Insomnia
  • Request Cancellation — Stop runaway requests instantly
  • Syntax Highlighting — JSON responses beautifully formatted
  • Dark Mode — Easy on the eyes, built for late nights
  • Automatic Cookies — Auth flows work seamlessly

Defaults

Mercury uses sensible defaults so you can focus on your API, not configuration:

SettingDefaultBehavior
Timeout30 secondsRequests fail after 30s of no response
RedirectsFollowedHTTP redirects are followed automatically (up to 10)

What Mercury is NOT

We intentionally don't build:

  • ❌ Cloud sync
  • ❌ Team collaboration
  • ❌ AI assistants
  • ❌ Plugins/extensions
  • ❌ User accounts
  • ❌ Analytics/telemetry

These aren't missing features. They're features we chose not to build.


Contributing

Mercury is open source. PRs welcome.

# Development
cargo run

# Tests
cargo test

# Release build
cargo build --release

License

MIT License — do whatever you want.


Built with obsessive minimalism.
@Harry-kp