Skip to main content

MCP File Contents Reader

A Model Context Protocol (MCP) server for reading and analyzing various file formats including PDF, Excel, Word, and PowerPoint documents.

Features

  • Multi-format Support: Read PDF, Excel (.xlsx, .xls), Word (.docx, .doc), and PowerPoint (.pptx, .ppt) files
  • Content Analysis: Extract and analyze file contents with structured information extraction
  • Document Search: Search for specific content across multiple documents
  • File Upload: Support for temporary file upload and processing
  • MCP Integration: Full Model Context Protocol compliance

Installation

Using uvx (Recommended)

uvx mcp-file-contents-reader

Using pip

pip install mcp-file-contents-reader

From Source

git clone https://github.com/yourusername/mcp-file-contents-reader.git
cd mcp-file-contents-reader
pip install -e .

Usage

MCP Configuration

Add the following to your mcp.json configuration file:

{
  "mcpServers": {
    "file-reader": {
      "command": "uvx",
      "args": ["mcp-file-contents-reader"]
    }
  }
}

Or if installed via pip:

{
  "mcpServers": {
    "file-reader": {
      "command": "mcp-file-contents-reader"
    }
  }
}

Available Tools

1. read_file

Read Excel, PDF, PPT, Word files and return content as text.

Parameters:

  • file_path (required): Path to the file to read
  • sheet_name (optional): Sheet name for Excel files
  • page_range (optional): Page range for PDF files (e.g., '1-5' or '1,3,5')

2. search_documents

Search for specific content in Documents directory and analyze files.

Parameters:

  • keywords (required): Keywords to search for in file content
  • search_path (optional): Directory path to search (default: ~/Documents)
  • file_types (optional): File types to search (default: ["pdf", "docx", "xlsx", "pptx", "doc", "xls", "ppt"])

3. analyze_file_content

Analyze specific file content in detail and extract structured information.

Parameters:

  • file_path (required): Path to the file to analyze
  • extract_patterns (optional): Specific patterns or information types to extract

4. upload_file

Upload and temporarily store Base64 encoded file data.

Parameters:

  • file_data (required): Base64 encoded file data
  • filename (required): Filename with extension

5. read_uploaded_file

Read uploaded file and return content.

Parameters:

  • file_id (required): ID of the uploaded file

6. list_uploaded_files

Return list of uploaded files.

7. delete_uploaded_file

Delete uploaded file.

Parameters:

  • file_id (required): ID of the file to delete

8. get_file_info

Return basic information about a file.

Parameters:

  • file_path (required): Path to the file to get information about

9. list_supported_formats

Return list of supported file formats.

Supported File Formats

  • Excel: .xlsx, .xls
  • PDF: .pdf
  • PowerPoint: .pptx, .ppt
  • Word: .docx, .doc

Example Usage

Search for donation receipts

{
  "tool": "search_documents",
  "arguments": {
    "keywords": ["donation", "receipt", "charity", "fund"],
    "search_path": "/Users/username/Documents",
    "file_types": ["pdf", "docx", "xlsx"]
  }
}

Analyze a specific file

{
  "tool": "analyze_file_content",
  "arguments": {
    "file_path": "/Users/username/Documents/receipt.pdf",
    "extract_patterns": ["donor", "amount", "organization", "date"]
  }
}

Development

Setup Development Environment

git clone https://github.com/yourusername/mcp-file-contents-reader.git
cd mcp-file-contents-reader
pip install -e ".[dev]"

Running Tests

pytest

Code Formatting

black mcp_file_reader/

Type Checking

mypy mcp_file_reader/

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for your changes
  5. Run the test suite
  6. Submit a pull request

License

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

Changelog

1.0.0

  • Initial release
  • Support for PDF, Excel, Word, and PowerPoint files
  • MCP server implementation
  • Document search and analysis capabilities

Metadata

Release files for mcp-file-contents-reader 1.0.20

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-file-contents-reader 1.0.20
File Size Uploaded Provenance
mcp_file_contents_reader-1.0.20.tar.gz 10.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-file-contents-reader 1.0.20
File Interpreter ABI Platform
mcp_file_contents_reader-1.0.20-py3-none-any.whl Python 3 none any Details

Total release size: 19.7 kB

Release files / mcp_file_contents_reader-1.0.20.tar.gz

Download URL mcp_file_contents_reader-1.0.20.tar.gz
Size 10.2 kB
Tags Source
SHA-256 checksum
How to use checksums
0a3139653899033c355b84f43552ba5388601701797f5b787543a4a516602949
BLAKE2b-256 checksum
How to use checksums
86415e94f8f98700633eb4cd274d45c657803185908a6d30c318e08e71eaf83d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / mcp_file_contents_reader-1.0.20-py3-none-any.whl

Download URL mcp_file_contents_reader-1.0.20-py3-none-any.whl
Size 9.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3b1b8df3cc9fe6268078b4a8604589995b606773fff5719e197ab9e478feaac8
BLAKE2b-256 checksum
How to use checksums
d379e182e1e07e0a7544f06e5c5c94fd888884db8905ee792cca85744ae84f69
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Security for mcp-file-contents-reader 1.0.20

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page