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 readsheet_name(optional): Sheet name for Excel filespage_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 contentsearch_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 analyzeextract_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 datafilename(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
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for your changes
- Run the test suite
- 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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mcp_file_contents_reader-1.0.20.tar.gz | 10.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.