Skip to main content
Glama
lfnovo
by lfnovo

Extract Content

extract_content

Extract content from web pages, PDFs, documents, and YouTube transcripts into structured JSON. Use a URL or local file; API keys are only needed for audio/video transcription.

Instructions

Extract content from a URL or file. Does not require an API key for most sources (web pages, PDFs, documents, YouTube transcripts). API key is only needed for audio/video transcription.

Input Schema

NameRequiredDescriptionDefault
urlNoURL to extract content from (web page, YouTube video, PDF link, etc.)
engineNoOptional extraction engine override, routed by input type. With `url`: auto, simple, firecrawl, jina, crawl4ai. With `file_path`: auto, simple, docling — `docling` requires `pip install "content-core[docling]"` and fails with a configuration error when the extra is missing, in which case use `auto` or `simple`. Any other value is rejected with an error naming the accepted ones.
no_ocrNoDisable OCR in Docling (requires engine=docling)
formulasNoEnable formula extraction via Docling (requires engine=docling)
picturesNoEnable image description + chart data extraction via Docling (requires engine=docling)
file_pathNoLocal file path to extract content from

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv2.1.1
    • addedInput schema / properties / engine / description
      Added value: +"Optional extraction engine override, routed by input type.\nWith `url`: auto, simple, firecrawl, jina, crawl4ai.\nWith `file_path`: auto, simple, docling — `docling` requires\n`pip install \"content-core[docling]\"` and fails with a\nconfiguration error when the extra is missing, in which case use\n`auto` or `simple`.\nAny other value is rejected with an error naming the accepted ones."
    • addedInput schema / properties / file_path / description
      Added value: +"Local file path to extract content from"
    • addedInput schema / properties / formulas / description
      Added value: +"Enable formula extraction via Docling (requires engine=docling)"
    • addedInput schema / properties / no_ocr / description
      Added value: +"Disable OCR in Docling (requires engine=docling)"
    • addedInput schema / properties / pictures / description
      Added value: +"Enable image description + chart data extraction via Docling (requires engine=docling)"
    • addedInput schema / properties / url / description
      Added value: +"URL to extract content from (web page, YouTube video, PDF link, etc.)"
  2. Changed9 schema fields changedv2.0.4
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / engine
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedInput schema / properties / formulas
      Added value: +{
      +  "default": false,
      +  "type": "boolean"
      +}
    • addedInput schema / properties / no_ocr
      Added value: +{
      +  "default": false,
      +  "type": "boolean"
      +}
    • addedInput schema / properties / pictures
      Added value: +{
      +  "default": false,
      +  "type": "boolean"
      +}
    • removedOutput schema / additionalProperties
      Removed value: -true
    • addedOutput schema / properties
      Added value: +{
      +  "result": {
      +    "type": "string"
      +  }
      +}
    • addedOutput schema / required
      Added value: +[
      +  "result"
      +]
    • addedOutput schema / x-fastmcp-wrap-result
      Added value: +true
  3. Changed2 schema fields changedv1.0.0
    • removedInput schema / properties / file_path / title
      Removed value: -"File Path"
    • removedInput schema / properties / url / title
      Removed value: -"Url"
  4. First observed

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden; it usefully discloses the auth profile (no key needed for most sources, key needed for audio/video). It is silent on other behaviors: what happens if neither url nor file_path is supplied (0 required params), and whether unsupported sources error or degrade.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the core action, and the auth caveat placed immediately after. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the auth context is a genuine addition. Still missing is guidance on the unusual 0-required-parameter shape (must one of url/file_path be given?) and any routing versus the sibling tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents engine routing, docling requirements, and the flag semantics in detail. The description adds only a loose mapping of source types, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Extract') and resource ('content from a URL or file') plus the supported source types. It does not explicitly differentiate itself from the sibling summarize_content, so an agent must infer that this returns raw content rather than a summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives conditional guidance about when an API key is required (audio/video transcription only), which is useful. However, it never says when to choose this over summarize_content, nor does it explain the url-vs-file_path choice, leaving usage largely implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools