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