- Python 3.12 or higher. Install it here
- uv - Fast Python package installer and resolver
- An Aryn API key. You can create an account and receive a key for free here
- This MCP server works best in combination with a file system MCP server (see installation instructions below)
- An MCP server client like Claude Desktop (Recommended) or Claude Code
The Aryn MCP server requires absolute file paths to pdfs you want processed as inputs, so it works best when paired with an MCP server that can automatically manage files on your computer. Here is how to install one for Claude Desktop:
More documentation for the filesystem MCP server can be found here.
Instead of manually installing this MCP server, Claude Desktop allows for an easy one-click extension:
Download the extension: Retrieve the provided .dxt
file from this repository, or download it for macos here and linux here.
Find the .dxt extension: Navigate to the folder where the file was downloaded and double click to install. Follow the installation steps when prompted
Restart Claude Desktop
Now you're ready to go!
For more details, refer to the Claude Desktop Extensions documentation.
If you're manually installing this MCP server, you need to install uv
first, which provides the uvx
command. Install it here.
After installation, you'll have access to both uv
and uvx
commands. The uvx
command is what you'll use to run this MCP server.
Next, add the following configuration to your MCP client config file
{
"mcpServers": {
"Aryn Local MCP Server": {
"command": "uvx",
"args": [
"aryn-mcp-server"
],
"env": {
"ARYN_API_KEY": "YOUR_ARYN_API_KEY",
"ARYN_MCP_OUTPUT_DIR": "<full path to directory where files will get saved (ie Users/username/Downloads)>"
}
}
}
}
For client specific config implementation, see below:
If you encounter spawn uvx ENOENT
errors:
-
Verify uv installation: Run
which uvx
in your terminal to find the correct path -
Use the full path to uv: Replace
"command": "uvx"
with"command": "<full path to uvx>"
If you encounter file permissions errors, ensure that the path is expanded out and passed, MCP client tend to treat them as literal directory names. For specific issues:
-
Input Directory: Ensure that the filesystem connector has access to the directory, and it is read accessible.
-
Output Directory: Ensure that the directory is write accessible.