# Document Reader MCP server

> Lets an AI client read DOCX, PDF, Excel, and TXT files from the filesystem through one unified tool.

- Repository: https://github.com/xt765/mcp_documents_reader
- Page: https://hostedmcp.org/servers/xt765/mcp-documents-reader
- Transport: stdio
- Stars: 23
- License: MIT
- Latest version: 1.3.1

## Install

### Claude Code

```sh
claude mcp add mcp-documents-reader -- uvx mcp-documents-reader
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "mcp-documents-reader": {
      "command": "uvx",
      "args": [
        "mcp-documents-reader"
      ]
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "mcp-documents-reader": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-documents-reader"
      ]
    }
  }
}
```

### VS Code CLI

```sh
code --add-mcp '{"name":"mcp-documents-reader","type":"stdio","command":"uvx","args":["mcp-documents-reader"]}'
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "mcp-documents-reader": {
      "command": "uvx",
      "args": [
        "mcp-documents-reader"
      ]
    }
  }
}
```

### Codex

```sh
codex mcp add mcp-documents-reader -- uvx mcp-documents-reader
```

### Codex config.toml (`~/.codex/config.toml`)

```toml
[mcp_servers.mcp-documents-reader]
command = "uvx"
args = ["mcp-documents-reader"]
```

### Gemini CLI

```sh
gemini mcp add -s user mcp-documents-reader uvx -- mcp-documents-reader
```

### Gemini settings.json (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "mcp-documents-reader": {
      "command": "uvx",
      "args": [
        "mcp-documents-reader"
      ]
    }
  }
}
```

## Tools (1)

- `filename`

## FAQ

### Which document formats does this MCP server support?

It reads Excel (XLSX/XLS), DOCX, PDF, and TXT files.

### How do I install the document reader MCP server?

Install it from PyPI with pip, or clone the repository and install from source.

### What tool does the server expose to AI clients?

It exposes a single read_document tool that takes a filename and returns the extracted text.

### Can I use it as a Python library?

Yes, via DocumentReaderFactory, which can return a reader for a given file and check format support.
