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.7.tar.gz (11.2 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.7-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for mcp_file_contents_reader-1.0.7.tar.gz
Algorithm Hash digest
SHA256 321378439512f406357822cb8614bb543a99980760e780606ab1adca13b617da
MD5 93aa3b84c4c1ffe1f81d3da0c8dc0e60
BLAKE2b-256 40999b56b80a5bfdbfb310f1010f6786eb2b6768a33f4ce48da0998820b1117c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mcp_file_contents_reader-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 917675f4b8574e6dd06b93be0d643be2bba8be1466c2be6307f14c6d343631e4
MD5 162eeaca51c233de839a0569d58f3696
BLAKE2b-256 ac75d60c820f883fe76fa591e172be2f960d8e9b58b854f0f9f642d2ba65e6e8

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