Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Convert PDFs and other documents to structured formats via Docling, for AI applications.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
DOCLING_MCP_CONVERSION_MODE, DOCLING_MCP_SERVICE_URL, DOCLING_MCP_SERVICE_API_KEY, DOCLING_MCP_SERVICE_TIMEOUT, DOCLING_MCP_SERVICE_MAX_RETRIES, DOCLING_MCP_FALLBACK_TO_LOCAL, DOCLING_MCP_KEEP_IMAGES, DOCLING_MCP_IMAGES_SCALE, DOCLING_MCP_DO_OCR, DOCLING_MCP_OCR_ENGINE, DOCLING_MCP_OCR_LANG, DOCLING_MCP_DO_TABLE_STRUCTURE, DOCLING_MCP_DO_PICTURE_DESCRIPTION, DOCLING_MCP_PICTURE_DESCRIPTION_PRESET, DOCLING_MCP_IMAGE_EXPORT_MODE, DOCLING_MCP_CACHE_MAX_DOCUMENTSค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"docling": {
"command": "uvx",
"args": [
"docling-mcp"
],
"env": {
"DOCLING_MCP_CONVERSION_MODE": "ใส่ค่าของคุณ",
"DOCLING_MCP_SERVICE_URL": "ใส่ค่าของคุณ",
"DOCLING_MCP_SERVICE_API_KEY": "ใส่ค่าของคุณ",
"DOCLING_MCP_SERVICE_TIMEOUT": "ใส่ค่าของคุณ",
"DOCLING_MCP_SERVICE_MAX_RETRIES": "ใส่ค่าของคุณ",
"DOCLING_MCP_FALLBACK_TO_LOCAL": "ใส่ค่าของคุณ",
"DOCLING_MCP_KEEP_IMAGES": "ใส่ค่าของคุณ",
"DOCLING_MCP_IMAGES_SCALE": "ใส่ค่าของคุณ",
"DOCLING_MCP_DO_OCR": "ใส่ค่าของคุณ",
"DOCLING_MCP_OCR_ENGINE": "ใส่ค่าของคุณ",
"DOCLING_MCP_OCR_LANG": "ใส่ค่าของคุณ",
"DOCLING_MCP_DO_TABLE_STRUCTURE": "ใส่ค่าของคุณ",
"DOCLING_MCP_DO_PICTURE_DESCRIPTION": "ใส่ค่าของคุณ",
"DOCLING_MCP_PICTURE_DESCRIPTION_PRESET": "ใส่ค่าของคุณ",
"DOCLING_MCP_IMAGE_EXPORT_MODE": "ใส่ค่าของคุณ",
"DOCLING_MCP_CACHE_MAX_DOCUMENTS": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add docling --env DOCLING_MCP_CONVERSION_MODE='ใส่ค่าของคุณ' --env DOCLING_MCP_SERVICE_URL='ใส่ค่าของคุณ' --env DOCLING_MCP_SERVICE_API_KEY='ใส่ค่าของคุณ' --env DOCLING_MCP_SERVICE_TIMEOUT='ใส่ค่าของคุณ' --env DOCLING_MCP_SERVICE_MAX_RETRIES='ใส่ค่าของคุณ' --env DOCLING_MCP_FALLBACK_TO_LOCAL='ใส่ค่าของคุณ' --env DOCLING_MCP_KEEP_IMAGES='ใส่ค่าของคุณ' --env DOCLING_MCP_IMAGES_SCALE='ใส่ค่าของคุณ' --env DOCLING_MCP_DO_OCR='ใส่ค่าของคุณ' --env DOCLING_MCP_OCR_ENGINE='ใส่ค่าของคุณ' --env DOCLING_MCP_OCR_LANG='ใส่ค่าของคุณ' --env DOCLING_MCP_DO_TABLE_STRUCTURE='ใส่ค่าของคุณ' --env DOCLING_MCP_DO_PICTURE_DESCRIPTION='ใส่ค่าของคุณ' --env DOCLING_MCP_PICTURE_DESCRIPTION_PRESET='ใส่ค่าของคุณ' --env DOCLING_MCP_IMAGE_EXPORT_MODE='ใส่ค่าของคุณ' --env DOCLING_MCP_CACHE_MAX_DOCUMENTS='ใส่ค่าของคุณ' -- uvx docling-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"docling": {
"command": "uvx",
"args": [
"docling-mcp"
],
"env": {
"DOCLING_MCP_CONVERSION_MODE": "ใส่ค่าของคุณ",
"DOCLING_MCP_SERVICE_URL": "ใส่ค่าของคุณ",
"DOCLING_MCP_SERVICE_API_KEY": "ใส่ค่าของคุณ",
"DOCLING_MCP_SERVICE_TIMEOUT": "ใส่ค่าของคุณ",
"DOCLING_MCP_SERVICE_MAX_RETRIES": "ใส่ค่าของคุณ",
"DOCLING_MCP_FALLBACK_TO_LOCAL": "ใส่ค่าของคุณ",
"DOCLING_MCP_KEEP_IMAGES": "ใส่ค่าของคุณ",
"DOCLING_MCP_IMAGES_SCALE": "ใส่ค่าของคุณ",
"DOCLING_MCP_DO_OCR": "ใส่ค่าของคุณ",
"DOCLING_MCP_OCR_ENGINE": "ใส่ค่าของคุณ",
"DOCLING_MCP_OCR_LANG": "ใส่ค่าของคุณ",
"DOCLING_MCP_DO_TABLE_STRUCTURE": "ใส่ค่าของคุณ",
"DOCLING_MCP_DO_PICTURE_DESCRIPTION": "ใส่ค่าของคุณ",
"DOCLING_MCP_PICTURE_DESCRIPTION_PRESET": "ใส่ค่าของคุณ",
"DOCLING_MCP_IMAGE_EXPORT_MODE": "ใส่ค่าของคุณ",
"DOCLING_MCP_CACHE_MAX_DOCUMENTS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"docling": {
"type": "stdio",
"command": "uvx",
"args": [
"docling-mcp"
],
"env": {
"DOCLING_MCP_CONVERSION_MODE": "ใส่ค่าของคุณ",
"DOCLING_MCP_SERVICE_URL": "ใส่ค่าของคุณ",
"DOCLING_MCP_SERVICE_API_KEY": "ใส่ค่าของคุณ",
"DOCLING_MCP_SERVICE_TIMEOUT": "ใส่ค่าของคุณ",
"DOCLING_MCP_SERVICE_MAX_RETRIES": "ใส่ค่าของคุณ",
"DOCLING_MCP_FALLBACK_TO_LOCAL": "ใส่ค่าของคุณ",
"DOCLING_MCP_KEEP_IMAGES": "ใส่ค่าของคุณ",
"DOCLING_MCP_IMAGES_SCALE": "ใส่ค่าของคุณ",
"DOCLING_MCP_DO_OCR": "ใส่ค่าของคุณ",
"DOCLING_MCP_OCR_ENGINE": "ใส่ค่าของคุณ",
"DOCLING_MCP_OCR_LANG": "ใส่ค่าของคุณ",
"DOCLING_MCP_DO_TABLE_STRUCTURE": "ใส่ค่าของคุณ",
"DOCLING_MCP_DO_PICTURE_DESCRIPTION": "ใส่ค่าของคุณ",
"DOCLING_MCP_PICTURE_DESCRIPTION_PRESET": "ใส่ค่าของคุณ",
"DOCLING_MCP_IMAGE_EXPORT_MODE": "ใส่ค่าของคุณ",
"DOCLING_MCP_CACHE_MAX_DOCUMENTS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
DOCLING_MCP_CONVERSION_MODE envDOCLING_MCP_SERVICE_URL envDOCLING_MCP_SERVICE_TIMEOUT envDOCLING_MCP_SERVICE_MAX_RETRIES envDOCLING_MCP_FALLBACK_TO_LOCAL envDOCLING_MCP_KEEP_IMAGES envDOCLING_MCP_IMAGES_SCALE envDOCLING_MCP_DO_OCR envDOCLING_MCP_OCR_ENGINE envDOCLING_MCP_OCR_LANG envDOCLING_MCP_DO_TABLE_STRUCTURE envDOCLING_MCP_DO_PICTURE_DESCRIPTION envDOCLING_MCP_PICTURE_DESCRIPTION_PRESET envDOCLING_MCP_IMAGE_EXPORT_MODE envDOCLING_MCP_CACHE_MAX_DOCUMENTS envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub docling-project ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: DOCLING_MCP_SERVICE_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (3.5.0) เข้า registry เมื่อวานซืน
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Fomu MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Kenya government form guides: checklists, draft letters, eCitizen, Huduma, timelines. Sample data.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A document processing service using the Docling-MCP library and MCP (Model Context Protocol) for tool integration.
Docling MCP is a service that provides tools for document conversion, processing and generation. It uses the Docling library to convert PDF documents into structured formats and provides a caching mechanism to improve performance. The service exposes functionality through a set of tools that can be called by client applications.
| 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 |
If your MCP client application has not yet migrated to MCP SDK v2, pin:
pip install "docling-mcp<3.0.0"
See MIGRATION.md for the full migration guide.
For users with access to Docling Serve API:
Getting Docling Serve: Visit docling-serve for installation guides. You can deploy it from published container images or look for managed Docling SaaS offerings.
pip install docling-mcp
Then configure your environment:
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
For users who need local conversion or don't have Docling Serve access:
pip install docling-mcp[local]
Then configure your environment:
export DOCLING_MCP_CONVERSION_MODE=local
Install with local support and enable automatic fallback:
pip install docling-mcp[local]
Configure for remote with fallback:
export DOCLING_MCP_SERVICE_URL=https://your-docling-service.example.com
export DOCLING_MCP_CONVERSION_MODE=remote export DOCLING_MCP_FALLBACK_TO_LOCAL=true
All settings use the DOCLING_MCP_ prefix and can be supplied as environment variables, in a .env file in the working directory, or via the env block of your MCP client config. Copy .env.example as a starting point.
| Variable | Default | Description |
|---|---|---|
DOCLING_MCP_CONVERSION_MODE | remote | remote or local |
DOCLING_MCP_CONVERSION_MODE=remote)| Variable | Default | Description |
|---|---|---|
DOCLING_MCP_SERVICE_URL | — | URL of the Docling Serve instance |
DOCLING_MCP_SERVICE_API_KEY | — | API key for the service |
DOCLING_MCP_SERVICE_TIMEOUT | 300.0 | Timeout in seconds for a whole conversion job |
DOCLING_MCP_SERVICE_MAX_RETRIES | 3 | Max retry attempts |
DOCLING_MCP_FALLBACK_TO_LOCAL | false | Fall back to local if service is unreachable (requires docling-mcp[local]) |
| Variable | Default | Description |
|---|---|---|
DOCLING_MCP_KEEP_IMAGES | false | Retain page images in output |
DOCLING_MCP_IMAGES_SCALE | 1.0 | Image scale factor (increase to avoid tensor padding errors) |
DOCLING_MCP_DO_OCR | true | Run OCR pipeline |
DOCLING_MCP_OCR_ENGINE | auto | OCR engine by its docling engine kind: auto, easyocr, tesseract (system binary), tesserocr (Python bindings), ocrmac, rapidocr. The engine must be installed on the conversion backend. In remote mode it is sent as the Docling Serve ocr_preset, so server-defined preset names also work there |
DOCLING_MCP_OCR_LANG | — | Comma-separated OCR languages, passed to the engine unchanged. iso:en,iso:de works with any engine (docling ≥ 2.127, recommended with auto); bare codes are engine-specific (eng for Tesseract, en for EasyOCR or Docling Serve). Unset means the engine's defaults |
DOCLING_MCP_DO_TABLE_STRUCTURE | true | Detect table structure |
DOCLING_MCP_DO_PICTURE_DESCRIPTION | false | Run a vision-language model to generate textual descriptions for figures and pictures |
DOCLING_MCP_PICTURE_DESCRIPTION_PRESET | — | Preset 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 |
[!TIP]
Enabling
DOCLING_MCP_DO_PICTURE_DESCRIPTION=trueadds a VLM inference step for every figure in the document. On resource-constrained hardware (e.g. a laptop running the model on CPU) this can significantly increase conversion time.
- Remote mode — increase
DOCLING_MCP_SERVICE_TIMEOUT(in seconds) to give the remote service enough time to complete. The default is300.0(5 minutes).
- Local mode / MCP client timeout — the MCP client itself may also enforce a request timeout. For example, in LM Studio set the
timeoutfield (in milliseconds) in yourmcp.json:
`json
{
"mcpServers": {
"docling": {
"url": "http://localhost:8000/mcp",
"timeout": 300000
}
}
}
`
| Variable | Default | Description |
|---|---|---|
DOCLING_MCP_IMAGE_EXPORT_MODE | placeholder | How images are rendered in Markdown output: placeholder (emits ), embedded (base64 data-URI), referenced (file path / URL) |
| Variable | Default | Description |
|---|---|---|
DOCLING_MCP_CACHE_MAX_DOCUMENTS | 10 | Maximum number of documents to keep in the in-memory cache. When the limit is reached the least-recently-used document is evicted. |
--tools llama-index-rag)| Variable | Default | Description |
|---|---|---|
DOCLING_MCP_LI_API_BASE | http://127.0.0.1:1234/v1 | OpenAI-compatible LLM endpoint |
DOCLING_MCP_LI_API_KEY | none | API key for the LLM endpoint |
DOCLING_MCP_LI_MODEL_ID | ibm/granite-3.2-8b | LLM model identifier |
DOCLING_MCP_LI_EMBEDDING_MODEL | BAAI/bge-base-en-v1.5 | HuggingFace embedding model |
--tools llama-stack-rag / --tools llama-stack-ie)| Variable | Default | Description |
|---|---|---|
DOCLING_MCP_LLS_URL | http://localhost:8321 | LlamaStack server URL |
DOCLING_MCP_LLS_VDB_EMBEDDING | all-MiniLM-L6-v2 | Embedding model for vector DB |
DOCLING_MCP_LLS_EXTRACTION_MODEL | openai/gpt-oss-20b | Model used for structured extraction |
{
"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" } } } }
The easiest way to install Docling MCP and connect it to your client is by launching it via uvx.
Depending on the transfer protocol required, specify the argument --transport, for example
sh uvx --from docling-mcp docling-mcp-server --transport stdio
sh uvx --from docling-mcp docling-mcp-server --transport sse
sh uvx --from docling-mcp docling-mcp-server --transport streamable-http
More options are available, e.g. the selection of which toolgroup to launch. Use the --help argument to inspect all the CLI options.
For developing the MCP tools further, please refer to the Developing section of CONTRIBUTING.md for instructions.
One of the easiest ways to experiment with the tools provided by Docling MCP is to leverage an AI desktop client with MCP support. Most of these clients use a common config interface. Adding Docling MCP in your favorite client is usually as simple as adding the following entry in the configuration file.
{
"mcpServers": { "docling": { "command": "uvx", "args": [ "--from=docling-mcp", "docling-mcp-server" ] } } }
When using [Claude for Desktop](https://claude.ai/download), simply edit the config file claude_desktop_config.json with the snippet above or the example provided here.
In [LM Studio](https://lmstudio.ai/), edit the mcp.json file with the appropriate section or simply click on the button below for a direct install.
Other integrations are described in the [integrations] page.
Example of prompt for converting PDF documents:
Convert the PDF document at <provide file-path> into DoclingDocument and return its document-key.
Example of prompt for generating new documents:
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 iตัดมาแค่ช่วงต้น อ่านต่อใน repo