Skip to main content
Glama

๐Ÿ” Docsray MCP Server

PyPI License: Apache 2.0 Python 3.9+ MCP Status Netlify Status

Docsray is a powerful Model Context Protocol (MCP) server that gives AI assistants like Claude advanced document perception capabilities. Extract text, navigate pages, analyze structure, and understand any document with ease.

โœ… Status: Published to PyPI and TestPyPI - Working in Cursor, Claude Desktop, and other MCP clients

โœจ Features

๐ŸŽฏ Five Powerful Tools

  1. docsray_peek - Quick document overview with format detection and provider capabilities

  2. docsray_map - Generate comprehensive document structure maps with caching

  3. docsray_xray - AI-powered deep analysis extracting entities, relationships, and insights

  4. docsray_extract - Extract content in multiple formats (markdown, text, JSON, tables)

  5. docsray_seek - Navigate to specific pages, sections, or search for content

๐Ÿ”Œ Multi-Provider Architecture

  • PyMuPDF4LLM - Lightning-fast PDF processing (โœ… Implemented)

    • Fast markdown extraction

    • Basic table detection

    • Multi-page support

    • Always enabled as fallback

  • LlamaParse - Deep document understanding with LLMs (โœ… Implemented)

    • AI-powered entity extraction

    • Custom analysis instructions

    • Comprehensive caching in .docsray directories

    • Rich format preservation (markdown, images, tables)

  • PyTesseract - OCR for scanned documents (๐Ÿ”„ Planned)

  • Mistral OCR - AI-powered OCR and analysis (๐Ÿ”„ Planned)

๐Ÿš€ Key Benefits

  • Universal Input Support - Local files (./path, ../path, /absolute) and URLs (https://)

  • Intelligent Provider Selection - Automatically chooses the best tool for each task

  • Smart Caching - LlamaParse results cached in .docsray directories for instant access

  • Dynamic Discovery - Tools report actual capabilities based on what's enabled

  • Production Ready - Comprehensive error handling, logging, and 56 tests

  • Self-Documenting - Built-in resources for discovery by MCP clients

Related MCP server: Docalyze

๐Ÿ“ฆ Installation

# Run directly without installation
uvx docsray-mcp start

# Or install globally
uv tool install docsray-mcp
# Then run with:
docsray start
# or
docsray-mcp start

Alternative: Install with pip

# Basic installation (PyMuPDF4LLM only)
pip install docsray-mcp

# With LlamaParse for AI analysis
pip install "docsray-mcp[ai]"

# Development installation
pip install -e ".[dev]"

๐Ÿš€ Quick Start

Create a .env file in your project:

# For AI-powered analysis with LlamaParse
LLAMAPARSE_API_KEY=llx-your-key-here

# Or use environment variables
export LLAMAPARSE_API_KEY=llx-your-key-here

Get your free LlamaParse API key at cloud.llamaindex.ai

2. Configure with Your MCP Client

For Cursor

Add to your Cursor settings:

{
  "mcpServers": {
    "docsray": {
      "command": "uvx",
      "args": ["docsray-mcp"],
      "env": {
        "LLAMAPARSE_API_KEY": "llx-your-key-here"
      }
    }
  }
}

For Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "docsray": {
      "command": "uvx",
      "args": ["docsray-mcp"],
      "env": {
        "LLAMAPARSE_API_KEY": "llx-your-key-here"
      }
    }
  }
}

๐Ÿ“š Usage Examples

Basic Document Overview

Peek at ./document.pdf to see its structure and available formats

Extract Entities from Contracts

Xray ./contract.pdf and extract all parties, dates, payment terms, and obligations

Navigate Documents

Map the complete structure of ./manual.pdf including all sections and subsections

Extract Specific Content

Extract pages 10-20 from ./report.pdf as markdown

Analyze Web Documents

Analyze https://arxiv.org/pdf/2301.00234.pdf for methodology and key findings

Compare Providers

Extract text from document.pdf with provider pymupdf4llm (fast)
Xray document.pdf with provider llama-parse (AI analysis)

๐Ÿ› ๏ธ Advanced Configuration

Environment Variables

# Provider Configuration
DOCSRAY_PYMUPDF4LLM_ENABLED=true  # Always true by default
DOCSRAY_LLAMAPARSE_ENABLED=true
LLAMAPARSE_API_KEY=llx-your-key

# Performance Tuning
DOCSRAY_CACHE_ENABLED=true
DOCSRAY_CACHE_TTL=3600
DOCSRAY_MAX_CONCURRENT_REQUESTS=5
DOCSRAY_TIMEOUT_SECONDS=30

# Logging
DOCSRAY_LOG_LEVEL=INFO

Provider Capabilities

PyMuPDF4LLM (Always Available)

  • โœ… Fast text extraction

  • โœ… Markdown formatting

  • โœ… Basic table detection

  • โœ… Multi-page support

  • โŒ No AI analysis

  • โŒ No OCR

LlamaParse (When API Key Configured)

  • โœ… AI-powered analysis

  • โœ… Entity extraction

  • โœ… Custom instructions

  • โœ… Table extraction

  • โœ… Image extraction

  • โœ… Layout preservation

  • โœ… Relationship mapping

  • โœ… Result caching

๐Ÿงช Testing

# Run all tests
pytest tests/

# Run only unit tests (no API calls)
pytest tests/unit/

# Run integration tests
pytest tests/integration/

# Run with coverage
pytest tests/ --cov=src/docsray --cov-report=html

Current test coverage: 52 tests passing with comprehensive coverage across all components

๐Ÿ“– API Reference

Tool: docsray_peek

Get quick document overview and metadata.

{
  "document_url": "path/to/document.pdf",
  "depth": "structure",  # metadata | structure | preview
  "provider": "auto"     # auto | pymupdf4llm | llama-parse
}

Tool: docsray_map

Generate comprehensive document structure map.

{
  "document_url": "path/to/document.pdf",
  "include_content": false,
  "analysis_depth": "deep",  # basic | deep | comprehensive
  "provider": "auto"
}

Tool: docsray_xray

Deep AI-powered document analysis.

{
  "document_url": "path/to/document.pdf",
  "analysis_type": ["entities", "key-points"],
  "custom_instructions": "Extract all dates and amounts",
  "provider": "llama-parse"
}

Tool: docsray_extract

Extract content in various formats.

{
  "document_url": "path/to/document.pdf",
  "extraction_targets": ["text", "tables"],
  "output_format": "markdown",  # markdown | text | json
  "pages": [1, 2, 3],  # Optional: specific pages
  "provider": "auto"
}

Tool: docsray_seek

Navigate to specific document locations.

{
  "document_url": "path/to/document.pdf",
  "target": {"page": 5},  # or {"section": "Introduction"} or {"query": "search text"}
  "extract_content": true,
  "provider": "auto"
}

๐Ÿ—๏ธ Architecture

docsray-mcp/
โ”œโ”€โ”€ src/docsray/
โ”‚   โ”œโ”€โ”€ server.py           # FastMCP server with discovery resources
โ”‚   โ”œโ”€โ”€ providers/          # Provider implementations
โ”‚   โ”‚   โ”œโ”€โ”€ base.py        # Provider interface
โ”‚   โ”‚   โ”œโ”€โ”€ pymupdf4llm.py # Fast PDF extraction
โ”‚   โ”‚   โ””โ”€โ”€ llamaparse.py  # AI-powered analysis
โ”‚   โ”œโ”€โ”€ tools/             # MCP tool implementations
โ”‚   โ”‚   โ”œโ”€โ”€ peek.py        # Document overview
โ”‚   โ”‚   โ”œโ”€โ”€ map.py         # Structure mapping
โ”‚   โ”‚   โ”œโ”€โ”€ xray.py        # Deep analysis
โ”‚   โ”‚   โ”œโ”€โ”€ extract.py     # Content extraction
โ”‚   โ”‚   โ””โ”€โ”€ seek.py        # Navigation
โ”‚   โ””โ”€โ”€ utils/             # Utilities
โ”‚       โ”œโ”€โ”€ cache.py       # Document caching
โ”‚       โ””โ”€โ”€ llamaparse_cache.py  # LlamaParse .docsray cache
โ”œโ”€โ”€ tests/
โ”‚   โ”œโ”€โ”€ unit/              # Fast isolated tests
โ”‚   โ”œโ”€โ”€ integration/       # Component interaction tests
โ”‚   โ””โ”€โ”€ manual/            # Debugging scripts
โ””โ”€โ”€ PROMPTS.md            # Example prompts for all use cases

๐Ÿค Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Development Setup

# Clone the repository
git clone https://github.com/docsray/docsray-mcp.git
cd docsray-mcp

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest tests/

# Run linting
ruff check src/

๐Ÿ“„ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

๐Ÿ“ฌ Support


Made with โค๏ธ for the MCP ecosystem

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    An MCP server that provides comprehensive PDF processing capabilities including text extraction, image extraction, table detection, annotation extraction, metadata retrieval, page rendering, and document structure analysis.
  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that lets AI assistants read and visually analyze local documents โ€” PDFs, Excel spreadsheets, CSV files, Word documents, PowerPoint presentations, and images.
    4
    56
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    An MCP server that provides AI-powered document processing and search capabilities, including PDF summarization, text extraction, metadata retrieval, and web search via Google Custom Search.

View all related MCP servers

Related MCP Connectors

  • An MCP server that integrates with Discord to provide AI-powered features.

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • An MCP Server that provides identity verification and anti-fraud tools for AI agents via deepidv.

View all MCP Connectors

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/johnfkraus/docsray-mcp'

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