PulpMiner

io.github.pulpminercomv0.1.0更新於 Oct 11, 2026

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

概覽

AI 產生的概覽

讓助理抓取公開網頁、用 AI 轉成結構化 JSON、把該設定存成可重複使用的 API,並從中取得資料。

功能
PulpMiner 提供五個工具:從 URL 產生 JSON,可提供 JSON 格式範例、CSS 選擇器與額外指示;把 URL 加 JSON 格式存成可重複使用的 REST API,可選動態 URL 範本與快取;從已儲存的 API 取得資料,動態 API 可傳入變數;列出已儲存的 API;以及驗證 API 金鑰。抓取與 AI 轉換在 PulpMiner 後端完成,可用選項指定抓取器與所用的 LLM。
適用情境
適合助理需要從沒有 API 的公開網頁取得結構化資料,或需要把一次網頁轉 JSON 的設定保存下來、當成可呼叫的端點重複使用。也方便查看已儲存的 API 及其變數。
執行需求
透過 npx pulpminer-mcp 以 stdio 在本機執行(或使用本機 Node.js 建置),也可用 --http 啟動本機 Streamable HTTP 端點。需要 PulpMiner 帳號與 PULPMINER_API_KEY 環境變數,以 apikey 標頭送出。可選 PULPMINER_BASE_URL 與 PULPMINER_TIMEOUT_MS。需要連線至 PulpMiner API 的網路。
安裝前請注意
API 金鑰是唯一憑證,會送到 PulpMiner 後端,不要放進共用設定。工具呼叫會消耗 PulpMiner 額度(產生 0.25、取得 0.4,JavaScript 渲染另加 0.1),因此使用會產生費用。儲存的 API 會建立於帳號之下,取得的資料來自第三方網頁。HTTP 模式可接受每次請求的 x-pulpminer-api-key 標頭,對外暴露時應置於 HTTPS 之後。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 PulpMiner,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

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

bash
git clone https://github.com/pulpminercom/pulpminer-mcp.gitcd pulpminer-mcpnpm installnpm run build

Run it:

bash
PULPMINER_API_KEY=... node dist/index.js          # stdioPULPMINER_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)

json
{  "mcpServers": {    "pulpminer": {      "command": "npx",      "args": ["-y", "pulpminer-mcp"],      "env": { "PULPMINER_API_KEY": "your-api-key" }    }  }}

Claude Desktop (claude_desktop_config.json)

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

json
{  "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

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

來源:README.md,提交 5554217

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v0.1.0最新Oct 11, 2026