MCP server wrapper for httpx — fast multi-purpose HTTP probing toolkit from ProjectDiscovery.
httpx is a fast and feature-rich HTTP toolkit from ProjectDiscovery that probes lists of hosts/URLs for live web servers and extracts detailed HTTP response metadata including status codes, content length, page titles, web technologies (via Wappalyzer), TLS certificate details, response hashes, and CDN information. It is widely used in bug bounty recon and penetration testing to quickly filter large lists of discovered hosts down to live HTTP services. See projectdiscovery/httpx for full documentation.
No API keys required — httpx runs locally inside the Docker container.
Tools:
run_httpx — Run httpx with CLI arguments (e.g. example.com).run_httpxRun httpx with CLI arguments (e.g. example.com).
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
arguments | str | Yes | — | Command-line arguments (e.g. "--help") |
timeout_seconds | int | No | 300 | Maximum execution time in seconds |
{
"raw": "httpx output will appear here"
}
Here are example prompts you can use with Claude (or any MCP client) when this tool is connected:
docker-compose up -d
docker run -i --rm hackerdogs/httpx-mcp:latest
docker run -d -p 8386:8386 \
-e MCP_TRANSPORT=streamable-http \
-e MCP_PORT=8386 \
hackerdogs/httpx-mcp:latest
Add to your Claude Desktop or Cursor MCP config:
{
"mcpServers": {
"httpx-mcp": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "MCP_TRANSPORT", "hackerdogs/httpx-mcp:latest"],
"env": {
"MCP_TRANSPORT": "stdio"
}
}
}
}
First, start the server using Docker Compose or docker run with HTTP mode (see Deploy above), then point your MCP client at the running server:
{
"mcpServers": {
"httpx-mcp": {
"url": "http://localhost:8386/mcp"
}
}
}
When to use HTTP mode: HTTP mode is ideal for shared/remote deployments, multi-user setups, and Hackerdogs scheduled prompts. The server runs as a long-lived process and accepts connections from multiple MCP clients concurrently.
| Variable | Default | Description |
|---|---|---|
MCP_TRANSPORT | stdio | Transport mode: stdio or streamable-http |
MCP_PORT | 8386 | HTTP port (only used with streamable-http) |
The fastest way to get started is through Hackerdogs:
Give it a couple of minutes to go live. Then start querying by asking Hackerdogs to use the tool explicitly (e.g. "Use naabu to scan example.com"). If you don't specify, Hackerdogs will automatically choose the best tool for the job — it may choose this one on its own.
Want to contribute or chat with the team? Join our Discord.
docker build -t hackerdogs/httpx-mcp:latest .
./test.sh
1. Start the server in HTTP mode:
docker run -d --rm --name httpx-mcp-test -p 8386:8386 \
-e MCP_TRANSPORT=streamable-http \
hackerdogs/httpx-mcp:latest
2. Initialize the MCP session:
SESSION_ID=$(curl -s -D - -X POST http://localhost:8386/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1"}}}' \
2>&1 | grep -i mcp-session-id | awk '{print $2}' | tr -d '\r\n')
curl -s -X POST http://localhost:8386/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: $SESSION_ID" \
-d '{"jsonrpc":"2.0","method":"notifications/initialized"}'
3. Call a tool:
curl -s -X POST http://localhost:8386/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: $SESSION_ID" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"run_httpx","arguments":{"arguments":"--help"}}}'
4. Clean up:
docker stop httpx-mcp-test
You can run the Httpx CLI in the same container by overriding the entrypoint without starting the MCP server.
Show help:
docker run -i --rm --entrypoint httpx hackerdogs/httpx-mcp:latest --help
Content type
Image
Digest
sha256:aea646fd9…
Size
99.9 MB
Last updated
4 months ago
docker pull hackerdogs/httpx-mcp