smart-data-extractor
smart-data-extractor MCP server on Cloudflare Workers · REST + MCP JSON-RPC · free tier
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"smart-data-extractor": {
"command": "npx",
"args": [
"lazymac-mcp-smart-data-extractor"
]
}
}
}Runnable packages
1.0.0streamable-httpRemote endpoints
https://api.lazy-mac.com/smart-data-extractor/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢extract_from_url(url, schema, idempotency_key)
Idempotent · 30s timeout · Extract structured data from URL content with auto schema learning. Pass `idempotency_key` to deduplicate identical calls within 5 minutes.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "HTTP(S) URL to fetch (will auto-download and parse), or raw content string (up to 200KB). Max 200KB after fetch.",
"examples": [
"https://api.github.com/users/octocat",
"https://example.com/page.html",
"{\"name\":\"John Doe\",\"age\":30,\"email\":\"[email protected]\"}"
]
},
"schema": {
"type": "object",
"description": "Optional pre-defined JSON Schema (draft-07). If omitted, schema is auto-inferred from content. Provide to enforce strict field extraction and type coercion."
},
"idempotency_key": {
"type": "string",
"description": "Optional UUID or unique identifier for 5-minute deduplication cache. Same key + tool = cached result in <5ms, zero re-fetching."
}
},
"required": [
"url"
],
"additionalProperties": false
}🟢extract_from_api(content, schema, idempotency_key)
Idempotent · 30s timeout · Extract structured data from API response JSON with schema adaptation. Pass `idempotency_key` to deduplicate within 5 minutes.
Input Schema
{
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "API response body as raw JSON string (max 200KB). Can be single object, array of objects, or array of primitives. Automatically parsed and validated.",
"examples": [
"{\"id\":1,\"name\":\"Alice\",\"role\":\"admin\"}",
"[{\"id\":1,\"name\":\"Alice\"},{\"id\":2,\"name\":\"Bob\"}]",
"[{\"user\":{\"id\":1,\"name\":\"Alice\"},\"status\":\"active\"}]"
]
},
"schema": {
"type": "object",
"description": "Optional target JSON Schema (draft-07) for field extraction. If omitted, inferred from content structure. Enforces consistent field extraction across multiple API responses."
},
"idempotency_key": {
"type": "string",
"description": "Optional deduplication key (UUID or unique string) for 5-minute cache. Identical calls return cached result instantly."
}
},
"required": [
"content"
],
"additionalProperties": false
}⚪auto_schema_learn(sample_data, idempotency_key)
Idempotent · 30s timeout · Automatically infer JSON Schema from sample data without extraction. Pass `idempotency_key` to deduplicate within 5 minutes.
Input Schema
{
"type": "object",
"properties": {
"sample_data": {
"type": "string",
"description": "Representative sample data as JSON string (array of objects or single object). Schema is inferred from structure; use first 1-10 rows for array samples. Max 200KB.",
"examples": [
"{\"product_id\":123,\"title\":\"Laptop Pro\",\"price\":1299.99,\"in_stock\":true}",
"[{\"id\":1,\"email\":\"[email protected]\",\"verified\":true},{\"id\":2,\"email\":\"[email protected]\",\"verified\":false}]",
"{\"name\":\"Report Q1\",\"sections\":[{\"title\":\"Sales\",\"value\":50000}]}"
]
},
"idempotency_key": {
"type": "string",
"description": "Optional cache key (UUID/string) for 5-minute deduplication. Repeat calls with same key return cached inferred schema instantly."
}
},
"required": [
"sample_data"
],
"additionalProperties": false
}🟢batch_extract(sources, schema, idempotency_key)
Idempotent · 30s timeout · Extract data from multiple sources (JSON/JSONL/text) with a single consistent schema. Pass `idempotency_key` to deduplicate within 5 minutes.
Input Schema
{
"type": "object",
"properties": {
"sources": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"json",
"jsonl",
"text"
],
"description": "Source format: \"json\" (single object or array), \"jsonl\" (newline-delimited JSON objects), \"text\" (key:value pairs delimited by commas/semicolons)"
},
"content": {
"type": "string",
"description": "Raw source content (max 200KB per source). For jsonl: each line must be valid JSON. For text: format \"key1:value1,key2:value2\"."
}
},
"required": [
"type",
"content"
],
"additionalProperties": false
},
"description": "Array of 1-100 data sources to extract from. Each source includes type (format) and content (raw data)."
},
"schema": {
"type": "object",
"description": "Optional target JSON Schema (draft-07) applied to all sources. If omitted, inferred from first source and reused across remaining sources. Enables consistent field extraction from diverse formats."
},
"idempotency_key": {
"type": "string",
"description": "Optional deduplication key (UUID/string) for 5-minute cache. Identical batch calls (same sources + schema + key) return cached results instantly."
}
},
"required": [
"sources"
],
"additionalProperties": false
}Community
Evidence