Metadata-Version: 2.5
Name: mcpproducts-extract
Version: 0.1.0
Summary: ExtractMCP — turn any URL or HTML into clean data for agents (markdown, tables, links, JSON)
Requires-Python: >=3.10
Requires-Dist: httpx>=0.27
Requires-Dist: mcp>=1.2.0
Requires-Dist: trafilatura>=1.8
Description-Content-Type: text/markdown

# ExtractMCP 🌐➡️📄

**Turn any URL (or raw HTML) into clean data for AI agents — locally, free.**

Markdown extraction, tables, links, and JSON API reads — no API key, no cloud, no rate limits
beyond the sites themselves. Optional cloud tier for JS-rendered (SPA) pages and batch jobs.

## Tools

| Tool | Tier | What it does |
|---|---|---|
| `fetch_markdown` | free | URL → clean readable markdown (trafilatura engine) |
| `extract_text` | free | HTML string → clean text (scripts/nav stripped) |
| `extract_tables` | free | URL/HTML → all tables as JSON arrays |
| `extract_links` | free | URL/HTML → all links, relative resolved |
| `extract_json` | free | JSON endpoint → data, dotted-path selection |
| `cloud_extract` | cloud | JS-rendered pages + batch (needs `MPX_API_KEY`) |

## Install

**Claude Code:**
```bash
claude mcp add extract -- uvx --from git+https://github.com/mkorayemai-web/extract-mcp extract-mcp
```

**Claude Desktop** (`claude_desktop_config.json`):
```json
{
  "mcpServers": {
    "extract": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/mkorayemai-web/extract-mcp", "extract-mcp"]
    }
  }
}
```

## Example prompts

- "Get this article as markdown: <url>" → `fetch_markdown`
- "Extract the tables from <url> into JSON" → `extract_tables`
- "What links does <url> point to?" → `extract_links`

## License

MIT
