Skip to main content
Glama

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


Related MCP server: agent-api-gateway-mcp

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

Available Tools

1 tool
extract_structured_dataA

Extract structured JSON from any public webpage using Extrapify's schema-guided extraction engine. Define the fields you want (title, price, author, tags, etc.) and their types, point the tool at a URL, and get back validated, typed JSON. Handles JavaScript-heavy pages via Browserless rendering. Ideal for scraping product pages, articles, job listings, company data, search results, and any other structured web content. Returns extracted fields, confidence score, item count, and tokens used.

Inputs: url (required), schema (required), mode.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.8/5.0

    Scored across 1 tool

    Disambiguation5/5

    Only one tool exists, so there is no possibility of confusion or ambiguity among tools.

    Naming Consistency5/5

    With a single tool, naming consistency is not an issue; the name 'extract_structured_data' is clear and descriptive.

    Tool Count3/5

    The server has only one tool, which is thin for most domains. However, as a specialized extraction service, it is borderline acceptable.

    Completeness4/5

    The single tool covers the core extraction use case well, but lacks supporting features like schema management or pagination support, leaving minor gaps.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      An agent-agnostic web extraction and fetch layer that turns URLs into verified, typed data with confidence scores via MCP, REST, or SDK, orchestrating scraping engines behind a resilience ladder and supporting structured extraction against any schema.
      5
      3
      Apache 2.0
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables MCP clients like Claude and Cursor to perform zero-config structured web scraping, generating and caching LLM-built CSS extraction schemas per page template and reusing them across similar URLs.
      MIT