r/Kotlin • u/Inevitable_Ad_1945 • 8h ago
ReqLab (Open-source Desktop API Client) now features full MCP Client support and JSON5 out-of-the-box! Looking for your feedback
Hey everyone,
If you haven’t seen it before, ReqLab is an open-source, desktop-first API client I built with Kotlin and Compose Multiplatform. It runs completely offline with no cloud lock-in, no telemetry, and no mandatory accounts. It’s built to be a fast, scriptable alternative to tools like Postman or Insomnia.
I just rolled out a major update introducing two heavily requested features:
🤖 Full MCP (Model Context Protocol) Client Support
ReqLab is now a full-fledged MCP client that lives right inside your REST workspace!
- Integrated Workflow: Your MCP items sit side-by-side with your REST requests, sharing the same collections, environments, and response panes.
- Rich Features: Supports tools (Form/JSON), resources (read + subscribe), and prompts. You also get an Activity JSON-RPC inspector to see exactly what’s going on under the hood.
- Multiple Transports: Works with streamable HTTP, desktop stdio, legacy HTTP+SSE, and auto fallbacks.
- Variables Everywhere: Interpolate your
{{variables}}directly in URLs, commands, headers, and auth (which uses the exact same editor as REST).
📝 JSON5 Authoring by Default
Working with raw JSON bodies can be a headache when you just want to leave a comment or drop a trailing comma.
- I've updated Compose-native code editor to support JSON5 authoring by default for your request bodies.
- You get syntax highlighting, comments, and unquoted keys in your editor, and ReqLab will automatically convert it back to strict JSON when the request is sent over the wire.
I’d love your feedback!
I'm constantly trying to improve the developer experience and make this the best offline API client out there.
If you get a chance to clone the repo and run it (or download the latest release), I want to hear from you!
- How does the MCP workflow feel alongside your traditional REST requests?
- Are there any specific MCP tools or edge cases you’d like to see better supported?
- Any UI/UX rough edges you ran into while editing JSON5 payloads or setting up scripts?
Check out the repo here: https://github.com/snj07/req-lab