🌐 HTTP Prompt Reloaded
Stateful Interactive API Navigation & Agentic MCP Engine.
The legendary 9.1k-star CLI REPL resurrected for modern Python (3.10–3.13) and upgraded into an autonomous AI Agent tool.
⚡ What is HTTP Prompt Reloaded?
Modern API exploration is broken: developers drown in bloated Electron apps (Postman/Insomnia) or struggle with massive, fragile cURL commands. The original httpie/http-prompt was brilliant, but broke down under ancient prompt_toolkit < 2.0 constraints.
HTTP Prompt Reloaded revives this concept as a zero-dependency, pure Python engine that bridges human developers and autonomous AI agents:
- Navigate APIs like a File System:
cd /api/v1/users,cd 42,cd .. - Persistent Session Context: Headers (Bearer tokens, cookies) and query parameters persist across requests.
- Dual Operation:
- Interactive CLI REPL for human terminal power users.
- Native Model Context Protocol (MCP) JSON-RPC 2.0 Server for AI Agents (Claude Desktop, Cursor, Antigravity, Open-WebUI).
- Hardened Security: Built-in SSRF protection (blocks cloud metadata endpoints like
169.254.169.254), CRLF header injection guards, and canonical URL traversal sanitization.
📦 Installation
# Via pip
pip install http-prompt-reloaded
# Or run instantly via uv / pipx
uvx http-prompt-reloaded http://localhost:8080
🚀 Human CLI Quickstart
# Start an interactive session on your API
http-prompt-reloaded https://api.github.com
# In the prompt:
/> cd /users/tastenkasperle
/users/tastenkasperle> header User-Agent MyDevAgent/1.0
/users/tastenkasperle> get
--> 200 https://api.github.com/users/tastenkasperle (112ms)
{
"login": "tastenkasperle",
...
}
/users/tastenkasperle> cd /repos
/repos> param sort updated
/repos> get
🤖 MCP Integration for AI Agents
Give your AI coding assistants the power to test, explore, and debug live REST APIs with memory instead of spitting out static cURL strings!
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"http-prompt": {
"command": "python",
"args": ["-m", "src.mcp.server"]
}
}
}
Provided MCP Tools
| Tool | Purpose |
|---|---|
http_prompt_init |
Initialize or update a stateful session with a target base_url. |
http_prompt_cd |
Move through API endpoints hierarchically (cd /api/v1, cd ..). |
http_prompt_configure |
Set persistent headers (e.g. Authorization: Bearer ...) or query params. |
http_prompt_execute |
Execute an HTTP method (GET, POST, PUT, DELETE) with optional payload. |
🧪 Testing & Verification
Hermetic tests run in sub-second time without external network access using an ephemeral local test server:
python -m unittest discover tests
🛡️ License
MIT License. Based on the concept of httpie/http-prompt (9.1k Stars).
Metadata
Release files for http-prompt-reloaded 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| http_prompt_reloaded-1.0.0.tar.gz | 10.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| http_prompt_reloaded-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.5 kB
Release files / http_prompt_reloaded-1.0.0.tar.gz
| Download URL | http_prompt_reloaded-1.0.0.tar.gz |
|---|---|
| Size | 10.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
919564918aed8426601617b4df38a3f6a2f5662d7649bcd6563aa2a185c3bf91
|
|
BLAKE2b-256 checksum How to use checksums |
8954f6c271adfaecfcaac1deb72fec7d0cf65fbeedb196958ac9b7b6fca0e74b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.15
|
Release files / http_prompt_reloaded-1.0.0-py3-none-any.whl
| Download URL | http_prompt_reloaded-1.0.0-py3-none-any.whl |
|---|---|
| Size | 10.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
85885490aeb2b2aa96b9fa1964ce7b4e21f9bc675f7c0ff5ea36091afc9a8324
|
|
BLAKE2b-256 checksum How to use checksums |
a25160ebe2bf8e1522888c845595a1741ccca2c3212360db4bb271ce67bfd8f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.15
|