extrapify
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_dataProduction-ready bridge, not a scraping framework
No extraction logic, no state, no side effects
Install
npm installCopy .env.example to .env and fill in your credentials:
EXTRAPIFY_API_BASE_URL=https://extrapify.com
EXTRAPIFY_API_KEY=sk_live_your_key_hereStart the server:
npm run mcp:startClaude 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 structuresingle— extract the primary item onlylist— 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:nodeargs: absolute path tomcp/server.mjsenv:EXTRAPIFY_API_BASE_URLandEXTRAPIFY_API_KEY
Troubleshooting
Symptom | Fix |
Server exits immediately | Verify |
Tool calls return | Check your API key at extrapify.com/dashboard |
Client cannot discover tools | Confirm it is launching |
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.mdLinks
API and pricing: extrapify.com
Docs: extrapify.com/docs
Dashboard: extrapify.com/dashboard
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/christ0pper/extrapify-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server