Skip to main content

MCP bridge for a self-hosted MinerU API

Project description

mineru-selfhosted-mcp

mineru-selfhosted-mcp exposes a self-hosted MinerU service as an MCP server.

It is designed for setups where:

  • MinerU is deployed on a remote GPU server
  • Claude Desktop / Cursor / other MCP clients run elsewhere
  • The client should only run a lightweight MCP bridge locally

Environment variables

  • MINERU_BASE_URL: Optional. Base URL of your self-hosted MinerU API. Defaults to the public FRP endpoint http://42.51.34.112:8191
  • MINERU_API_KEY: Optional token sent to the MinerU API as Authorization: Bearer <token>
  • MINERU_TIMEOUT: Optional request timeout in seconds. Default: 1800
  • MINERU_TRUST_ENV: Optional. Set to true only if you want the bridge to inherit local proxy variables. Default: disabled.
  • MINERU_LOG_DIR: Optional. Directory used by clean_logs. Defaults to ~/.mineru-selfhosted-mcp/logs
  • MINERU_DOWNLOAD_PUBLISH_DIR: Optional. Directory used for published download artifacts. Defaults to /data/mineru_output/_published
  • MINERU_DOWNLOAD_BASE_URL: Optional. Public base URL for published artifacts. Defaults to <MINERU_BASE_URL>/downloads
  • MINERU_MCP_TRANSPORT: Optional. stdio for local clients or http for a Linux-hosted remote MCP service. Default: stdio
  • MINERU_MCP_HOST: Optional bind host for HTTP MCP mode. Default: 0.0.0.0
  • MINERU_MCP_PORT: Optional bind port for HTTP MCP mode. Default: 8001

If you are running on the Linux host itself, the local proxy listens on http://127.0.0.1:8192. Remote MCP clients should use the public FRP endpoint on 8191.

Connection modes

1. Windows local MCP via stdio

Use this when Claude Code, Cursor, or Claude Desktop runs on Windows and only the MinerU API lives on Linux.

  • MCP runs locally on Windows
  • MinerU API runs remotely on Linux
  • output_dir, artifact_paths, and zip_path are Windows-local
  • *_download_url is convenience-only

2. Linux remote MCP via HTTP

Use this when you want one shared MCP service for many clients and durable public artifact URLs.

  • MCP runs on Linux
  • MinerU API runs on Linux
  • /downloads is served from the same Linux filesystem
  • Windows clients connect with type: "http"
  • zip_download_url and other *_download_url fields become first-class outputs

Exposed tools

  • mineru_health: check the remote MinerU API
  • parse_document: parse a single local file through the remote MinerU API
  • parse_documents: parse one or more local files through the remote MinerU API
  • parse_directory: parse all matching files in a directory through the remote MinerU API
  • get_ocr_languages: list common OCR language codes supported by MinerU
  • clean_logs: remove local MCP log files older than a chosen number of days

Parsing result metadata

Parsing tools also return:

  • elapsed_seconds
  • file_count
  • completed_count
  • failed_count
  • progress

progress is a stable completion summary for the current call rather than a live streaming progress feed.

Notes

  • To get only middle_json, set middle_json_only=true in parsing tools.
  • middle_json_only=true automatically disables markdown in the MCP request wrapper.

Example MCP config

{
    "mcpServers": {
      "mineru-selfhosted": {
        "command": "uvx",
        "args": ["-y", "mineru-selfhosted-mcp"],
        "env": {
          "MINERU_API_KEY": "your_token",
          "MINERU_BASE_URL": "http://42.51.34.112:8191",
          "MINERU_DOWNLOAD_BASE_URL": "http://42.51.34.112:8191/downloads"
        }
      }
  }
}

Example remote HTTP MCP server

Run this on the Linux host:

MINERU_API_KEY=<TOKEN> \
MINERU_BASE_URL=http://127.0.0.1:8192 \
MINERU_MCP_TRANSPORT=http \
MINERU_MCP_HOST=0.0.0.0 \
MINERU_MCP_PORT=8001 \
MINERU_DOWNLOAD_PUBLISH_DIR=/data/mineru_output/_published \
MINERU_DOWNLOAD_BASE_URL=http://42.51.34.112:8191/downloads \
uvx -y mineru-selfhosted-mcp

Then expose the MCP endpoint through nginx or another reverse proxy, for example:

  • MCP endpoint: http://42.51.34.112:8191/mcp/
  • downloads base: http://42.51.34.112:8191/downloads/

Example Windows Claude Code config for remote HTTP MCP

{
  "mcpServers": {
    "mineru-selfhosted": {
      "type": "http",
      "url": "http://42.51.34.112:8191/mcp/"
    }
  }
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mineru_selfhosted_mcp-0.1.14.tar.gz (88.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mineru_selfhosted_mcp-0.1.14-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file mineru_selfhosted_mcp-0.1.14.tar.gz.

File metadata

  • Download URL: mineru_selfhosted_mcp-0.1.14.tar.gz
  • Upload date:
  • Size: 88.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for mineru_selfhosted_mcp-0.1.14.tar.gz
Algorithm Hash digest
SHA256 63d952fe54053741cd7deaac90cc31c3cb97c757975f7383db88b3d044e4bfb2
MD5 5eaf1b6bf7a5a82b3e974dad42ed8558
BLAKE2b-256 03485ae189f9b662bd93f8c5eac5ce1ddba5c79e849d77981825e36ce471e0d4

See more details on using hashes here.

File details

Details for the file mineru_selfhosted_mcp-0.1.14-py3-none-any.whl.

File metadata

File hashes

Hashes for mineru_selfhosted_mcp-0.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 adaf9a52570b0a601e2c5d1a750e13322a51573461725490b00e32ecd7dbc174
MD5 831d04284c30363282bf01a1be92e23c
BLAKE2b-256 5663b4e16fe0703cc40b67c82a314df9a8b411ccc9dd63eb4e920275e78a60ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page