upstage
A Model Context Protocol server for parsing documents using Upstage AI's document digitization API.
claude mcp add --transport stdio pritampatil2603-upstage-mcp-server uvx upstage-mcp-server \ --env UPSTAGE_API_KEY="<your-api-key>"
How to use
The Upstage MCP Server provides a bridge between AI assistants and Upstage AI's document processing capabilities. It enables models to parse and extract information from a variety of document formats (PDFs, images, Office files, and more) while preserving structure and layout. Two primary tools are exposed: parse_document and extract_information. The parse_document tool takes a file_path and returns a processed representation of the document with preserved formatting. The extract_information tool accepts a file_path and an extraction schema (or auto-generates one by default) to return structured data extracted from the document. This makes it easier for downstream AI agents (like Claude) to locate and utilize specific data points such as invoice numbers, dates, or extracted table content. The server supports Claude Desktop integration, enabling seamless interaction via Claude's MCP interface.
How to install
Prerequisites:
- Python 3.10+ installed
- Node-based tooling not required for this Python-based server (uv/Astral UV is used for execution)
- Upstage API Key (for UPSTAGE_API_KEY)
Installation steps:
-
Clone the repository: git clone https://github.com/PritamPatil2603/upstage-mcp-server.git cd upstage-mcp-server
-
Install and set up uv (Astral UV) and the project in editable mode:
Install uv if not already installed
pip install uv
Create and activate a virtual environment using uv
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 .
-
Prepare environment variable (example):
- Create a file or set environment variable UPSTAGE_API_KEY with your Upstage API key
-
Run the server (using uvx as recommended): uvx upstage-mcp-server
Notes:
- If uvx is not globally available, you may need to use the full path to uvx and adjust the mcp_config accordingly.
- For Claude Desktop integration, configure the claude_desktop_config.json as shown in the documentation to point to this MCP server.
Additional notes
Tips and caveats:
- Environment variables: Ensure UPSTAGE_API_KEY is set in the environment or provided in the MCP configuration file when using Claude Desktop.
- Output directories: Processed results are saved under ~/.upstage-mcp-server/outputs/document_parsing/ and ~/.upstage-mcp-server/outputs/information_extraction/, with schemas under the information_extraction/schemas directory.
- If you encounter a 'Server disconnected' error, verify uvx is installed and accessible in your PATH, or provide the absolute path to uvx in the configuration.
- Supported document formats include PDF, JPEG, PNG, TIFF, and common Office formats; ensure file size and page limits as per the server's expectations.
- When testing locally, you can use the two tools via the MCP interface:
- parse_document: provide file_path to extract and preserve structure
- extract_information: provide file_path and an optional schema_path or enable auto_generate_schema to true
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP