
Extracto Mcp
io.github.massanaRogerPublished by GitHub account massanaRogerv0.1.2Updated Oct 24, 2026
Turn any URL plus a schema into validated, typed JSON via the Extracto API.
Overview
Turns a URL plus a field schema into validated, typed JSON through the Extracto API, with sync and async extraction jobs.
- What you can do
- Exposes the Extracto extraction API to an MCP client. The extract tool performs a synchronous extraction from a single URL (up to about 90 seconds) and returns data plus metadata. extract_async submits heavy or anti-bot pages as a background job and returns a job id, while get_job polls a job for status and result and list_jobs lists recent jobs. Fields are requested through a schema mapping names to types, and missing data comes back as null instead of being guessed.
- When to use it
- Useful when an assistant needs structured data from web pages without writing HTML parsers or prompts, for example pulling a title, language and star count from a repository page. The async tools suit heavy or bot-protected pages that would exceed a synchronous request.
- Requirements
- Runs locally over stdio, typically launched with npx from the npm package extracto-mcp, so Node.js and network access are needed. A required EXTRACTO_API_KEY is passed by the MCP client; optional EXTRACTO_BASE_URL and EXTRACTO_TIMEOUT_MS override the API host and per-request timeout. Desktop clients only.
Installation
In SourceWeft
- Open Extracto Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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):
Cursor
Add to ~/.cursor/mcp.json (or the project .cursor/mcp.json) with the same block.
Claude Code
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
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" } }
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:
Development
Related
extracto— the official TypeScript/JavaScript SDK.- getextracto.dev — docs and API reference.
License
MIT
Source: README.md at commit 0403e82
Tools
0Version history
1- v0.1.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts