Boring API

Deterministic data tools: price list diff, PDF tables, feed validation, data mapping, table diff

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
75%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~5,700Tokens (definiciones de herramientas)
~9.2 KBTamaño de respuesta típico
Impacto significativo en la atención (4.45% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "boring-api": {
      "url": "https://api.relaex-engineers.de/mcp"
    }
  }
}

Puntos de conexión remotos

https://api.relaex-engineers.de/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (6)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢supplier_compare(old_file, old_file_url, old_file_text, new_file, new_file_url, ...)

Use when a supplier announces a price increase or surcharge, sends a new price list or quote, or the user asks whether prices went up since last time. Compares the old basis with the new list per SKU. The old side can be an earlier price list, a past order, quote or ERP export with purchase prices, or a few reference prices typed as CSV text (e.g. 'SKU;Price;Per\nA100;12.50;100'); anything with SKU and price columns works. Formats: CSV, XLSX, DATANORM 4/5, FAB-DIS or text-based PDF, up to 250,000 rows. Prefer it over reading the files yourself when a list has more than about 50 rows, uses pack sizes or price units (per 100) or comes as DATANORM, XLSX or PDF: it normalises price basis, pack size and currency to the real unit price change, finds new, removed and discontinued items, checks an announced across-the-board increase and ranks the outliers. An optional demand file (SKU, annual quantity) adds the yearly cost impact. Files can be passed as upload, URL or CSV text. Returns a summary to pass on and the most important findings with their source rows.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "old_file": {
      "default": null,
      "description": "Old price list. A file uploaded in ChatGPT (object with download_url and file_id).",
      "properties": {
        "download_url": {
          "description": "Temporary download URL",
          "type": "string"
        },
        "file_id": {
          "description": "ChatGPT file id",
          "type": "string"
        },
        "mime_type": {
          "description": "MIME type, if known",
          "type": "string"
        },
        "file_name": {
          "description": "Original filename, if known",
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "title": "Old File",
      "type": "object"
    },
    "old_file_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Old price list. Public URL of the file (http/https). Google Drive, Google Sheets and Dropbox share links are converted to direct downloads. Max 20 MiB.",
      "title": "Old File Url"
    },
    "old_file_text": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Old price list. The table as CSV or TSV text, header row first (e.g. 'SKU;Price;Currency\\nA1;12.50;EUR').",
      "title": "Old File Text"
    },
    "new_file": {
      "default": null,
      "description": "New price list. A file uploaded in ChatGPT (object with download_url and file_id).",
      "properties": {
        "download_url": {
          "description": "Temporary download URL",
          "type": "string"
        },
        "file_id": {
          "description": "ChatGPT file id",
          "type": "string"
        },
        "mime_type": {
          "description": "MIME type, if known",
          "type": "string"
        },
        "file_name": {
          "description": "Original filename, if known",
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "title": "New File",
      "type": "object"
    },
    "new_file_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "New price list. Public URL of the file (http/https). Google Drive, Google Sheets and Dropbox share links are converted to direct downloads. Max 20 MiB.",
      "title": "New File Url"
    },
    "new_file_text": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "New price list. The table as CSV or TSV text, header row first (e.g. 'SKU;Price;Currency\\nA1;12.50;EUR').",
      "title": "New File Text"
    },
    "usage_file": {
      "default": null,
      "description": "Optional demand file (SKU, annual quantity). A file uploaded in ChatGPT (object with download_url and file_id).",
      "properties": {
        "download_url": {
          "description": "Temporary download URL",
          "type": "string"
        },
        "file_id": {
          "description": "ChatGPT file id",
          "type": "string"
        },
        "mime_type": {
          "description": "MIME type, if known",
          "type": "string"
        },
        "file_name": {
          "description": "Original filename, if known",
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "title": "Usage File",
      "type": "object"
    },
    "usage_file_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional demand file (SKU, annual quantity). Public URL of the file (http/https). Google Drive, Google Sheets and Dropbox share links are converted to direct downloads. Max 20 MiB.",
      "title": "Usage File Url"
    },
    "usage_file_text": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional demand file (SKU, annual quantity). The table as CSV or TSV text, header row first (e.g. 'SKU;Price;Currency\\nA1;12.50;EUR').",
      "title": "Usage File Text"
    },
    "old_file_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Old price list. File content as Base64 (standard alphabet). Max 20 MiB decoded.",
      "title": "Old File Base64"
    },
    "old_filename": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Original filename with extension (e.g. prices.xlsx); used to detect the format.",
      "title": "Old Filename"
    },
    "new_file_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "New price list. File content as Base64 (standard alphabet). Max 20 MiB decoded.",
      "title": "New File Base64"
    },
    "new_filename": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Original filename with extension (e.g. prices.xlsx); used to detect the format.",
      "title": "New Filename"
    },
    "usage_file_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Demand file. File content as Base64 (standard alphabet). Max 20 MiB decoded.",
      "title": "Usage File Base64"
    },
    "usage_filename": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Original filename with extension (e.g. prices.xlsx); used to detect the format.",
      "title": "Usage Filename"
    },
    "old_file_path": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Local file path; only allowed when the server runs locally over stdio.",
      "title": "Old File Path"
    },
    "new_file_path": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Local file path; only allowed when the server runs locally over stdio.",
      "title": "New File Path"
    },
    "usage_file_path": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Local file path; only allowed when the server runs locally over stdio.",
      "title": "Usage File Path"
    },
    "options": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional CompareOptions, e.g. {\"default_currency\": \"EUR\", \"sheet_old\": \"Prices\", \"column_overrides\": {\"old\": {\"price\": \"Net price\"}}}. Schema: /v1/schemas/supplier-compare-options.",
      "title": "Options"
    },
    "max_findings": {
      "default": 50,
      "description": "How many findings to return, most important first.",
      "maximum": 5000,
      "minimum": 1,
      "title": "Max Findings",
      "type": "integer"
    }
  },
  "title": "supplier_compareArguments"
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true,
  "title": "supplier_compareDictOutput"
}
🟢documents_tables(file, file_url, file_base64, filename, file_path, ...)

Extracts tables from a text-based PDF (price list, data sheet, report; up to 20 MiB, 60 pages) with page, bounding box and a quality level per table. Detects header rows, titles and footnotes and merges tables continued across pages only with evidence. Scanned pages are reported as OCR_REQUIRED, nothing is guessed. Works with any language embedded in the PDF. The PDF can be passed as upload or URL.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "file": {
      "default": null,
      "description": "The PDF. A file uploaded in ChatGPT (object with download_url and file_id).",
      "properties": {
        "download_url": {
          "description": "Temporary download URL",
          "type": "string"
        },
        "file_id": {
          "description": "ChatGPT file id",
          "type": "string"
        },
        "mime_type": {
          "description": "MIME type, if known",
          "type": "string"
        },
        "file_name": {
          "description": "Original filename, if known",
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "title": "File",
      "type": "object"
    },
    "file_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The PDF. Public URL of the file (http/https). Google Drive, Google Sheets and Dropbox share links are converted to direct downloads. Max 20 MiB.",
      "title": "File Url"
    },
    "file_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The PDF. File content as Base64 (standard alphabet). Max 20 MiB decoded.",
      "title": "File Base64"
    },
    "filename": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Original filename with extension (e.g. prices.xlsx); used to detect the format.",
      "title": "Filename"
    },
    "file_path": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Local file path; only allowed when the server runs locally over stdio.",
      "title": "File Path"
    },
    "options": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional TablesOptions, e.g. {\"pages\": \"1-3,7\", \"strategy\": \"auto\", \"include_cells\": false}. Schema: /v1/schemas/documents-tables-options.",
      "title": "Options"
    },
    "max_rows": {
      "default": 100,
      "description": "Rows returned per table (counts stay complete).",
      "maximum": 10000,
      "minimum": 1,
      "title": "Max Rows",
      "type": "integer"
    }
  },
  "title": "documents_tablesArguments"
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true,
  "title": "documents_tablesDictOutput"
}
🟢merchant_validate(file, file_url, file_text, profile, file_base64, ...)

Checks a product feed or catalog export for Google Merchant Center, Shopify or Meta (Facebook/Instagram) before upload. Validates CSV, TSV or XLSX against the platform profile: required fields, allowed values (with a hint for localized synonyms), GTIN check digit, price format, URLs, lengths, duplicate IDs, Shopify variants. Every issue names row, column, rule code and a fix hint; nothing is changed. The feed can be passed as upload, URL or CSV text.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "file": {
      "default": null,
      "description": "The feed. A file uploaded in ChatGPT (object with download_url and file_id).",
      "properties": {
        "download_url": {
          "description": "Temporary download URL",
          "type": "string"
        },
        "file_id": {
          "description": "ChatGPT file id",
          "type": "string"
        },
        "mime_type": {
          "description": "MIME type, if known",
          "type": "string"
        },
        "file_name": {
          "description": "Original filename, if known",
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "title": "File",
      "type": "object"
    },
    "file_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The feed. Public URL of the file (http/https). Google Drive, Google Sheets and Dropbox share links are converted to direct downloads. Max 20 MiB.",
      "title": "File Url"
    },
    "file_text": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The feed. The table as CSV or TSV text, header row first (e.g. 'SKU;Price;Currency\\nA1;12.50;EUR').",
      "title": "File Text"
    },
    "profile": {
      "default": "google_merchant",
      "description": "Target platform: google_merchant, shopify_products_csv or meta_catalog.",
      "title": "Profile",
      "type": "string"
    },
    "file_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The feed. File content as Base64 (standard alphabet). Max 20 MiB decoded.",
      "title": "File Base64"
    },
    "filename": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Original filename with extension (e.g. prices.xlsx); used to detect the format.",
      "title": "Filename"
    },
    "file_path": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Local file path; only allowed when the server runs locally over stdio.",
      "title": "File Path"
    },
    "options": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional ValidateOptions, e.g. {\"sheet\": \"Feed\", \"column_overrides\": {\"gtin\": \"EAN code\"}, \"max_issues\": 500}. Schema: /v1/schemas/merchant-validate-options.",
      "title": "Options"
    }
  },
  "title": "merchant_validateArguments"
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true,
  "title": "merchant_validateDictOutput"
}
🟢schema_normalize(file, file_url, file_text, target, file_base64, ...)

Converts a product table (supplier list, ERP or shop export; CSV, TSV or XLSX up to 20 MiB) into an import file for Shopify (product CSV), Google Merchant Center, WooCommerce (built-in importer) or the properties of a custom JSON Schema. Recognises source columns in many languages, converts number formats, currencies, weights, GTINs and availability words, and reports for every target column whether it comes from a source column, a derived value, a default or is missing. Shopify and Google output is checked with the platform feed rules. Unclear values stay empty with an issue. Returns a summary, the mapping, issues and the CSV text.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "file": {
      "default": null,
      "description": "The product table. A file uploaded in ChatGPT (object with download_url and file_id).",
      "properties": {
        "download_url": {
          "description": "Temporary download URL",
          "type": "string"
        },
        "file_id": {
          "description": "ChatGPT file id",
          "type": "string"
        },
        "mime_type": {
          "description": "MIME type, if known",
          "type": "string"
        },
        "file_name": {
          "description": "Original filename, if known",
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "title": "File",
      "type": "object"
    },
    "file_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The product table. Public URL of the file (http/https). Google Drive, Google Sheets and Dropbox share links are converted to direct downloads. Max 20 MiB.",
      "title": "File Url"
    },
    "file_text": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The product table. The table as CSV or TSV text, header row first (e.g. 'SKU;Price;Currency\\nA1;12.50;EUR').",
      "title": "File Text"
    },
    "target": {
      "default": "shopify_products_csv",
      "description": "Target format: shopify_products_csv, google_merchant, woocommerce_products_csv or json_schema (then give options.json_schema).",
      "title": "Target",
      "type": "string"
    },
    "file_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The product table. File content as Base64 (standard alphabet). Max 20 MiB decoded.",
      "title": "File Base64"
    },
    "filename": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Original filename with extension (e.g. prices.xlsx); used to detect the format.",
      "title": "Filename"
    },
    "file_path": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Local file path; only allowed when the server runs locally over stdio.",
      "title": "File Path"
    },
    "options": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional NormalizeOptions, e.g. {\"defaults\": {\"brand\": \"Acme\", \"condition\": \"new\"}, \"default_currency\": \"EUR\", \"column_overrides\": {\"price\": \"VK netto\"}, \"max_output_rows\": 500} or {\"json_schema\": {\"properties\": {\"item_no\": {\"type\": \"string\", \"x-canonical\": \"sku\"}}}}. Schema: /v1/schemas/schema-normalize-options.",
      "title": "Options"
    }
  },
  "title": "schema_normalizeArguments"
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true,
  "title": "schema_normalizeDictOutput"
}
🟢table_diff(old_file, old_file_url, old_file_text, new_file, new_file_url, ...)

Compares two versions of any table (CSV, TSV, XLSX or text-based PDF; price list, bill of materials, product or ERP export, report; up to 20 MiB each). Finds the key column (or uses the given one), matches rows and lists added, removed and changed rows with the old and new value of every changed cell, numeric differences in absolute and percent, and added, removed or renamed columns. Numbers are compared by value, so 1.234,56 and 1234.56 are equal. Files can be passed as upload, URL or CSV text.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "old_file": {
      "default": null,
      "description": "Old version of the table. A file uploaded in ChatGPT (object with download_url and file_id).",
      "properties": {
        "download_url": {
          "description": "Temporary download URL",
          "type": "string"
        },
        "file_id": {
          "description": "ChatGPT file id",
          "type": "string"
        },
        "mime_type": {
          "description": "MIME type, if known",
          "type": "string"
        },
        "file_name": {
          "description": "Original filename, if known",
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "title": "Old File",
      "type": "object"
    },
    "old_file_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Old version. Public URL of the file (http/https). Google Drive, Google Sheets and Dropbox share links are converted to direct downloads. Max 20 MiB.",
      "title": "Old File Url"
    },
    "old_file_text": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Old version. The table as CSV or TSV text, header row first (e.g. 'SKU;Price;Currency\\nA1;12.50;EUR').",
      "title": "Old File Text"
    },
    "new_file": {
      "default": null,
      "description": "New version of the table. A file uploaded in ChatGPT (object with download_url and file_id).",
      "properties": {
        "download_url": {
          "description": "Temporary download URL",
          "type": "string"
        },
        "file_id": {
          "description": "ChatGPT file id",
          "type": "string"
        },
        "mime_type": {
          "description": "MIME type, if known",
          "type": "string"
        },
        "file_name": {
          "description": "Original filename, if known",
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "title": "New File",
      "type": "object"
    },
    "new_file_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "New version. Public URL of the file (http/https). Google Drive, Google Sheets and Dropbox share links are converted to direct downloads. Max 20 MiB.",
      "title": "New File Url"
    },
    "new_file_text": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "New version. The table as CSV or TSV text, header row first (e.g. 'SKU;Price;Currency\\nA1;12.50;EUR').",
      "title": "New File Text"
    },
    "key": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Key column header(s) as in the old file; detected when omitted.",
      "title": "Key"
    },
    "old_file_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Old version. File content as Base64 (standard alphabet). Max 20 MiB decoded.",
      "title": "Old File Base64"
    },
    "old_filename": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Original filename with extension (e.g. prices.xlsx); used to detect the format.",
      "title": "Old Filename"
    },
    "new_file_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "New version. File content as Base64 (standard alphabet). Max 20 MiB decoded.",
      "title": "New File Base64"
    },
    "new_filename": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Original filename with extension (e.g. prices.xlsx); used to detect the format.",
      "title": "New Filename"
    },
    "old_file_path": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Local file path; only allowed when the server runs locally over stdio.",
      "title": "Old File Path"
    },
    "new_file_path": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Local file path; only allowed when the server runs locally over stdio.",
      "title": "New File Path"
    },
    "options": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional DiffOptions, e.g. {\"column_map\": {\"Qty\": \"Quantity\"}, \"ignore_columns\": [\"Updated\"], \"numeric_tolerance\": \"0.01\", \"ignore_case\": true}. Schema: /v1/schemas/table-diff-options.",
      "title": "Options"
    },
    "max_changes": {
      "default": 100,
      "description": "Row changes returned (counts stay complete).",
      "maximum": 5000,
      "minimum": 1,
      "title": "Max Changes",
      "type": "integer"
    }
  },
  "title": "table_diffArguments"
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true,
  "title": "table_diffDictOutput"
}
🟢datasheet_compare(old_file, old_file_url, new_file, new_file_url, target_mpn, ...)

Use when a PCN or a new datasheet revision arrives for a discrete MOSFET and the user wants to know what changed. Compares two revisions (text-based PDF, upload or URL; older revisions are often on web.archive.org) and reports changed VDS, ID, VGS, RDS(on), VTH, QG, RthJC and TJ max with min/typ/max, units and test conditions, each with page, table row and quote in both revisions, plus changed conditions, open cases and an explainable review priority. Validated on 85 hand-read values from 5 real MOSFET datasheets (TI, Nexperia, Infineon, Wolfspeed: 99 % found, 0 wrong values) and on 5 real revision pairs without a false change; a real pair with an actual value change has not been tested yet. Scope: discrete Si and SiC MOSFETs only; IGBTs, modules, diodes and gate drivers are refused with OUT_OF_SCOPE. Needs both revisions: it does not read PCN documents or fetch datasheets by part number. Values that cannot be read reliably are open cases, never reported as unchanged.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "old_file": {
      "default": null,
      "description": "Old datasheet revision (PDF). A file uploaded in ChatGPT (object with download_url and file_id).",
      "properties": {
        "download_url": {
          "description": "Temporary download URL",
          "type": "string"
        },
        "file_id": {
          "description": "ChatGPT file id",
          "type": "string"
        },
        "mime_type": {
          "description": "MIME type, if known",
          "type": "string"
        },
        "file_name": {
          "description": "Original filename, if known",
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "title": "Old File",
      "type": "object"
    },
    "old_file_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Old revision (PDF). Public URL of the file (http/https). Google Drive, Google Sheets and Dropbox share links are converted to direct downloads. Max 20 MiB.",
      "title": "Old File Url"
    },
    "new_file": {
      "default": null,
      "description": "New datasheet revision (PDF). A file uploaded in ChatGPT (object with download_url and file_id).",
      "properties": {
        "download_url": {
          "description": "Temporary download URL",
          "type": "string"
        },
        "file_id": {
          "description": "ChatGPT file id",
          "type": "string"
        },
        "mime_type": {
          "description": "MIME type, if known",
          "type": "string"
        },
        "file_name": {
          "description": "Original filename, if known",
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "title": "New File",
      "type": "object"
    },
    "new_file_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "New revision (PDF). Public URL of the file (http/https). Google Drive, Google Sheets and Dropbox share links are converted to direct downloads. Max 20 MiB.",
      "title": "New File Url"
    },
    "target_mpn": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Exact part number, only needed for family datasheets.",
      "title": "Target Mpn"
    },
    "old_file_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Old revision. File content as Base64 (standard alphabet). Max 20 MiB decoded.",
      "title": "Old File Base64"
    },
    "old_filename": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Original filename with extension (e.g. prices.xlsx); used to detect the format.",
      "title": "Old Filename"
    },
    "new_file_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "New revision. File content as Base64 (standard alphabet). Max 20 MiB decoded.",
      "title": "New File Base64"
    },
    "new_filename": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Original filename with extension (e.g. prices.xlsx); used to detect the format.",
      "title": "New Filename"
    },
    "old_file_path": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Local file path; only allowed when the server runs locally over stdio.",
      "title": "Old File Path"
    },
    "new_file_path": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Local file path; only allowed when the server runs locally over stdio.",
      "title": "New File Path"
    }
  },
  "title": "datasheet_compareArguments"
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true,
  "title": "datasheet_compareDictOutput"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada6 herramientas