Skip to main content

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

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_file_contents_reader-1.0.10.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_file_contents_reader-1.0.10-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file mcp_file_contents_reader-1.0.10.tar.gz.

File metadata

File hashes

Hashes for mcp_file_contents_reader-1.0.10.tar.gz
Algorithm Hash digest
SHA256 d14e47cbf3e1139aa6e46a08cf9e6813b04585a8630a9a348cb440c295242928
MD5 30c74d2dbc8ee38f728f3d3c2ae51840
BLAKE2b-256 d7a7f80305cdf521176a9245103a241b0803f1faa9a800251e7ad4d9e42aa8be

See more details on using hashes here.

File details

Details for the file mcp_file_contents_reader-1.0.10-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_file_contents_reader-1.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 3792f3d0eca00e33632dbf3a418c1fe621bdd6df2ec975bdf75a2df34a04d838
MD5 b4c9b76e868e9ad9d1f0dc1802a0ecb7
BLAKE2b-256 126fdfe4b39e82792652340bfea787c297bfb85984c1dfc482432125f6ec35e4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page