Docling MCP について
Docling MCPは、構造化ドキュメントの変換や生成を行うアプリ向けのMCPサーバーです。ローカルまたはリモートでの処理、キャッシュ、任意のRAGツールに対応します。
主な機能
- 01PDFを構造化DoclingDocument JSONに変換
- 02複数形式へ出力可能なDoclingDocumentを生成
- 03ローカルファイルとURLを処理
- 04ドキュメントをキャッシュし大容量入力を管理
- 05Milvusへのアップロードと検索を伴うRAGに対応
活用シーン
- 01PDFを後続のAI処理向けに変換
- 02構造化ドキュメントを生成してエクスポート
- 03Docling Serveまたはローカルでドキュメントを処理
MCP 対応
MCPクライアントにドキュメント変換、生成などのツールを公開します。stdio、SSE、streamable HTTPで起動できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx docling-mcpDOCLING_MCP_CONVERSION_MODEConversion mode: 'remote' (default) or 'local' (requires docling-mcp[local] extra).DOCLING_MCP_SERVICE_URLBase URL of the Docling Serve instance. Required when conversion mode is remote.DOCLING_MCP_SERVICE_API_KEYシークレットAPI key for authenticating with Docling Serve.DOCLING_MCP_SERVICE_TIMEOUTRequest timeout in seconds for the remote Docling Serve API. Default: 300.0.DOCLING_MCP_SERVICE_MAX_RETRIESMaximum number of retry attempts for remote API requests. Default: 3.DOCLING_MCP_FALLBACK_TO_LOCALSet to 'true' to fall back to local conversion when Docling Serve is unreachable.DOCLING_MCP_KEEP_IMAGESSet to 'true' to retain page images in converted documents. Default: false.DOCLING_MCP_IMAGES_SCALEImage scale factor (e.g. 1.0, 2.0). Increase to avoid tensor batching errors. Default: 1.0.DOCLING_MCP_DO_OCRSet to 'false' to disable the OCR pipeline. Default: true.DOCLING_MCP_DO_TABLE_STRUCTURESet to 'false' to disable table structure detection. Default: true.DOCLING_MCP_DO_PICTURE_DESCRIPTIONSet to 'true' to run a vision-language model to generate textual descriptions for figures and pictures. Requires a VLM to be available on the conversion backend. Default: false.DOCLING_MCP_PICTURE_DESCRIPTION_PRESETPreset ID for the picture-description VLM (e.g. 'smolvlm', 'granite_vision'). When unset the backend default is used. Only applies when DOCLING_MCP_DO_PICTURE_DESCRIPTION=true.DOCLING_MCP_IMAGE_EXPORT_MODEControls how images are rendered when exporting to Markdown. Accepted values: 'placeholder' (default, emits <!-- image -->), 'embedded' (base64 data-URI), 'referenced' (file path / URL).DOCLING_MCP_CACHE_MAX_DOCUMENTSMaximum number of documents to keep in the in-memory cache. Oldest (least-recently-used) documents are evicted when the limit is reached. Default: 10.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
21掲載時のツール一覧 · 今日に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| document_key | string | はい | ローカルキャッシュ内のドキュメントの一意な識別子。 |
詳細
Docling MCP:Docling をエージェント対応に
Docling-MCP ライブラリと MCP(Model Context Protocol)を使用した、ツール連携のためのドキュメント処理サービスです。
概要
Docling MCP は、ドキュメントの変換、処理、生成を行うツールを提供するサービスです。Docling ライブラリを使用して PDF ドキュメントを構造化形式に変換し、パフォーマンスを向上させるキャッシュ機構を備えています。このサービスは、クライアントアプリケーションから呼び出せる一連のツールを通じて機能を提供します。
互換性
| docling-mcp | MCP Python SDK |
|---|---|
>=3.0.0 | mcp>=2.0.0 |
>=2.0.0,<3.0.0 | mcp>=1.9.4,<2.0.0 |
MCP クライアントアプリケーションがまだ MCP SDK v2 に移行していない場合は、次のバージョンを固定してください:
pip install "docling-mcp<3.0.0"
移行手順の詳細については、MIGRATION.md を参照してください。
インストール方法
リモートモード(推奨・軽量)
Docling Serve API を利用できるユーザー向け:
Docling Serve の入手方法:インストールガイドについては、docling-serve をご覧ください。公開済みのコンテナーイメージからデプロイするか、マネージド型の Docling SaaS サービスをお探しください。
pip install docling-mcp
次に、環境を設定します:
export DOCLING_MCP_SERVICE_URL=https://your-docling-service.example.com
export DOCLING_MCP_SERVICE_API_KEY=your-api-key-here
export DOCLING_MCP_CONVERSION_MODE=remote
ローカルモード(全機能)
ローカルでの変換が必要なユーザー、または Docling Serve を利用できないユーザー向け:
pip install docling-mcp[local]
次に、環境を設定します:
export DOCLING_MCP_CONVERSION_MODE=local
ハイブリッドモード(両方の利点を活用)
ローカルサポートを有効にしてインストールし、自動フォールバックを有効にします:
pip install docling-mcp[local]
フォールバック付きのリモートモードに設定します:
export DOCLING_MCP_SERVICE_URL=https://your-docling-service.example.com
export DOCLING_MCP_CONVERSION_MODE=remote
export DOCLING_MCP_FALLBACK_TO_LOCAL=true
機能
- 変換ツール:
- PDF ドキュメントを構造化された JSON 形式(DoclingDocument)に変換
- 生成ツール:
- DoclingDocument 形式でドキュメントを生成し、複数の形式にエクスポート可能
- パフォーマンス向上のためのローカルドキュメントキャッシュ
- ドキュメントソースとしてローカルファイルと URL をサポート
- 大規模ドキュメントを処理するためのメモリ管理
- デバッグと監視のためのロギングシステム
- Milvus へのアップロードと取得に対応した RAG アプリケーション
設定
すべての設定には DOCLING_MCP_ プレフィックスを使用します。環境変数、作業ディレクトリ内の .env ファイル、または MCP クライアント設定の env ブロックで指定できます。開始点として .env.example をコピーしてください。
変換モード
| 変数 | デフォルト | 説明 |
|---|---|---|
DOCLING_MCP_CONVERSION_MODE | remote | remote または local |
リモートサービス(DOCLING_MCP_CONVERSION_MODE=remote の場合に必須)
| 変数 | デフォルト | 説明 |
|---|---|---|
DOCLING_MCP_SERVICE_URL | — | Docling Serve インスタンスの URL |
DOCLING_MCP_SERVICE_API_KEY | — | サービスの API キー |
DOCLING_MCP_SERVICE_TIMEOUT | 300.0 | 変換ジョブ全体のタイムアウト(秒) |
DOCLING_MCP_SERVICE_MAX_RETRIES | 3 | 最大再試行回数 |
DOCLING_MCP_FALLBACK_TO_LOCAL | false | サービスに接続できない場合はローカルにフォールバックします(docling-mcp[local] が必要です) |
変換パイプライン(両方のモードに適用)
| 変数 | デフォルト | 説明 |
|---|---|---|
DOCLING_MCP_KEEP_IMAGES | false | 出力にページ画像を保持します |
DOCLING_MCP_IMAGES_SCALE | 1.0 | 画像のスケール係数(テンソルのパディングエラーを避けるには値を大きくします) |
DOCLING_MCP_DO_OCR | true | OCR パイプラインを実行します |
DOCLING_MCP_DO_TABLE_STRUCTURE | true | 表の構造を検出します |
DOCLING_MCP_DO_PICTURE_DESCRIPTION | false | 視覚言語モデルを実行して、図や画像の説明文を生成します |
DOCLING_MCP_PICTURE_DESCRIPTION_PRESET | — | 画像説明用 VLM のプリセット ID(例:smolvlm、granite_vision)。未設定の場合はバックエンドのデフォルトが使用されます。DOCLING_MCP_DO_PICTURE_DESCRIPTION=true の場合にのみ適用されます |
ヒント
DOCLING_MCP_DO_PICTURE_DESCRIPTION=trueを有効にすると、ドキュメント内の各図に対して VLM 推論のステップが追加されます。リソースに制約のあるハードウェア(例:CPU でモデルを実行するノート PC)では、変換時間が大幅に増加する可能性があります。
- リモートモード — リモートサービスが処理を完了するのに十分な時間を確保するため、
DOCLING_MCP_SERVICE_TIMEOUT(秒)を大きくしてください。デフォルトは300.0(5 分)です。- ローカルモード/MCP クライアントのタイムアウト — MCP クライアント自体にもリクエストタイムアウトが設定されている場合があります。たとえば、LM Studio では
mcp.jsonのtimeoutフィールド(ミリ秒単位)を設定します。{ "mcpServers": { "docling": { "url": "http://localhost:8000/mcp", "timeout": 300000 } } }
Markdown エクスポート
| 変数 | デフォルト | 説明 |
|---|---|---|
DOCLING_MCP_IMAGE_EXPORT_MODE | placeholder | Markdown 出力で画像をどのように表示するか:placeholder(`` を出力)、embedded(base64 データ URI)、referenced(ファイルパス/URL) |
キャッシュ
| 変数 | デフォルト | 説明 |
|---|---|---|
DOCLING_MCP_CACHE_MAX_DOCUMENTS | 10 | インメモリキャッシュに保持するドキュメントの最大数。上限に達すると、最も長い間使用されていないドキュメントが削除されます。 |
LlamaIndex RAG(--tools llama-index-rag)
| 変数 | デフォルト | 説明 |
|---|---|---|
DOCLING_MCP_LI_API_BASE | http://127.0.0.1:1234/v1 | OpenAI 互換の LLM エンドポイント |
DOCLING_MCP_LI_API_KEY | none | LLM エンドポイントの API キー |
DOCLING_MCP_LI_MODEL_ID | ibm/granite-3.2-8b | LLM モデル識別子 |
DOCLING_MCP_LI_EMBEDDING_MODEL | BAAI/bge-base-en-v1.5 | HuggingFace 埋め込みモデル |
LlamaStack(--tools llama-stack-rag / --tools llama-stack-ie)
| 変数 | デフォルト | 説明 |
|---|---|---|
DOCLING_MCP_LLS_URL | http://localhost:8321 | LlamaStack サーバーの URL |
DOCLING_MCP_LLS_VDB_EMBEDDING | all-MiniLM-L6-v2 | ベクトル DB 用の埋め込みモデル |
DOCLING_MCP_LLS_EXTRACTION_MODEL | openai/gpt-oss-20b | 構造化抽出に使用するモデル |
MCP クライアント設定での変数の設定
{
"mcpServers": {
"docling": {
"command": "uvx",
"args": [
"--from=docling-mcp",
"docling-mcp-server"
],
"env": {
"DOCLING_MCP_CONVERSION_MODE": "remote",
"DOCLING_MCP_SERVICE_URL": "https://your-docling-service.example.com",
"DOCLING_MCP_SERVICE_API_KEY": "your-api-key-here"
}
}
}
}
はじめに
Docling MCP をインストールしてクライアントに接続する最も簡単な方法は、uvx 経由で起動することです。
必要な転送プロトコルに応じて、たとえば --transport 引数を指定します。
-
stdioは、Claude for Desktop や LM Studio などで使用されます。uvx --from docling-mcp docling-mcp-server --transport stdio -
sseは、Llama Stack などで使用されます。uvx --from docling-mcp docling-mcp-server --transport sse -
streamable-httpは、コンテナー環境などで使用されます。uvx --from docling-mcp docling-mcp-server --transport streamable-http
起動するツールグループの選択など、その他のオプションも利用できます。すべての CLI オプションを確認するには、--help 引数を使用してください。
MCP ツールの開発を続ける方法については、CONTRIBUTING.md の開発セクションを参照してください。
MCP クライアントとの統合
Docling MCP が提供するツールを試す最も簡単な方法の 1 つは、MCP に対応した AI デスクトップクライアントを利用することです。 こうしたクライアントの多くは、共通の設定インターフェースを使用しています。お使いのクライアントに Docling MCP を追加するには、通常、設定ファイルに次の項目を追加するだけです。
{
"mcpServers": {
"docling": {
"command": "uvx",
"args": [
"--from=docling-mcp",
"docling-mcp-server"
]
}
}
}
Claude for Desktop を使用する場合は、上記のスニペットまたはこちらの例を使って、claude_desktop_config.json 設定ファイルを編集してください。
LM Studio では、mcp.json ファイルの該当セクションを編集するか、下のボタンをクリックして直接インストールしてください。
その他の統合については、[統合]ページで説明しています。
例
ドキュメントの変換
PDF ドキュメントを変換するためのプロンプトの例:
Convert the PDF document at <provide file-path> into DoclingDocument and return its document-key.
ドキュメントの生成
新しいドキュメントを生成するためのプロンプトの例:
I want you to write a Docling document. To do this, you will create a document first by invoking `create_new_docling_document`. Next you can add a title (by invoking `add_title_to_docling_document`) and then iteratively add new section-headings and paragraphs. If you want to insert lists (or nested lists), you will first open a list (by invoking `open_list_in_docling_document`), next add the list_items (by invoking `add_list_items_to_list_in_docling_document`). After adding list-items, you must close the list (by invoking `close_list_in_docling_document`). Nested lists can be created in the same way, by opening and closing additional lists.
During the writing process, you can check what has been written already by calling the `export_docling_document_to_markdown` tool, which will return the currently written document. At the end of the writing, you must save the document and return me the filepath of the saved document.
The document should investigate the impact of tokenizers on the quality of LLMs.
貢献
外部からの貢献を歓迎します。始め方の詳細については、CONTRIBUTING.md を参照してください。
ライセンス
Docling MCP のコードベースは MIT ライセンスの下で公開されています。個々のモデルの使用については、元のパッケージに記載されているモデルのライセンスを参照してください。
LF AI & Data
Docling と Docling MCP は、LF AI & Data Foundation のプロジェクトとしてホストされています。
IBM ❤️ オープンソース AI:このプロジェクトは、IBM Research Zurich の AI for knowledge チームによって開始されました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。