EasyPostman
September 15, 2026 · View on GitHub
EasyPostman
An open-source Postman-style API client + JMeter-style load testing desktop app
Local-first · Git workspaces · Headless CLI · Built-in MCP Server
简体中文 · 📦 Download · 🤖 Install MCP · 📖 Docs · 💬 Discuss · WeChat: lakernote
What is EasyPostman?
EasyPostman combines Postman-style API debugging and JMeter-style performance testing in one Java 17 desktop application. Collections, environments, and test data stay local by default, while Git workspaces support team collaboration. The same workspace can also run in CI through the headless CLI or be exposed to AI clients such as Codex, Claude Desktop, and Cursor through MCP.
| Core capability | What it provides |
|---|---|
| 🔌 API debugging | HTTP/HTTPS, SSE, WebSocket, auth, cookies, multiple body types, response inspection, and network logs |
| 🧩 Collections and scripts | Postman v2.1 / cURL import, environments, pre/post scripts, assertions, and request chaining |
| ⚡ Performance testing | Thread groups, timers, extractors, live metrics, reports, and distributed master/worker runs |
| 🏢 Local and Git workspaces | Isolated collections, environments, and settings with user-controlled storage |
| 🤖 MCP and headless CLI | Let AI run saved APIs; run collections, functional tests, and load plans in CI |
🖼️ Preview
| Postman-style API debugging | JMeter-style performance testing |
|---|---|
![]() |
![]() |
| Scripts, assertions, and snippets | Git workspace collaboration |
![]() |
![]() |
📦 Download and install
Download the latest release from GitHub Releases. A Gitee mirror is also available. Native installers and the Windows portable package include a runtime, so neither the desktop app nor MCP needs a separate Java installation. Only the cross-platform JAR requires Java 17+.
Windows WinGet
winget install --id Laker.EasyPostman --exact
Upgrade later with:
winget upgrade --id Laker.EasyPostman --exact
Choose a package
| Platform | File |
|---|---|
| macOS Apple Silicon | EasyPostman-{version}-macos-arm64.dmg |
| macOS Intel | EasyPostman-{version}-macos-x86_64.dmg |
| Windows installer / portable | EasyPostman-{version}-windows-x64.exe / -portable.zip |
| Debian / Ubuntu x64 | EasyPostman-{version}-linux-amd64.deb |
| Debian / Ubuntu ARM64 | EasyPostman-{version}-linux-arm64.deb; use -compat.deb only for older incompatible dpkg versions |
| RHEL / Rocky / CentOS / Fedora | EasyPostman-{version}-1.x86_64.rpm or -1.aarch64.rpm |
| Cross-platform JAR | easy-postman-{version}.jar, requires Java 17+ |
Windows SmartScreen or macOS Gatekeeper may show a warning on first launch. Choose “Run anyway,” or right-click the macOS app and choose “Open.” The project does not currently use a commercial code-signing certificate, and all source code is available for review.
🤖 MCP Server
The MCP Server is included in every EasyPostman release package, so there is no separate MCP download or server to start manually. The recommended native installers and Windows portable package bundle both EasyPostmanMCP and a JRE, so users do not need to install Java.
Recommended setup
- Install a native package from Releases, or extract the Windows portable ZIP.
- Add a local STDIO MCP Server in Codex, Claude Desktop, or Cursor and use the platform launcher as
command:
| Platform | command |
|---|---|
| macOS | /Applications/EasyPostman.app/Contents/MacOS/EasyPostmanMCP |
| Windows installer | C:\Program Files\EasyPostman\EasyPostmanMCP.exe |
| Windows portable | EasyPostmanMCP.exe in the extracted directory, for example D:\Tools\EasyPostman\EasyPostmanMCP.exe |
| Linux DEB / RPM | /opt/easypostman/bin/EasyPostmanMCP |
The core macOS configuration is shown below; on another platform, replace only command:
{
"command": "/Applications/EasyPostman.app/Contents/MacOS/EasyPostmanMCP",
"args": []
}
With Codex CLI:
codex mcp add easy-postman -- /Applications/EasyPostman.app/Contents/MacOS/EasyPostmanMCP
- Save the configuration, restart the MCP client, and open a new conversation. A safe first test is:
Use EasyPostman MCP to list all workspaces. Do not run any request.
Keep args empty for the default setup; no workspace path is required. The client starts one process per MCP connection and reuses it across tool calls—it does not restart EasyPostman for every API call. Keep the entire Windows portable directory together; EasyPostmanMCP.exe cannot be copied out by itself.
If you download only the cross-platform JAR, use this fallback and make sure Java 17+ is available:
{
"command": "java",
"args": ["-jar", "/absolute/path/to/easy-postman-{version}.jar", "mcp", "serve"]
}
By default, MCP loads workspaces registered in EasyPostman. AI can call list_workspaces, then select a workspace and environment per tool call. The desktop app and MCP run as separate processes and can be used at the same time; MCP does not switch the desktop UI or change its current selection.
To authorize only one workspace, pass its absolute path in the native launcher's args; with the JAR fallback, append it after "serve". The directory must contain collections.json; environments.json is optional.
JSON-based clients such as Claude Desktop and Cursor normally place the object above under mcpServers.easy-postman. Codex can also use MCP Server settings or config.toml. See the official Codex MCP documentation.
What AI can do
AI can list workspaces, collections, environments, and saved requests, then use run_request or run_collection to select a workspace and environment for that call and execute HTTP APIs. Environment values are not exposed by listing tools. API response bodies are returned to the MCP client, so do not authorize workspaces containing sensitive business data to an untrusted client.
MCP can discover and execute only saved HTTP requests in authorized workspaces; it cannot construct an arbitrary URL on demand. API response bodies are returned to the MCP client, and requests can cause real business side effects, so only trusted MCP clients should receive access to production workspaces.
📖 Full MCP setup, tools, architecture, and security guide (Chinese)
🚀 Quick start
The basic desktop workflow:
- Create a local workspace or connect a Git workspace.
- Create or import a collection and select an environment.
- Enter the URL, parameters, and authentication, then send the request.
- Add scripts, assertions, functional tests, or a load-test plan as needed.
Build and run from source:
git clone https://github.com/lakernote/easy-postman.git
cd easy-postman
mvn -pl easy-postman-app -am -DskipTests clean package
java -jar easy-postman-app/target/easy-postman-*.jar
🧪 Headless CLI
The same JAR can run a native EasyPostman workspace without exporting collections or environments:
java -jar easy-postman.jar collection run /srv/api-workspace -c "Basic HTTP Examples" -e "Dev Env"
java -jar easy-postman.jar functional run /srv/api-workspace --bail --out target/result.json
- Collection CLI guide (Chinese)
- Functional CLI guide (Chinese)
- Distributed load testing guide (Chinese)
📚 Documentation
| Guide | Contents |
|---|---|
| Feature reference | API debugging, scripts, Mock Server, performance testing, and workspaces |
| MCP Server | Setup, tool inputs, workspace/environment routing, architecture, and security |
| Collection CLI | Headless collection runs, variables, data, uploads, and CI exit codes |
| Functional CLI | Run functional tests from functional_config.json |
| Plugin architecture | Plugin development and online/offline installation |
| Script API | Pre-request and test script reference |
| Build guide | Source builds and native installers |
| FAQ | Installation and usage questions |
🛠️ Development and contributing
# Fast compile
mvn -q -pl easy-postman-app -am -DskipTests compile
# Full build and tests
mvn clean package
Bug reports, ideas, documentation, and code contributions are welcome: create an issue · contribution guide
🙏 Credits and support
EasyPostman builds on excellent open-source projects including FlatLaf, RSyntaxTextArea, and OkHttp.
If EasyPostman helps you, consider giving it a Star, joining the discussions, or contacting lakernote on WeChat.
Postman-style API debugging, JMeter-style performance testing
Made with ❤️ by laker



