A Model Context Protocol (MCP) server that allows Claude Desktop to perform document operations on Microsoft Word, Excel, and PDF files.
- Create new Word documents from text
- Edit existing Word documents (add/edit/delete paragraphs and headings)
- Convert text files (.txt) to Word documents
- Create new Excel spreadsheets from JSON or CSV-like text
- Edit existing Excel files (update cells, ranges, add/delete rows, columns, sheets)
- Convert CSV files to Excel
- Create new PDF files from text
- Convert Word documents to PDF files
This MCP server requires Python 3.10 or higher.
Run the setup script to automatically install dependencies and configure for Claude Desktop:
git clone https://github.com/alejandroBallesterosC/document-edit-mcp
cd document-edit-mcp
./setup.sh
This will:
- Create a virtual environment
- Install required dependencies
- Configure the server for Claude Desktop
- Create necessary directories
If you prefer to set up manually:
- Install dependencies:
cd claude-document-mcp
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -e .
- Configure Claude Desktop:
Copy the claude_desktop_config.json
file to:
- Mac:
~/Library/Application Support/Claude/
- Windows:
%APPDATA%\Claude\
- Restart Claude Desktop
This server follows the Model Context Protocol specification to provide document manipulation capabilities for Claude Desktop:
- Tools: Provides manipulations functions for Word, Excel, and PDF operations
- Resources: Provides information about capabilities
- Prompts: (none currently implemented)
create_word_document(filepath: str, content: str) -> Dict
edit_word_document(filepath: str, operations: List[Dict]) -> Dict
convert_txt_to_word(source_path: str, target_path: str) -> Dict
create_excel_file(filepath: str, content: str) -> Dict
edit_excel_file(filepath: str, operations: List[Dict]) -> Dict
convert_csv_to_excel(source_path: str, target_path: str) -> Dict
create_pdf_file(filepath: str, content: str) -> Dict
convert_word_to_pdf(source_path: str, target_path: str) -> Dict
The server logs all operations to both the console and a logs/document_mcp.log
file for troubleshooting.
MIT
Contributions are welcome! Please feel free to submit a Pull Request.