LandingAI ADE MCP Server
A Model Context Protocol (MCP) server providing direct integration with LandingAI's Agentic Document Extraction (ADE) API. Extract text, tables, and structured data from PDFs, images, and office documents.
Features
📄 Document Parsing - Parse entire documents and return markdown output
🔍 Data Extraction - Extract structured data using JSON schemas
⚡ Parse Jobs - Handle large documents with background processing
🛡️ Zero Data Retention - Privacy-focused processing support
Installation
Prerequisites
Python 3.9 or higher
LandingAI API key from LandingAI
Option 1: Using uv (Recommended - Simplest)
uv is a fast Python package manager that handles virtual environments automatically.
Install uv (if not already installed)
Set up the project
Option 2: Using pip with Virtual Environment
Configuration
Set Your API Key
Claude Desktop Configuration
Configuration File Location
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Configuration Examples
Using uv (Recommended)
Using Virtual Environment
After Configuration
Save the configuration file
Restart Claude Desktop completely (quit and reopen)
The server should appear as "landingai-ade-mcp" in your MCP servers
Available Tools
parse_document
Parse entire documents and return markdown output.
extract_data
Extract structured data from markdown using a JSON schema.
create_parse_job
Create a parse job for large documents (>50MB recommended).
get_parse_job_status
Check status and retrieve results of a parse job.
list_parse_jobs
List all parse jobs with filtering and pagination.
process_folder
Process all supported files in a folder - parse documents or extract structured data.
Supported formats:
Images: APNG, BMP, DCX, DDS, DIB, GD, GIF, ICNS, JP2, JPEG, JPG, PCX, PNG, PPM, PSD, TGA, TIFF, WEBP
Documents: PDF, DOC, DOCX, PPT, PPTX, ODP, ODT
Features:
Automatic file size detection (uses direct parsing for <50MB, jobs for larger)
Concurrent processing with rate limiting
Progress tracking for long-running operations
Organized output in
ade_resultsfolderAggregated data for extraction operations
Continues processing even if individual files fail
health_check
Check server status and API connectivity.
File Size Guidelines
< 50MB: Use
parse_documentdirectly> 50MB: Always use
create_parse_job
Error Handling
Common Error Codes
401: Invalid API key413: File too large (use parse jobs)422: Validation error429: Rate limit exceeded
Troubleshooting
Common Issues and Solutions
"Could not connect to MCP server"
Python not found: Make sure the Python path in your config is correct
# Find your Python path which python3Module not found errors: Dependencies aren't installed in the Python environment
If using uv: Run
uv syncin the project directoryIf using venv: Activate it and run
pip install -r requirements.txtCheck that the Python path in config matches your environment
spawn python ENOENT: The system can't find Python
Use the full path to Python (e.g.,
/usr/bin/python3instead of justpython)For virtual environments, use the full path to the venv's Python
"Server disconnected"
Check the server can run manually:
cd /path/to/landingai-ade-mcp python server.py # Should see: "Starting LandingAI ADE MCP Server"Check API key is set:
echo $LANDINGAI_API_KEYCheck dependencies are installed:
python -c "import fastmcp, httpx, pydantic" # Should complete without errors
"ModuleNotFoundError: No module named 'fastmcp'"
This means fastmcp isn't installed in the Python environment being used:
If using virtual environment: The config is pointing to the wrong Python
Solution: Use uv or ensure the Python path matches your environment
Platform-Specific Issues
macOS: If you installed Python with Homebrew, the path might be /opt/homebrew/bin/python3 (Apple Silicon) or /usr/local/bin/python3 (Intel)
Windows: Use forward slashes in paths or escape backslashes: C:/path/to/python.exe or C:\\path\\to\\python.exe
Linux: Some systems use python3 instead of python. Always use python3 for clarity.
Debug Steps
Test the server standalone:
python server.pyCheck MCP communication:
echo '{"jsonrpc": "2.0", "method": "initialize", "id": 1}' | python server.pyVerify configuration:
Open Claude Desktop developer settings
Check the logs for specific error messages
Ensure all paths are absolute, not relative
Validate API key:
python -c "import os; print('API Key set:', bool(os.environ.get('LANDINGAI_API_KEY')))"
API Documentation
This server cannot be installed