FineData MCP Server
Enables AI agents to scrape any website by providing tools for JavaScript rendering, antibot bypass, and automatic captcha solving. It supports synchronous, asynchronous, and batch scraping operations with built-in proxy rotation.
README
FineData MCP Server
MCP (Model Context Protocol) server for FineData web scraping API.
Enables AI agents like Claude, Cursor, and GPT to scrape any website with:
- Antibot Bypass - Cloudflare, DataDome, PerimeterX, and more
- JavaScript Rendering - Full browser rendering with Playwright
- Captcha Solving - reCAPTCHA, hCaptcha, Cloudflare Turnstile, Yandex
- Proxy Rotation - 87K+ datacenter, residential, and mobile proxies
- Smart Retry - Automatic retries with block detection
Installation
Using uvx (Recommended)
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Run directly with uvx
FINEDATA_API_KEY=fd_xxx uvx finedata-mcp
Using pip
pip install finedata-mcp
# Run
FINEDATA_API_KEY=fd_xxx finedata-mcp
Using npx
npx -y @finedata/mcp-server
Configuration
Cursor IDE
Step 1: Open Cursor Settings → MCP
Or create/edit ~/.cursor/mcp.json:
macOS/Linux:
mkdir -p ~/.cursor && nano ~/.cursor/mcp.json
Windows:
%USERPROFILE%\.cursor\mcp.json
Step 2: Add FineData MCP server:
{
"mcpServers": {
"finedata": {
"command": "uvx",
"args": ["finedata-mcp"],
"env": {
"FINEDATA_API_KEY": "fd_your_api_key_here"
}
}
}
}
Step 3: Restart Cursor
Step 4: Test by asking the agent:
"Scrape https://example.com and show me the title"
Alternative: Using npx (if uv not installed)
{
"mcpServers": {
"finedata": {
"command": "npx",
"args": ["-y", "@finedata/mcp-server"],
"env": {
"FINEDATA_API_KEY": "fd_your_api_key_here"
}
}
}
}
Note: npx requires Python 3.10+ and uv/pipx installed. uvx is recommended.
Claude Desktop
Step 1: Open config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Step 2: Add MCP server:
{
"mcpServers": {
"finedata": {
"command": "uvx",
"args": ["finedata-mcp"],
"env": {
"FINEDATA_API_KEY": "fd_your_api_key_here"
}
}
}
}
Step 3: Restart Claude Desktop
Environment Variables
| Variable | Required | Description |
|---|---|---|
FINEDATA_API_KEY |
Yes | Your FineData API key |
FINEDATA_API_URL |
No | API URL (default: https://api.finedata.ai) |
FINEDATA_TIMEOUT |
No | Default timeout in seconds (default: 60) |
Available Tools
scrape_url
Scrape content from any web page with antibot bypass.
scrape_url(
url: "https://example.com",
use_js_render: false, # Enable Playwright for SPAs
use_residential: false, # Use residential proxy
use_undetected: false, # Use Undetected Chrome
solve_captcha: false, # Auto-solve captchas
timeout: 60 # Timeout in seconds
)
Token costs:
- Base request: 1 token
- Antibot bypass: +2 tokens
- JS rendering: +5 tokens
- Residential proxy: +3 tokens
- Captcha solving: +10 tokens
scrape_async
Submit an async scraping job for long-running requests.
scrape_async(
url: "https://heavy-site.com",
use_js_render: true,
timeout: 120,
callback_url: "https://your-webhook.com/callback"
)
Returns a job_id for status polling.
get_job_status
Get the status of an async scraping job.
get_job_status(job_id: "550e8400-e29b-41d4-a716-446655440000")
Statuses: pending, processing, completed, failed, cancelled
batch_scrape
Scrape multiple URLs in a single batch (up to 100 URLs).
batch_scrape(
urls: ["https://example.com/1", "https://example.com/2"],
use_js_render: false,
callback_url: "https://your-webhook.com/batch-done"
)
get_usage
Get current API token usage.
get_usage()
Examples
Basic Scraping
Ask Claude or your AI agent:
"Scrape https://example.com and show me the content"
JavaScript Rendered Page
"Scrape https://spa-website.com with JavaScript rendering enabled"
Protected Site with Captcha
"Scrape https://protected-site.com using residential proxy and captcha solving"
Batch Scraping
"Scrape these URLs: https://example.com/1, https://example.com/2, https://example.com/3"
Pricing
FineData uses token-based pricing. Each feature adds tokens:
| Feature | Tokens |
|---|---|
| Base request | 1 |
| Antibot (TLS fingerprinting) | +2 |
| JS Rendering (Playwright) | +5 |
| Undetected Chrome | +5 |
| Residential Proxy | +3 |
| Mobile Proxy | +4 |
| reCAPTCHA / hCaptcha | +10 |
| Cloudflare Turnstile | +12 |
| Yandex SmartCaptcha | +15 |
Get your API key and free trial tokens at finedata.ai.
Troubleshooting
"No module named finedata_mcp"
Install uv and use uvx:
curl -LsSf https://astral.sh/uv/install.sh | sh
"externally-managed-environment" on macOS
This happens with Homebrew Python. Use uvx instead of pip:
{
"command": "uvx",
"args": ["finedata-mcp"]
}
MCP server not appearing in Cursor
- Check
~/.cursor/mcp.jsonsyntax (valid JSON) - Ensure
FINEDATA_API_KEYis set - Restart Cursor completely
- Check Cursor Output → MCP for errors
Support
- Documentation: https://docs.finedata.ai
- Email: support@finedata.ai
- Issues: https://github.com/quality-network/finedata-mcp/issues
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。