Claude Document MCP Server
# Claude Document MCP Server
A Model Context Protocol (MCP) server that allows Claude Desktop to perform document operations on Microsoft Word, Excel, and PDF files.
## Features
### Microsoft Word Operations
- Create new Word documents from text
- Edit existing Word documents (add/edit/delete paragraphs and headings)
- Convert text files (.txt) to Word documents
### Excel Operations
- 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
### PDF Operations
- Create new PDF files from text
- Convert Word documents to PDF files
## Setup
This MCP server requires Python 3.10 or higher.
### Automatic Setup (Recommended)
Run the setup script to automatically install dependencies and configure for Claude Desktop:
```bash
cd claude-document-mcp
./setup.sh
```
This will:
1. Create a virtual environment
2. Install required dependencies
3. Configure the server for Claude Desktop
4. Create necessary directories
### Manual Setup
If you prefer to set up manually:
1. Install dependencies:
```bash
cd claude-document-mcp
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -e .
```
2. Configure Claude Desktop:
Copy the `claude_desktop_config.json` file to:
- **Mac**: `~/Library/Application Support/Claude/`
- **Windows**: `%APPDATA%\Claude\`
3. Restart Claude Desktop
## Model Context Protocol Integration
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)
## API Reference
### Microsoft Word
#### Create a Word Document
```
create_word_document(filepath: str, content: str) -> Dict
```
#### Edit a Word Document
```
edit_word_document(filepath: str, operations: List[Dict]) -> Dict
```
#### Convert TXT to Word
```
convert_txt_to_word(source_path: str, target_path: str) -> Dict
```
### Excel
#### Create an Excel File
```
create_excel_file(filepath: str, content: str) -> Dict
```
#### Edit an Excel File
```
edit_excel_file(filepath: str, operations: List[Dict]) -> Dict
```
#### Convert CSV to Excel
```
convert_csv_to_excel(source_path: str, target_path: str) -> Dict
```
### PDF
#### Create a PDF File
```
create_pdf_file(filepath: str, content: str) -> Dict
```
#### Convert Word to PDF
```
convert_word_to_pdf(source_path: str, target_path: str) -> Dict
```
## Logs
The server logs all operations to both the console and a `logs/document_mcp.log` file for troubleshooting.
## License
MIT
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.