Search / io.github.pulpminercom/pulpminer-mcp
PulpMiner
R2· OAuth, onceTurn any public webpage into JSON with AI, save it as a live JSON API, and call it from your agent.
v0.1.1 · active · repository · website · descriptor JSON · versions
Search / io.github.pulpminercom/pulpminer-mcp
R2· OAuth, onceTurn any public webpage into JSON with AI, save it as a live JSON API, and call it from your agent.
v0.1.1 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"pulpminer-mcp": {
"type": "http",
"url": "https://mcp.pulpminer.com/mcp",
"headers": {
"Authorization": "Bearer ${api_key}"
}
}
}
}claude mcp add --transport http pulpminer-mcp https://mcp.pulpminer.com/mcp --header "Authorization: Bearer ${api_key}"[mcp_servers.pulpminer-mcp]
url = "https://mcp.pulpminer.com/mcp"
bearer_token_env_var = "api_key"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"pulpminer-mcp": {
"type": "remote",
"url": "https://mcp.pulpminer.com/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer {env:api_key}"
}
}
}
}{
"mcpServers": {
"pulpminer-mcp": {
"type": "http",
"url": "https://mcp.pulpminer.com/mcp",
"headers": {
"Authorization": "Bearer ${api_key}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=pulpminer-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLnB1bHBtaW5lci5jb20vbWNwIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyICR7YXBpX2tleX0ifX0%3D"
}{
"servers": {
"pulpminer-mcp": {
"type": "http",
"url": "https://mcp.pulpminer.com/mcp",
"headers": {
"Authorization": "Bearer ${api_key}"
}
}
}
}{
"mcpServers": {
"pulpminer-mcp": {
"httpUrl": "https://mcp.pulpminer.com/mcp",
"headers": {
"Authorization": "Bearer ${api_key}"
}
}
}
}extensions:
"pulpminer-mcp":
enabled: true
name: "pulpminer-mcp"
type: streamable_http
uri: "https://mcp.pulpminer.com/mcp"
headers:
"Authorization": "Bearer ${api_key}"
timeout: 300
Placeholders to fill from your own secret store: ${api_key}. The registry never accepts secret values.
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prmProtected Resource Metadata (RFC 9728) publishedauth.as_metadataauthorization server metadata reachableauth.cimdonly Dynamic Client Registration, deprecated in 2026-07-28 in favour of CIMDauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations5 of 5 tools declare readOnlyHint or destructiveHinttools.directory_hints3 of 5 tools declare all four hints; missing: pulpminer_list_saved_apis (destructiveHint, idempotentHint); pulpminer_check_api_key (destructiveHint, idempotentHint)tools.token_costabout 1,649 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same nameNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website +reachable +uptime-97% +updated-7d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
[email protected] npmthis version is not known to the dependency resolver
Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://mcp.pulpminer.com/mcp streamable-http | oauth2 AS: https://clerk.pulpminer.com | yes | 97% | 374 ms | – | 2026-10-19 |
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
pulpminer-mcp | npm | 0.1.0 | npx | PULPMINER_API_KEY |
pulpminer_check_api_keyread-only | Verify that a PulpMiner API key (PULPMINER_API_KEY locally, or `Authorization: Bearer <key>` on the hosted server) is set and valid (GET /external/n8n/auth). Free. |
pulpminer_fetch_api_data | Call a saved PulpMiner API and return its JSON (GET /external/{apiId}, or POST with variables for dynamic APIs). Uses the PulpMiner API key (PULPMINER_API_KEY locally, or `Authorization: Bearer <key>` on the hosted server). Costs 0.4 credits (+0.1 if the API renders JS); cached APIs return fast. |
pulpminer_generate_json | Scrape a web page and convert it to structured JSON with an LLM (PulpMiner POST /external/ai/json). Pass jsonFormat to force an exact output shape; omit it to let the AI infer a flat JSON. Does not save anything. Costs 0.25 credits (+0.1 with renderJs). Can take 10-60s+. Needs only the PulpMiner API key (PULPMINER_API_KEY locally, or `Authorization: Bearer <key>` on the hosted server). |
pulpminer_list_saved_apisread-only | List the APIs saved under this API key (GET /external/api/url), oldest first, paginated (pageSize 5-100; smaller values are raised to 5). Returns id, url, dynamic flag and dynamicUrl template for each. Free. |
pulpminer_save_as_api | Save a URL + JSON format as a PulpMiner API (POST /external/ai/json/save). Afterwards the data is available at {baseUrl}/external/{apiId} with the `apikey` header (see pulpminer_fetch_api_data). For a dynamic API, pass dynamicUrl with {{ variable }} placeholders, e.g. https://site.com/search?q={{ query }}; callers then supply those variables. Saving itself is free; each later fetch costs 0.4 credits (+0.1 with renderJs). Needs only the PulpMiner API key (PULPMINER_API_KEY locally, or `Authorization: Bearer <key>` on the hosted server). |
Schemas: list_tools.
{
"name": "io.github.pulpminercom/pulpminer-mcp",
"title": "PulpMiner",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://mcp.pulpminer.com/mcp",
"type": "streamable-http",
"headers": [
{
"name": "Authorization",
"value": "Bearer {api_key}",
"format": "string",
"isSecret": true,
"variables": {
"api_key": {
"format": "string",
"isSecret": true,
"isRequired": true,
"description": "Your PulpMiner API key"
}
},
"isRequired": true,
"description": "Your PulpMiner API key as a Bearer token: 'Bearer <PulpMiner API key>' (PulpMiner dashboard > API Keys)."
}
]
}
],
"version": "0.1.1",
"packages": [
{
"version": "0.1.0",
"transport": {
"type": "stdio"
},
"identifier": "pulpminer-mcp",
"runtimeHint": "npx",
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"environmentVariables": [
{
"name": "PULPMINER_API_KEY",
"format": "string",
"isSecret": true,
"isRequired": true,
"description": "Your PulpMiner API key (PulpMiner dashboard > API Keys). The only credential the server needs."
},
{
"name": "PULPMINER_BASE_URL",
"format": "string",
"default": "https://api.pulpminer.com",
"description": "PulpMiner API base URL. Leave unset to use https://api.pulpminer.com."
},
{
"name": "PULPMINER_TIMEOUT_MS",
"format": "number",
"default": "300000",
"description": "Per-request timeout in milliseconds. Scraping plus the AI step can take a while."
}
]
}
],
"repository": {
"url": "https://github.com/pulpminercom/pulpminer-mcp",
"source": "github"
},
"websiteUrl": "https://www.pulpminer.com/?utm_source=mcp_registry&utm_medium=listing&utm_campaign=mcp_launch",
"description": "Turn any public webpage into JSON with AI, save it as a live JSON API, and call it from your agent."
}