Extrapify

by christ0pper

1.1k downloads
Not rated
GitHub

About

Structured web context infrastructure for AI agents. Extract schema-guided structured JSON from websites using Claude-powered parsing and MCP-native workflows.

Details

Author
christ0pper
Downloads
1,096
Categories
Other, AI, Developer Tools, Automation

- One tool: extract_structured_data
- Supports schema types: string, number, integer, float, boolean, date, datetime, url, and arrays
- Modes: auto, single, list
- Handles Browserless rendering for JS-heavy pages automatically
- Production-ready bridge with no extraction logic or state
- Works with any MCP client over stdio transport

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Extrapify
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install via npm, copy .env.example to .env, and set EXTRAPIFY_API_KEY and EXTRAPIFY_API_BASE_URL. Start the server with npm run mcp:start. In Claude Desktop, add a configuration block pointing to node mcp/server.mjs with those environment variables. The tool extract_structured_data accepts url, mode, and schema parameters.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "extrapify": {
            "extrapify": {
                "command": "node",
                "args": [
                    "/absolute/path/to/extrapify-mcp/mcp/server.mjs"
                ],
                "env": {
                    "EXTRAPIFY_API_BASE_URL": "https://extrapify.com",
                    "EXTRAPIFY_API_KEY": "sk_live_your_key_here"
                }
            }
        }
    }
}

McpServers

{
    "extrapify": {
        "command": "node",
        "args": [
            "/absolute/path/to/extrapify-mcp/mcp/server.mjs"
        ],
        "env": {
            "EXTRAPIFY_API_BASE_URL": "https://extrapify.com",
            "EXTRAPIFY_API_KEY": "sk_live_your_key_here"
        }
    }
}

Extrapify MCP

Extract structured JSON from any public webpage inside Claude Desktop, Cursor, or any MCP-compatible client.

Define a schema. Point it at a URL. Get back validated, typed JSON.

Get an API key → extrapify.com

---

What this is

A thin, stateless MCP server that bridges MCP clients to the hosted Extrapify API.

Extraction does not happen inside this package. The MCP server forwards requests to the Extrapify API, which handles fetching, Browserless rendering for JS-heavy pages, Claude-powered extraction, schema validation, quota accounting, and observability on the backend.

- MCP protocol server over stdio
- One tool: extract_structured_data
- Production-ready bridge, not a scraping framework
- No extraction logic, no state, no side effects

---

Install

npm install

Copy .env.example to .env and fill in your credentials:

EXTRAPIFY_API_BASE_URL=https://extrapify.com
EXTRAPIFY_API_KEY=sk_live_your_key_here

Start the server:

npm run mcp:start

---

Claude Desktop setup

Add this block to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "extrapify": {
      "command": "node",
      "args": ["/absolute/path/to/extrapify-mcp/mcp/server.mjs"],
      "env": {
        "EXTRAPIFY_API_BASE_URL": "https://extrapify.com",
        "EXTRAPIFY_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}

Restart Claude Desktop. The extract_structured_data tool will appear automatically.

---

Cursor setup

Cursor supports stdio MCP servers. Point it at node and the local mcp/server.mjs entrypoint with the same two environment variables.

See docs/mcp-install-examples.md for copy-paste configs.

---

Tool: extract_structured_data

Retrieve structured JSON from any public webpage using a schema you define.

Input:

{
  "url": "https://example.com/article",
  "mode": "auto",
  "schema": {
    "title": "string",
    "author": "string",
    "published_at": "date",
    "tags": "string[]"
  }
}

Output:

{
  "extracted": {
    "title": "How Claude Agents Are Changing Developer Workflows",
    "author": "Jane Smith",
    "published_at": "2026-04-15",
    "tags": ["AI", "agents", "developer tools"]
  },
  "type": "single",
  "count": 1,
  "confidence": 0.96,
  "tokens_used": 1820
}

Supported schema types:
string, number, integer, float, boolean, date, datetime, url, and any of these as arrays using [] suffix (e.g. string[]).

Supported mode values:
- auto — let Extrapify decide based on page structure
- single — extract the primary item only
- list — extract all matching items as an array

---

Schema templates

Starter schemas for common use cases (product pages, job listings, articles, company data) are in docs/schema-templates.md.

---

Example workflows

Agent patterns and demo workflows are in docs/demo-workflows.md.

---

Other compatible clients

Any MCP client that supports stdio transport works with this package. Typically you only need:

- command: node
- args: absolute path to mcp/server.mjs
- env: EXTRAPIFY_API_BASE_URL and EXTRAPIFY_API_KEY

---

Troubleshooting

| Symptom | Fix |
|---|---|
| Server exits immediately | Verify EXTRAPIFY_API_BASE_URL is a valid absolute URL |
| Tool calls return 401 or 403 | Check your API key at extrapify.com/dashboard |
| Client cannot discover tools | Confirm it is launching node against mcp/server.mjs over stdio |
| Requests time out | Verify the Extrapify API is reachable from your machine |
| JS-heavy pages return empty content | Extrapify handles Browserless fallback automatically — no action needed |

---

Repository layout

mcp/
  server.mjs               ← MCP stdio server entrypoint
  tool-registry.mjs        ← tool definitions
  extrapify-client.mjs     ← minimal Extrapify API client
  tools/
    extract-structured-data.mjs
  configs/
    claude-desktop.local.example.json
    claude-desktop.production.example.json
docs/
  mcp-install-examples.md
  schema-templates.md
  demo-workflows.md
  mcp-marketplace-copy.md

---

Links

- API and pricing: extrapify.com
- Docs: extrapify.com/docs
- Dashboard: extrapify.com/dashboard

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.