smart-data-extractor

smart-data-extractor MCP server on Cloudflare Workers · REST + MCP JSON-RPC · free tier

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,047Tokens (tool definitions)
~2.6 KBTypical response size
Moderate attention impact (0.82% of 128k context)

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

npmlazymac-mcp-smart-data-extractor1.0.0streamable-http

Remote endpoints

https://api.lazy-mac.com/smart-data-extractor/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools