Skip to main content
Glama

Docalyze MCP Server

An MCP (Model Context Protocol) server that lets AI assistants read and visually analyze local documents — PDFs, Excel spreadsheets, CSV files, Word documents, PowerPoint presentations, and images.

No API keys required. The host AI (GitHub Copilot, Claude, etc.) does all the reasoning directly.

Supported Formats

Format

Extensions

Read

Visual

PDF

.pdf

Excel

.xlsx, .xls

CSV / TSV

.csv, .tsv

JSON

.json

Word

.docx

PowerPoint

.pptx

Plain text

.txt, .md

Images

.png, .jpg, .jpeg, .gif, .bmp, .tiff, .webp

Related MCP server: MCP PDF Reader

Tools

Tool

Description

list_documents

List files under a directory, filtered by glob pattern

document_info

Get metadata (size, modified date, sheets) for a file

read_document

Extract text content from a document with pagination

visual_evaluate_document

Return page images inline so the AI can analyze charts, tables, and diagrams

Installation

Search for docalyze in the MCP server gallery (Extensions sidebar → MCP tab) and click Install.

From PyPI

pip install docalyze-mcp-server

From npm

npx docalyze-mcp-server

This requires uv or pipx installed — the npm wrapper calls uvx to run the Python package automatically.

Manual setup

Add to your VS Code mcp.json (or settings.json):

{
  "servers": {
    "docalyze": {
      "type": "stdio",
      "command": "python",
      "args": ["-m", "docalyze_mcp_server"],
      "env": {
        "PYTHONIOENCODING": "utf-8"
      }
    }
  }
}

Or, if you installed via pip and want to use the entry point:

{
  "servers": {
    "docalyze": {
      "type": "stdio",
      "command": "docalyze-mcp-server"
    }
  }
}

Optional Dependencies

The base install handles PDF, Excel, CSV, JSON, and plain text. For additional formats:

# Word documents
pip install docalyze-mcp-server[docx]

# PowerPoint
pip install docalyze-mcp-server[pptx]

# OCR (requires Tesseract installed on your system)
pip install docalyze-mcp-server[ocr]

# Everything
pip install docalyze-mcp-server[all]

Configuration

The server reads documents from a configurable root directory. Set the DOCUMENTS_ROOT environment variable to change it:

{
  "servers": {
    "docalyze": {
      "type": "stdio",
      "command": "docalyze-mcp-server",
      "env": {
        "DOCUMENTS_ROOT": "/path/to/your/documents"
      }
    }
  }
}

If not set, it defaults to the directory containing the server script.

License

MIT

Available Tools

4 tools
document_infoB

Return metadata about a specific document.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must explicitly disclose behavioral traits. It only says 'Return metadata' without mentioning permissions, rate limits, or what is included in 'metadata'. For a tool with no safety annotations, this is insufficient.

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

Conciseness4/5

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

The description is a single clear sentence with no wasted words. However, it omits necessary details, making it too brief to be fully effective. Conciseness is good, but completeness suffers.

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?

The tool is simple (1 param, no nested objects) and has an output schema, so the description may not need to detail return values. However, it fails to clarify what 'metadata' constitutes, leaving some ambiguity. Adequate but not comprehensive.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for parameter meaning. It does not add any context about the 'file_path' parameter (e.g., format, allowed protocols). The parameter name is self-explanatory, but without additional guidance, the score is low.

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 ('Return metadata') and the resource ('a specific document'). It effectively distinguishes from siblings: list_documents (listing), read_document (content), and visual_evaluate_document (visual evaluation).

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?

Usage context is implied: use when needing metadata for a known document. However, no explicit when-to-use or when-not-to-use guidance is provided, nor are alternatives compared despite sibling tools being named.

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

list_documentsC

List documents under the configured root directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootNo
patternNo**/*
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations exist. The description does not disclose recursion behavior, filtering logic, or performance characteristics. The phrase 'configured root directory' is ambiguous without context.

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

Conciseness3/5

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

One sentence with no unnecessary words, but it is under-specified. Conciseness is positive, but the content is too minimal to be fully useful.

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

Completeness2/5

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

Despite having an output schema, the description lacks details on parameter usage, default behaviors, and output structure. For a tool with 3 parameters and no schema descriptions, the description is insufficient.

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

Parameters1/5

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

Schema description coverage is 0%. The description fails to mention any of the three parameters (root, pattern, limit), leaving the agent to infer from schema alone. This does not add value beyond the raw schema.

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?

The description clearly states the action (list) and resource (documents under root directory). However, it does not differentiate from sibling tools like document_info or read_document, which could be inferred but not explicit.

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

Usage Guidelines2/5

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

No guidance on when to use vs alternatives like document_info (single doc) or search. No exclusions or prerequisites provided.

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

read_documentC

Read a portion of a document (PDF, Excel, CSV, JSON, TXT, DOCX).

IMPORTANT: When presenting results to users, ALWAYS mention:

  • The folder/directory path (e.g., 'Well 1/Well Test/')

  • The complete document name This helps users understand which well and document type is being referenced.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
max_charsNo
pageNo
max_pagesNo
sheetNo
start_rowNo
num_rowsNo
include_tablesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior1/5

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

No annotations provided, so description bears full burden. It only lists file types and mentions 'portion', but fails to disclose behavior like error handling, page start, or output format. Missing essential behavioral context.

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

Conciseness3/5

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

Very short, but one sentence is an instruction for user presentation rather than tool functionality. Could be more concise by removing extraneous guidance.

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

Completeness2/5

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

Despite high parameter count (8) and multiple file formats, the description provides minimal context. Output schema exists but is not used in description. Missing return value details and usage scenarios.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no explanation for any of the 8 parameters. It does not help the agent understand defaults, options, or relationships between parameters.

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?

Description clearly states verb 'Read a portion' and specifies multiple document types (PDF, Excel, etc.). However, it does not differentiate from sibling tools like document_info or visual_evaluate_document, missing a chance to clarify distinct purpose.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The IMPORTANT note instructs on presenting results but does not provide usage context, such as prerequisites or when to avoid the tool.

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

visual_evaluate_documentA

Extract visual content from a document (PDF pages or images) and return it as inline images so the host AI can analyse charts, tables, and diagrams directly. Optionally run local Tesseract OCR as well.

Returns a list of content blocks (text and/or base64 images) that the calling AI model can interpret.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
enable_ocrNo
pageNo
max_pagesNo
ocr_langNoeng

TDQS

A3.9/5.0
Behavior4/5

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

Without annotations, the description reveals key behaviors: it returns content blocks (text/images) and can run local OCR. It implies a read-only operation by using 'extract', but does not clarify if the document is modified or detail potential side effects.

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 concise, with two sentences that front-load the core purpose and key feature (inline images). No unnecessary details 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?

For a tool with 5 parameters and no output schema, the description provides a general overview but lacks detail on parameter defaults, supported file formats, and error handling. Sibling differentiation is not explicitly addressed, leaving some gaps for an AI agent.

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 coverage is 0%, so the description must compensate. It hints at file_path (document), enable_ocr (optional OCR), page (page number), but does not describe max_pages or ocr_lang explicitly. This partial coverage leaves some parameters ambiguous.

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 tool extracts visual content (charts, tables, diagrams) from PDFs/images and returns inline images for AI analysis. This distinguishes it from siblings like read_document (text extraction) and document_info (metadata).

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?

The description mentions optional OCR usage but does not explicitly state when to use this tool over alternatives or any constraints (e.g., file size limits). Usage context is implied but not clearly delineated.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updatesv0.2.1
    • First observeddocument_info
    • First observedlist_documents
    • First observedread_document
    • First observedvisual_evaluate_document

TDQS

B3.2/5.0
Disambiguation5/5

Each tool has a distinct purpose: metadata retrieval, listing, text reading, and visual analysis. No two tools overlap in functionality.

Naming Consistency4/5

All tools use snake_case and end with 'document' or 'documents', but 'document_info' is a noun-noun pattern while others are verb-noun, causing minor inconsistency.

Tool Count5/5

Four tools is a reasonable scope for a document analysis server, covering essential read operations without being excessive.

Completeness4/5

The tools cover metadata, listing, text reading, and visual analysis. However, folder navigation or search is missing, which may be needed given the mention of directory structure.

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

  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that enables AI assistants to perform semantic searches over local document collections using multi-context organization and automatic OCR. It supports various file formats including PDF, DOCX, and images, ensuring all data processing remains local and private.
    7
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A local MCP server that extracts text-layer content from PDF files, enabling AI agents to inspect, extract text, outlines, and page content.
    -

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/LunarPerovskite/docalyze-mcp-server'

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