awslabs.document-loader-mcp-server
An AWS Labs Model Context Protocol (MCP) server for document parsing
pinned to #cdd87a8updated last month
Ask your AI client: “install mcps/awslabs-document-loader-mcp-server”.
Requires the metahub MCP server installed in your client. Set up MCP.
mh install mcps/awslabs-document-loader-mcp-servermetahub onboarded this repo on the author's behalf.
If you own github.com/awslabs/mcp on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
9,586
Last commit
last month
Latest release
published
- #aws
- #mcp
- #mcp-client
- #mcp-clients
- #mcp-host
- #mcp-server
- #mcp-servers
- #mcp-tools
- #modelcontextprotocol
Automated checks the publisher passed at publish time — structure, docs, safety, and whether the artifact behaves as claimed.cdd87a8· last month
Behavioral checks haven't run yet: the sandbox couldn't execute this artifact (it may need credentials we don't provide, or an unsupported build). An environment limit, not a verdict.
Structural
7 passed1 warningName declared and well-formedwarn
Name "awslabs.document-loader-mcp-server" is not lowercase kebab-case.
Use lowercase letters, digits, and hyphens.
Repository is reachable
https://github.com/awslabs/mcp @ cdd87a8 — ★ 9,586 · Python · Apache-2.0 · last push today
Manifest detected
kind=mcp slug=awslabs-document-loader-mcp-server · path=src/document-loader-mcp-server · source=pyproject.toml
Slug is URL-safe
"awslabs-document-loader-mcp-server" matches /^[a-z0-9][a-z0-9-]{0,62}$/
Slug is unique within kind
No collision found for mcp/awslabs-document-loader-mcp-server
Version is semver
1.0.19
Manifest present and parseable
Manifest found at pyproject.toml.
Version is semver
Version 1.0.19.
Release history
1- releasecurrentcdd87a8warnlast month
Contents
Model Context Protocol (MCP) server for document parsing and content extraction
This MCP server provides tools to parse and extract content from various document formats including PDF, Word documents, Excel spreadsheets, PowerPoint presentations, and images.
Features
- PDF Text Extraction: Extract text content from PDF files using pdfplumber
- Word Document Processing: Convert DOCX/DOC files to markdown using markitdown
- Excel Spreadsheet Reading: Parse XLSX/XLS files and convert to markdown
- PowerPoint Presentation Processing: Extract content from PPTX/PPT files
- Image Loading: Load and display various image formats (PNG, JPG, GIF, BMP, TIFF, WEBP)
- Slide Image Extraction: Extract individual slides/pages as PNG images from PPTX, PPT, or PDF files using LibreOffice and poppler
Prerequisites
Installation Requirements
- Install
uvfrom Astral or the GitHub README - Install Python 3.10 or newer using
uv python install 3.10(or a more recent version)
Optional: Slide Image Extraction
The extract_slides_as_images tool requires external system packages:
- LibreOffice (for PPTX/PPT → PDF conversion):
- Ubuntu/Debian:
sudo apt install libreoffice - macOS:
brew install --cask libreoffice - Windows: Download from libreoffice.org
- Ubuntu/Debian:
- poppler-utils (for PDF → image rendering):
- Ubuntu/Debian:
sudo apt install poppler-utils - macOS:
brew install poppler - Windows: Download from GitHub and add to PATH
- Ubuntu/Debian:
Installation
| Kiro | Cursor | VS Code |
|---|---|---|
Configure the MCP server in your MCP client configuration:
{
"mcpServers": {
"awslabs.document-loader-mcp-server": {
"command": "uvx",
"args": ["awslabs.document-loader-mcp-server@latest"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false,
"autoApprove": []
}
}
}
For Kiro MCP configuration, see the Kiro IDE documentation or the Kiro CLI documentation for details.
For global configuration, edit ~/.kiro/settings/mcp.json. For project-specific configuration, edit .kiro/settings/mcp.json in your project directory.
Available Tools
read_document: Extract content from various document formats by specifying file_path and file_type ('pdf', 'docx', 'doc', 'xlsx', 'xls', 'pptx', 'ppt')read_image: Load image files for LLM viewing and analysisextract_slides_as_images: Extract slides/pages as individual PNG images from PPTX, PPT, or PDF files. Requires LibreOffice (for PPTX/PPT) and poppler-utils (for PDF-to-image rendering)
Environment Variables
FASTMCP_LOG_LEVEL: Set logging level (ERROR, INFO, DEBUG)MAX_FILE_SIZE_MB: Maximum allowed file size in megabytes (default: 50). Must be a positive integer.DOCUMENT_BASE_DIR: Base directory for file access security. Restricts document loading to files within this directory. Defaults to the current working directory.
Development
Setup
# Clone the repository
git clone https://github.com/awslabs/mcp.git
cd mcp/src/document-loader-mcp-server
# Install dependencies
uv sync
# Install in development mode
uv pip install -e .
Testing
# Run tests
uv run pytest
# Run with coverage
uv run pytest --cov=awslabs.document_loader_mcp_server
The test suite includes:
- Server functionality validation
- Document parsing tests with generated sample files
- Error handling verification
Sample Documents
The test suite automatically generates sample documents for testing:
- PDF with multi-page content
- DOCX with formatted text and lists
- XLSX with multiple sheets and data
- PPTX with slides and content
- Various image formats
Docker
You can also run this server in a Docker container:
docker build -t document-loader-mcp-server .
docker run -p 8000:8000 document-loader-mcp-server
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Contributing
We welcome contributions! Please see CONTRIBUTING.md for details.
Support
For issues and questions, please use the GitHub issue tracker.
Reviews
No reviews yet. Be the first.
Related
Github Mcp Server
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Context7
Up-to-date code docs for any prompt
Playwright Mcp
Playwright Tools for MCP
mh install mcps/awslabs-document-loader-mcp-server