Desktop HTTP client
Write requests. Run everywhere.
A code-first HTTP client for developers who think in text. Write .http files, run from GUI, terminal, or AI.
# Environments
@env.dev.baseUrl = http://localhost:3000
@env.prod.baseUrl = https://api.example.com
# Globals (optional)
@contentType = application/json
### Login
@name login
@timeout 15000
POST {{baseUrl}}/auth/login
Content-Type: {{contentType}}
{
"email": "dev@rawrequest.dev",
"password": "{{secret:password}}"
}
> {
assert(response.status === 200, `Expected 200, got ${response.status}`);
setVar('token', response.json.token);
}
### Get Profile
@depends login
GET {{baseUrl}}/profile
Authorization: Bearer {{token}}
Accept: application/json
Screenshots
A quick look at the editor, load testing, and results.
Features
Practical tooling for day-to-day API work.
CLI Mode
Run named requests from your terminal with rawrequest run. JSON, body, or quiet output. Secrets resolve automatically.
MCP Server
Let AI assistants like GitHub Copilot and Claude discover and execute requests from .http files via chat.
Portable History
History and responses live beside your .http file. Predictable, reviewable, and easy to share or version control.
Pre & Post Scripts
JavaScript pre/post scripts with setVar, assert, and console.log. Automate auth flows and validate responses.
Request Navigation
Outline panel and command palette for fuzzy search. Jump to any request in large files instantly.
Workflow
Keep requests in text, keep outputs nearby, and make changes you can review.
Author .http files
Use ### separators, env placeholders, and scripts. Run any request instantly.
Wire secrets + envs
Use the vault + per-environment vars; lint catches missing placeholders before you hit send.
Keep history nearby
Responses and history sit beside your file so it’s easy to inspect and share.
MCP Server
Let AI assistants discover and run your HTTP requests via chat.
RawRequest acts as an MCP server, giving AI assistants like GitHub Copilot, Claude, and others direct access to your .http files. Configure it once — it works across all your projects.
list_requests
Discover all requests in a file
run_request
Execute a request and get the full response
list_environments
See available environments and their variables
set_variable
Set variables for subsequent requests
Secrets resolve automatically from the same encrypted vault as the GUI. Tell the AI which file to use via copilot-instructions.md or in conversation.
{
"servers": {
"rawrequest": {
"type": "stdio",
"command": "rawrequest",
"args": ["mcp"]
}
}
}
{
"mcpServers": {
"rawrequest": {
"command": "rawrequest",
"args": ["mcp"]
}
}
}
{
"mcpServers": {
"rawrequest": {
"command": "rawrequest",
"args": ["mcp"]
}
}
}
Install
Grab a release, or use the macOS installer script/Homebrew.
macOS
Quick install:
curl -fsSL https://raw.githubusercontent.com/portablesheep/RawRequest/main/scripts/install.sh | bash
Or Homebrew cask:
brew tap portablesheep/rawrequest https://github.com/portablesheep/homebrew-rawrequest
brew install --cask rawrequest
Windows
Download RawRequest-*-windows-portable.zip, extract it, and run RawRequest.exe.
If SmartScreen warns you, choose “More info” → “Run anyway”.
CLI & MCP
Run requests from the terminal:
rawrequest run api.http -n login -e prod
rawrequest run api.http -n getData -o body | jq .
rawrequest list api.http
Start MCP server for AI assistants:
rawrequest mcp
rawrequest help