Skip to main content
Glama
maxrabin

pdf-image-extractor-mcp

by maxrabin

PDF Image Extractor MCP Server

PyPI Python License: MIT CI Ruff

A Model Context Protocol (MCP) server that extracts images from PDF files. Run this locally to let LLMs access and analyze images embedded within your local PDF documents.

Quick Start

You can run this server directly using uvx (part of the uv toolkit). No manual installation required.

uvx pdf-image-extractor-mcp@latest

Related MCP server: PDF Reader MCP Server

Configuration

Claude Desktop app

To use this with the Claude Desktop app, add the following to your claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "pdf-image-extractor": {
      "command": "uvx",
      "args": ["pdf-image-extractor-mcp@latest"]
    }
  }
}

Cursor

To add this to Cursor:

Install MCP Server

  1. Open Cursor Settings.

  2. Go to Features -> MCP.

  3. Click + Add New MCP Server.

  4. Enter the following:

    • Name: pdf-image-extractor

    • Type: stdio (or Command)

    • Command: uvx pdf-image-extractor-mcp@latest

VS Code

If you are using the MCP Extension for VS Code (or a compatible AI extension):

Install on VS Code

Create or edit .vscode/mcp.json in your project root:

{
  "mcpServers": {
    "pdf-image-extractor": {
      "command": "uvx",
      "args": ["pdf-image-extractor-mcp@latest"]
    }
  }
}

Claude Code (CLI)

To add this server to Claude Code:

claude mcp add pdf-image-extractor -- uvx pdf-image-extractor-mcp@latest

n8n

To use this with n8n:

Note: n8n typically connects to MCP servers via HTTP (SSE), not local commands (stdio). To use this server with n8n, you must run it behind a generic SSE adapter.

  1. Install the n8n-nodes-mcp community node in your n8n instance.

  2. Run this server wrapped in an SSE transport (using a tool like mcp-proxy or stdio-to-sse).

  3. Configure the n8n MCP Client node to point to your local SSE port (e.g., http://localhost:3000/sse).

Development

If you want to contribute or run from source, please see CONTRIBUTING.md.

Available Tools

1 tool
extract_pdf_imagesA

Extract images from a PDF file with pagination.

Works best when extracting small batches of images (e.g., 10) at a time. Returns a list of image contents and a summary message.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_imagesNoMaximum number of images to extract. Recommended: 10. Default: 10.
start_indexNoStarting index for pagination (0-based). Default is 0.
pdf_full_pathYesThe full absolute path to the PDF file on the local file system. The agent should provide the complete path to ensure the file is found.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

The description mentions pagination and return type (list of image contents and summary), but does not elaborate on what 'image contents' means (e.g., format, encoding) or disclose potential side-effects. Since there are no annotations, the description could provide more behavioral context, but it is not misleading.

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?

The description is extremely concise: three sentences with zero wasted words. The most important information (action, pagination, batch recommendation, return type) is front-loaded and clearly ordered.

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

Completeness4/5

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

Given the tool's low complexity (simple extraction with 3 parameters and a basic output schema), the description covers the essential aspects: what it does, how to paginate, and what is returned. It could mention file limitations or format details, but it is otherwise complete for an agent to use correctly.

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

Parameters4/5

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

All three parameters are fully described in the schema (100% coverage), so the baseline is 3. The description adds value by explaining the recommendation for batch size (max_images) and pagination context (start_index), which clarifies usage beyond the schema.

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

Purpose5/5

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

The description clearly states the action: 'Extract images from a PDF file with pagination.' The verb 'Extract' and resource 'PDF file' are specific, and the mention of pagination distinguishes this from a simple one-shot extraction. With no sibling tools, this is a strong purpose statement.

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

Usage Guidelines4/5

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

The description provides explicit usage advice: 'Works best when extracting small batches of images (e.g., 10) at a time.' This guides the agent on batch size. It does not mention when not to use or alternatives, but with no siblings, the guidance is sufficient.

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

TDQS

A4.1/5.0
Disambiguation5/5

Only one tool exists, so no ambiguity between tools is possible.

Naming Consistency5/5

Single tool so naming pattern is trivially consistent.

Tool Count2/5

One tool for PDF image extraction is too few; the server would benefit from additional tools like listing pages, extracting text, or handling metadata.

Completeness3/5

The tool covers basic image extraction but lacks options for page selection, image format control, or handling of edge cases like password-protected PDFs.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/maxrabin/pdf-image-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server