🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

extracto-mcp

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

extracto-mcp

Model Context Protocol (MCP) server for Extracto — give Claude, Cursor, and any MCP client the ability to turn a URL plus a schema into validated, typed JSON.

latest
Source
npmnpm
Version
0.1.2
Version published
Maintainers
1
Created
Source

extracto-mcp

Model Context Protocol server for Extracto. It gives Claude, Cursor, Claude Code, and any MCP client the ability to turn a URL plus a schema into validated, typed JSON — no prompt engineering, no HTML parsing, and no hallucinated fields (missing data comes back as null).

Quick start

You need an Extracto API key. Get one at app.getextracto.dev/keys.

The server runs over stdio and is published to npm, so most clients just need this config block.

Claude Desktop

Edit claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "extracto": {
      "command": "npx",
      "args": ["-y", "extracto-mcp"],
      "env": { "EXTRACTO_API_KEY": "exa_live_your_key_here" }
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json (or the project .cursor/mcp.json) with the same block.

Claude Code

claude mcp add extracto -e EXTRACTO_API_KEY=exa_live_your_key_here -- npx -y extracto-mcp

Restart the client and ask it to extract something, e.g. "Use extracto to pull the title, language and star count from github.com/facebook/react."

Tools

ToolWhat it does
extractSynchronous extraction from a single URL (up to ~90s). Returns { data, meta }.
extract_asyncSubmit an async job for heavy or anti-bot pages. Returns a job id immediately.
get_jobPoll an async job for status and result.
list_jobsList your recent async jobs.

The schema argument

A schema is an object mapping field names to types. A type is:

  • a literal: "string", "number", "boolean", "array", "object"
  • a one-element array for a list: ["string"], or [{ "title": "string" }]
  • a nested object: { "author": { "name": "string" } }
{
  "title": "string",
  "price": "number",
  "tags": ["string"],
  "reviews": [{ "user": "string", "stars": "number" }]
}

Only fields that are actually found on the page are returned; anything missing is null rather than guessed.

Configuration

All configuration is via environment variables passed by your MCP client:

VariableRequiredDescription
EXTRACTO_API_KEYyesYour key from app.getextracto.dev/keys.
EXTRACTO_BASE_URLnoOverride the API host (defaults to https://app.getextracto.dev).
EXTRACTO_TIMEOUT_MSnoPer-request timeout in ms (default 90000).

Development

npm install
npm run dev        # run from source with tsx
npm run typecheck
npm run build      # bundle to dist/ with tsup

License

MIT

Keywords

mcp

FAQs

Package last updated on 10 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts