Skip to main content
Glama
tastenkasperle

http-prompt-reloaded

๐ŸŒ HTTP Prompt Reloaded

PyPI version Python 3.10+ License: MIT Glama Score MCP Protocol Zero Dependencies Raptor Guard Certified WDAS Agent Ready

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:

  1. Navigate APIs like a File System: cd /api/v1/users, cd 42, cd ..

  2. Persistent Session Context: Headers (Bearer tokens, cookies) and query parameters persist across requests.

  3. 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).

  4. Hardened Security: Built-in SSRF protection (blocks cloud metadata endpoints like 169.254.169.254), CRLF header injection guards, and canonical URL traversal sanitization.


Related MCP server: req-mcp-server

๐Ÿ“ฆ 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).

Available Tools

4 tools
http_prompt_cdB

Navigates the API URL path like a directory (e.g., 'cd /api/v1', 'cd users', 'cd ..').

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesRelative or absolute API path
session_idNodefault

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. The 'cd' analogy implies a persistent state change, but it never states that the new path is retained for the session (the session_id parameter hints at this) or that it affects subsequent calls. It discloses the mental model but omits side-effect, persistence, and error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with embedded examples. Nothing wasted and nothing buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that mutates navigation state within a session, with no annotations, no output schema, and an undocumented session_id, the description is only minimum viable. It conveys the model but not the state semantics or how the changed path interacts with other tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: 'path' is documented in the schema and the description adds useful format examples ('cd /api/v1', 'cd users', 'cd ..'), but 'session_id' is undocumented in both schema and description, leaving the session-scoping semantics ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action (navigating/changing the API URL path) and anchors it to a familiar mental model ('like a directory'), backed by concrete path examples. It is clear what the tool does, though it does not explicitly contrast itself with siblings like http_prompt_execute or http_prompt_init.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance is given, and no alternative tool is named. The agent must infer from the cd analogy that this sets a working path before calling http_prompt_execute.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

http_prompt_configureC

Sets persistent headers or query parameters for the session.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoKey-value query parameters to set
headersNoKey-value headers to set
session_idNodefault

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses one useful trait โ€” that settings persist for the session โ€” but says nothing about whether values are merged or overwritten, whether existing headers are replaced, whether auth is required, or what state changes result. For a mutation tool this is a substantial gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, which is efficient. It is arguably thin for a tool with nested object parameters, but there is no wasted text to penalize.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description does not state prerequisites, the effect of the default session_id, or any return/confirmation behavior. For a mutation tool with zero annotation coverage and nested object inputs, the description is too thin to let an agent invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%: 'params' and 'headers' carry descriptions while 'session_id' is documented only by its default. The description paraphrases those two fields ('headers or query parameters') without adding format, merge, or override semantics. Baseline 3 is appropriate where the schema does most of the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Sets') and resource ('persistent headers or query parameters') with a clear scope ('for the session'). An agent can distinguish it from http_prompt_execute or http_prompt_init by the fact that it mutates configuration, but the description never names or contrasts with those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no stated prerequisites (e.g. whether the session must first be created via http_prompt_init), and no mention of alternatives. The word 'persistent' implies the scope of effect but gives the agent nothing to route on.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

http_prompt_executeC

Executes an HTTP request on the current stateful path.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoOptional JSON payload
methodNoGET
session_idNodefault

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about side effects (DELETE/PUT/PATCH are available), authentication or headers, error behavior, or what is returned. 'Executes an HTTP request' implicitly signals mutation but with zero detail on destructiveness or reversibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no padding. It is tight, though the brevity comes at the cost of information rather than being purely efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no annotations, and low parameter coverage, the description should compensate by explaining the session prerequisite, the source of the request path, and likely return behavior. It omits all of these for a tool that can issue destructive HTTP verbs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33%: 'body' and 'method' are somewhat covered, but 'session_id' is entirely undocumented in both schema and description. The description adds no parameter meaning, and critically leaves unexplained that the request target path comes from session state rather than an argument.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Executes') and resource ('an HTTP request') and adds the scope qualifier 'on the current stateful path,' which hints at the stateful-session model shared with http_prompt_init/cd/configure. It does not explicitly distinguish itself from those siblings, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus the sibling init/cd/configure tools, nor any prerequisite such as 'requires a session initialized via http_prompt_init.' Usage is only inferable from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

http_prompt_initB

Initializes or updates a stateful HTTP exploration session.

ParametersJSON Schema
NameRequiredDescriptionDefault
base_urlYesBase URL like http://localhost:8080
session_idNodefault

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose two real behavioral traits: the session is stateful (state persists across calls) and the tool performs an upsert-style initialize-or-update rather than a pure create. It does not explain what happens to an existing session's state when updated, or whether credentials/targets are required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is lean, though arguably lean to the point of under-specification given the tool's role in a stateful session flow.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a lifecycle tool that presumably gates the sibling execute/cd/configure calls, the description omits ordering requirements, session lifetime, and behavior on repeated initialization. With no annotations and no output schema, that leaves meaningful gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: base_url is described in the schema, session_id only has a default. The description's framing of a 'stateful session' gives session_id conceptual meaning (reusing an id updates that session), which partially compensates, but it adds no syntax or scope detail beyond that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb pair (initializes/updates) and resource (stateful HTTP exploration session), so an agent knows this creates or refreshes a session context. It does not, however, distinguish itself from siblings like http_prompt_configure or http_prompt_cd, which also act on session state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when this must be called (e.g., before http_prompt_execute) or how it relates to http_prompt_cd/configure. Usage is only implicitly inferable from the word 'init'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.0
    • First observedhttp_prompt_cd
    • First observedhttp_prompt_configure
    • First observedhttp_prompt_execute
    • First observedhttp_prompt_init

TDQS

B3.3/5.0

Scored across 4 tools

Disambiguation4/5

Each tool maps to a distinct action in the session lifecycle: init (create session), cd (navigate path), configure (set headers/params), execute (send request). There is mild overlap between init's 'updates' behavior and configure's session-state mutation, but the descriptions keep them largely separable.

Naming Consistency5/5

All four tools share the same http_prompt_ prefix followed by a clear verb (execute, init, cd, configure). The pattern is fully predictable and easy to scan.

Tool Count4/5

Four tools is a lean but sensible set for a stateful HTTP exploration shell, with each tool earning its place. It is slightly thin, as a few more session-management operations could reasonably fit.

Completeness4/5

The surface covers the core lifecycle: session init, path navigation, configuration, and request execution. Minor gaps exist around resetting/clearing session state or removing individual headers, but core workflows are fully supported.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    A configurable MCP server that adapts any HTTP API into an MCP toolset with generic HTTP tools (GET, POST, PUT, DELETE) and pluggable authentication. Includes API discovery scripts and supports dynamic tool generation from OpenAPI specs or wordlist scans.
    5
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Bun-based MCP server providing a persistent HTTP request toolset for testing and inspecting JSON APIs. It supports session-aware operations, including cookie persistence, automatic bearer token reuse, and configurable base URLs.
    -
  • A
    license
    A
    quality
    D
    maintenance
    A lightweight, local-first MCP server for executing HTTP requests and managing API collections and environments without cloud dependencies. It enables testing APIs, handling authentication, and importing OpenAPI specifications directly within MCP-compatible workflows.
    42
    169 npm
    12
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Agent-native API client for executing REST, GraphQL, WebSocket, SSE, and gRPC requests from MCP-capable agents, with token-efficient responses and file-based collections.
    -