PulpMiner

Official registry AI and agents

Turn any public webpage into JSON with AI, save it as a live JSON API, and call it from your agent.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http pulpminer 'https://mcp.pulpminer.com/mcp' --header 'Authorization: <Your PulpMiner API key as a Bearer token: '\''Bearer <PulpMiner API key>'\'' (PulpMiner dashboard > API Keys).>'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "pulpminer": {
            "type": "http",
            "url": "https://mcp.pulpminer.com/mcp",
            "headers": {
                "Authorization": "<Your PulpMiner API key as a Bearer token: 'Bearer <PulpMiner API key>' (PulpMiner dashboard > API Keys).>"
            }
        }
    }
}
NPM package pulpminer-mcp
Claude Code
claude mcp add pulpminer -e 'PULPMINER_API_KEY=<your pulpminer_api_key>' -e 'PULPMINER_BASE_URL=https://api.pulpminer.com' -e 'PULPMINER_TIMEOUT_MS=300000' -- npx -y pulpminer-mcp@0.1.0
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "pulpminer": {
            "command": "npx",
            "args": [
                "-y",
                "pulpminer-mcp@0.1.0"
            ],
            "env": {
                "PULPMINER_API_KEY": "<your pulpminer_api_key>",
                "PULPMINER_BASE_URL": "https://api.pulpminer.com",
                "PULPMINER_TIMEOUT_MS": "300000"
            }
        }
    }
}

Environment variables

  • PULPMINER_API_KEY required secret Your PulpMiner API key (PulpMiner dashboard > API Keys). The only credential the server needs.
  • PULPMINER_BASE_URL PulpMiner API base URL. Leave unset to use https://api.pulpminer.com.
  • PULPMINER_TIMEOUT_MS Per-request timeout in milliseconds. Scraping plus the AI step can take a while.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. PulpMiner MCP Server
  2. Tools
  3. Configuration
  4. Install & build
  5. Client configuration
  6. Typical flow
  7. Development
  8. Hosted server (remote)

PulpMiner MCP Server

Source: github.com/pulpminercom/pulpminer-mcp · Issues: github.com/pulpminercom/pulpminer-mcp/issues

An MCP server for PulpMiner. It lets AI assistants (Cursor, Claude Desktop, and any other MCP client):

  • Generate JSON from any web page with AI. PulpMiner scrapes the page and an LLM turns it into structured JSON, optionally in the exact shape you give it.
  • Save a page-to-JSON setup as a reusable REST API (static, or dynamic with {{ variables }} in the URL).
  • Fetch data from saved APIs and list them.

Tools

ToolWhat it doesBackend endpointCredits
pulpminer_generate_jsonScrape a URL and convert it to JSON with AI (optional jsonFormat sample, CSS selector, extra instructions)POST /external/ai/json0.25 (+0.1 renderJs)
pulpminer_save_as_apiSave URL + JSON format (+ optional dynamic URL template, cache) as an API; returns the API id and endpointPOST /external/ai/json/savefree
pulpminer_fetch_api_dataCall a saved API (GET, or POST with variables for dynamic APIs)GET/POST /external/{apiId}0.4 (+0.1 renderJs)
pulpminer_list_saved_apisList saved APIs (id, url, dynamic URL template and its variables)GET /external/api/urlfree
pulpminer_check_api_keyValidate the API key and show which credentials are configuredGET /external/n8n/authfree

Option values match the backend: scraper is scraper_1 (default) or scraper_2. llm is llm_2 (OpenAI GPT, default), llm_1 (Google Gemini), or llm_3 (Groq, only if enabled for your account).

Configuration

Env varRequiredDescription
PULPMINER_API_KEYyesYour API key from the PulpMiner dashboard → API Keys. Sent as the apikey header. It is the only credential any tool needs.
PULPMINER_BASE_URLnoDefault https://api.pulpminer.com
PULPMINER_TIMEOUT_MSnoDefault 300000 (scraping plus the LLM step can take a while)

Install & build

git clone https://github.com/pulpminercom/pulpminer-mcp.git
cd pulpminer-mcp
npm install
npm run build

Run it:

PULPMINER_API_KEY=... node dist/index.js          # stdio
PULPMINER_API_KEY=... node dist/index.js --http   # Streamable HTTP on http://127.0.0.1:3333/mcp

Once published to npm, this becomes npx -y pulpminer-mcp.

Client configuration

Cursor (~/.cursor/mcp.json or .cursor/mcp.json)
{
  "mcpServers": {
    "pulpminer": {
      "command": "npx",
      "args": ["-y", "pulpminer-mcp"],
      "env": { "PULPMINER_API_KEY": "your-api-key" }
    }
  }
}
Claude Desktop (claude_desktop_config.json)
{
  "mcpServers": {
    "pulpminer": {
      "command": "npx",
      "args": ["-y", "pulpminer-mcp"],
      "env": { "PULPMINER_API_KEY": "your-api-key" }
    }
  }
}

Before it is published, use a local build: "command": "node", "args": ["/absolute/path/to/pulpminer-mcp/dist/index.js"].

Streamable HTTP clients

Start with --http (PORT, HOST env; it binds to 127.0.0.1:3333 by default) and point the client at http://127.0.0.1:3333/mcp. The server is stateless. Each request can send its own API key in the x-pulpminer-api-key header, which overrides PULPMINER_API_KEY. That makes it usable as a hosted multi-user endpoint (put it behind HTTPS).

{
  "mcpServers": {
    "pulpminer": {
      "url": "http://127.0.0.1:3333/mcp",
      "headers": { "x-pulpminer-api-key": "your-api-key" }
    }
  }
}

Typical flow

  1. pulpminer_generate_json { url, jsonFormat? }: preview the JSON.
  2. pulpminer_save_as_api { url, jsonFormat, cache?, dynamicUrl? } returns apiId and endpoint.
  3. pulpminer_fetch_api_data { apiId, variables? }

Dynamic API example: dynamicUrl: "https://example.com/search?q={{ query }}", then fetch it with variables: { "query": "laptops" }.

Development

npm test        # builds, then runs scripts/smoke-test.mjs against a local mock API (no real calls)
npm run inspect # opens the MCP Inspector UI
npx @modelcontextprotocol/inspector --cli node dist/index.js --method tools/list

Hosted server (remote)

remote/ is a Cloudflare Worker serving the same tools over Streamable HTTP (stateless) at https://mcp.pulpminer.com/mcp. Send your PulpMiner API key as Authorization: Bearer <key> (or x-pulpminer-api-key); it is only forwarded to the PulpMiner API, never stored.

{ "mcpServers": { "pulpminer": { "url": "https://mcp.pulpminer.com/mcp", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }

Local dev: cd remote && npm install && npm run dev (Node 22+).

Frequently asked questions

What is PulpMiner?

Turn any public webpage into JSON with AI, save it as a live JSON API, and call it from your agent.

How do I install PulpMiner?

It runs as a remote server. In Claude Code: claude mcp add --transport http pulpminer 'https://mcp.pulpminer.com/mcp' --header 'Authorization: <Your PulpMiner API key as a Bearer token: '\''Bearer <PulpMiner API key>'\'' (PulpMiner dashboard > API Keys).>'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does PulpMiner need an API key?

Yes. It expects PULPMINER_API_KEY, Authorization, which you set in its configuration.

Is PulpMiner open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains PulpMiner?

It is published by pulpminercom. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.