mcp-upstage
Enables AI assistants to extract and structure content from documents (PDFs, images, Office files) via Upstage AI's APIs, with seamless Claude Desktop integration.
README
Upstage MCP
A Model Context Protocol (MCP) server for Upstage AI's document digitization and information extraction capabilities
Overview
The Upstage MCP Server provides a robust bridge between AI assistants and Upstage AI’s powerful document processing APIs. This server enables AI models—such as Claude—to effortlessly extract and structure content from various document types including PDFs, images, and Office files. The package supports multiple formats and comes with seamless integration options for Claude Desktop.
Key Features
- Document Digitization: Extract structured content from documents while preserving layout.
- Information Extraction: Retrieve specific data points using intelligent, customizable schemas.
- Multi-format Support: Handles JPEG, PNG, BMP, PDF, TIFF, HEIC, DOCX, PPTX, and XLSX.
- Claude Desktop Integration: Effortlessly connect with Claude and other MCP clients.
Prerequisites
Before using this server, ensure you have the following:
- Upstage API Key: Obtain your API key from Upstage API.
- Python 3.10+: The server requires Python version 3.10 or higher.
- The MCP server relies upon Astral UV to run, please install
Installation & Configuration
This guide provides step-by-step instructions to set up and configure the mcp-upstage
Using uv (Recommended)
No additional installation is required when using uvx as it handles execution. However, if you prefer to install the package directly:
uv pip install mcp-upstage
Configure Claude Desktop
For integration with Claude Desktop, add the following content to your claude_desktop_config.json:
Configuration Location
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Using uvx Command (Recommended)
{
"mcpServers": {
"mcp-upstage": {
"command": "uvx",
"args": ["mcp-upstage"],
"env": {
"UPSTAGE_API_KEY": "<your-api-key>"
}
}
}
}
If uvx is not available globally, you may encounter a Server disconnected error. To resolve this, run which uvx to find its full path, and replace "command": "uvx" above with the returned path.
After adding the configuration, restart Claude Desktop to apply the changes.
Output Directories
Processing results are stored in your home directory under:
- Document Parsing Results:
~/.mcp-upstage/outputs/document_parsing/ - Information Extraction Results:
~/.mcp-upstage/outputs/information_extraction/ - Generated Schemas:
~/.mcp-upstage/outputs/information_extraction/schemas/
Local/Development Setup
Follow these steps to set up and run the project locally:
Step 1: Clone the Repository
git clone https://github.com/UpstageAI/mcp-upstage.git
cd mcp-upstage
Step 2: Set Up the Python Environment
# Install uv if not already installed
pip install uv
# Create and activate a virtual environment
uv venv
# Activate the virtual environment
# On Windows:
# .venv\Scripts\activate
# On macOS/Linux:
source .venv/bin/activate
# Install dependencies in editable mode
uv pip install -e .
Step 3: Configure Claude Desktop for Local Testing
-
Download Claude Desktop:
Download Claude Desktop -
Open and Edit Configuration:
- Navigate to Claude → Settings → Developer → Edit Config.
- Edit the
claude_desktop_config.jsonfile with the following configurations:
For Windows:
{ "mcpServers": { "mcp-upstage": { "command": "uv", "args": [ "run", "--directory", "C:\\path\\to\\cloned\\mcp-upstage", "python", "-m", "upstage_mcp.server" ], "env": { "UPSTAGE_API_KEY": "your_api_key_here" } } } }Replace
C:\\path\\to\\cloned\\mcp-upstagewith your actual repository path.For macOS/Linux:
{ "mcpServers": { "mcp-upstage": { "command": "/Users/username/.local/bin/uv", "args": [ "run", "--directory", "/path/to/cloned/mcp-upstage", "python", "-m", "upstage_mcp.server" ], "env": { "UPSTAGE_API_KEY": "your_api_key_here" } } } }Replace:
/Users/username/.local/bin/uvwith the output ofwhich uv./path/to/cloned/mcp-upstagewith the absolute path to your local clone.
Tip for macOS/Linux users: If connection issues occur, using the full path to your uv executable can improve reliability.
After configuring, restart Claude Desktop.
Available Tools
The server exposes two primary tools for AI models:
-
Document Parsing (
parse_document):- Description: Processes documents and extracts content while preserving structure.
- Parameter:
file_path– the path to the document to be processed. - Example Query:
"Can you parse the document atC:\Users\username\Documents\contract.pdfand provide a summary?"
-
Information Extraction (
extract_information):- Description: Extracts structured information from documents based on predefined or auto-generated schemas.
- Parameters:
file_path– the document file path;
schema_path(optional) – a JSON file with an extraction schema;
auto_generate_schema(default true) – whether to auto-generate a schema. - Example Query:
"Extract the invoice number, date, and total fromC:\Users\username\Documents\invoice.pdf."
Below is the revised troubleshooting section formatted as requested. You can copy and paste the following Markdown directly into your README:
Troubleshooting
Common Issues
-
API Key Missing:
Ensure that your UPSTAGE_API_KEY is correctly set in yourclaude_desktop_config.jsonfile. Obtain a valid API key from Upstage Console. -
File Not Found:
Double-check the file path for correctness and accessibility. Ensure that file paths are absolute (e.g.,C:\Users\name\Documents\file.pdf) and that any special characters in the path are properly escaped. -
Server Not Starting:
Verify that your virtual environment is activated and all dependencies are installed. Additionally, review the Claude Desktop log files for errors:- Windows:
%APPDATA%\Claude\logs\mcp-upstage.log - macOS:
~/Library/Logs/Claude/mcp-upstage.log
- Windows:
-
Server Connection Issues:
Restart Claude Desktop. Ensure thatuvxis installed and available in your system PATH, or use its absolute path in your configuration if needed. -
Processing Failures:
Check that the document is in a supported format (PDF, JPEG, PNG, TIFF, etc.), its file size is under 50MB, and it contains fewer than 100 pages. Test with a simpler document to confirm functionality. -
Invalid Document Format:
Verify that the document is in a supported, uncorrupted format. -
Failed to Connect to Upstage API:
Confirm your network connection, firewall settings, and configuration details inclaude_desktop_config.json. Review the logs for more detailed error messages.
Log Files
For troubleshooting, view the server logs at:
- Windows:
%APPDATA%\Claude\logs\mcp-upstage.log - macOS:
~/Library/Logs/Claude/mcp-upstage.log
Contributing
Contributions are welcome! If you wish to enhance the project or add new features, please fork the repository and submit a pull request. For major changes, please open an issue first to discuss what you would like to change.
License
This project is licensed under the MIT License.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。