72 Commits

Author SHA1 Message Date
Michele Dolfi b418ec61b1 feat!: Use remote Docling within tool - with local fallback as optional (#97)
* make MCP use remote docling via service client

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* add missing file and tests

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* fix mcpb manifest

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* format test files

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* use stdio for the tests

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* apply linter and formatter

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* fix launch of tests

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* make api key secret

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* use sensitive

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

---------

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
2026-05-15 15:14:39 +02:00
Cesar Berrospi Ramis 938421a6c7 chore: upgrade uv.lock dependencies (#94)
Signed-off-by: Cesar Berrospi Ramis <ceb@zurich.ibm.com>
2026-05-08 10:32:56 +02:00
Michele Dolfi 2c80fb0fd2 docs(security): Add GitHub Private Vulnerability Reporting (#96)
Signed-off-by: Michele Dolfi <97102151+dolfim-ibm@users.noreply.github.com>
2026-05-08 10:00:18 +02:00
mergify[bot] 0e47276042 ci(mergify): upgrade configuration to current format (#93)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2026-04-21 11:37:33 +02:00
Cesar Berrospi Ramis 65140419c3 chore: upgrade dependencies in 'uv.lock' file (#90)
Signed-off-by: Cesar Berrospi Ramis <ceb@zurich.ibm.com>
2026-02-27 16:06:40 +01:00
github-actions[bot] 0eb21e52f9 chore: bump version to 1.3.4 [skip ci] v1.3.4 2026-01-22 17:13:33 +00:00
jakelorocco 10c6b20fe6 fix: update mellea due to API changes and lock the version (#87)
* fix: update mellea due to API changes and lock the version

* DCO Remediation Commit for jakelorocco <jake.lorocco@ibm.com>

I, jakelorocco <jake.lorocco@ibm.com>, hereby add my Signed-off-by to this commit: 59e6ac88019863d12ba966c6fbe192ac2525c65c

Signed-off-by: jakelorocco <jake.lorocco@ibm.com>

* fix: linting

Signed-off-by: jakelorocco <jake.lorocco@ibm.com>

* fix: update uv lock

* DCO Remediation Commit for jakelorocco <jake.lorocco@ibm.com>

I, jakelorocco <jake.lorocco@ibm.com>, hereby add my Signed-off-by to this commit: 4a1d822db4
I, jakelorocco <jake.lorocco@ibm.com>, hereby add my Signed-off-by to this commit: de291b49f0

Signed-off-by: jakelorocco <jake.lorocco@ibm.com>

---------

Signed-off-by: jakelorocco <jake.lorocco@ibm.com>
2026-01-22 17:52:32 +01:00
github-actions[bot] f2ad164b19 chore: bump version to 1.3.3 [skip ci] v1.3.3 2025-11-21 08:37:12 +00:00
Michele Dolfi 1d39b3a3a8 fix: review required deps and update lock (#83)
* fix deps and update lock

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* fix for new docling-core imports

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

---------

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
2025-11-21 09:29:16 +01:00
Roy Derks 85470030ee docs: update wrong abbreviation (#81)
* Update wrong abbreviation

Signed-off-by: Roy Derks <10717410+royderks@users.noreply.github.com>

* switch to png logo

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

---------

Signed-off-by: Roy Derks <10717410+royderks@users.noreply.github.com>
Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
Co-authored-by: Michele Dolfi <dol@zurich.ibm.com>
2025-11-20 17:39:01 +01:00
Michele Dolfi cdb9703988 chore: publish release notes on Discord (#80)
Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
2025-10-17 16:32:02 +02:00
github-actions[bot] 6f14bd22a4 chore: bump version to 1.3.2 [skip ci] v1.3.2 2025-10-02 10:31:31 +00:00
Michele Dolfi a533da36f5 chore: fix model names on watsonx (#78)
fix model names on watsonx

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
2025-10-02 10:56:06 +02:00
Michele Dolfi 46f6e2301a fix: remove complex metadata for openai responses api support (#77)
remove complex metadata for openai responses api support

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
2025-10-02 10:55:57 +02:00
github-actions[bot] 8db4935cd7 chore: bump version to 1.3.1 [skip ci] v1.3.1 2025-09-26 07:46:51 +00:00
Michele Dolfi 1723087807 fix: add tools annotations for readonly and destructive hints (#76)
add tools annotations for readonly and destructive hints

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
2025-09-26 09:41:24 +02:00
Michele Dolfi 119c3b84e0 fix: add privacy policies in mcpb (#75)
add privacy policies in mcpb

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
2025-09-26 08:52:01 +02:00
github-actions[bot] 6749f25a4b chore: bump version to 1.3.0 [skip ci] v1.3.0 2025-09-23 09:38:28 +00:00
Michele Dolfi fd569c19eb feat: manifest file for mcpb (#72)
* manifest file for mcpb

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* make simpler package with pipx install

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* add CI

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* use gh cli

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* pin 0.13.0

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* fix using python3

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* update version automatically

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

---------

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
2025-09-23 10:55:19 +02:00
github-actions[bot] 440dd1fb10 chore: bump version to 1.2.0 [skip ci] v1.2.0 2025-08-26 10:51:47 +00:00
Michele Dolfi 72daeef3bc feat: tool for thumbnails (#67)
* add tool for thumnails

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* Update docling_mcp/tools/generation.py

Signed-off-by: Michele Dolfi <97102151+dolfim-ibm@users.noreply.github.com>

* restyle

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* remove fastmcp

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

---------

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
Signed-off-by: Michele Dolfi <97102151+dolfim-ibm@users.noreply.github.com>
2025-08-26 12:42:05 +02:00
Michele Dolfi f20ea2b8ec feat: structure information extraction (#68)
* structure information extraction

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* move type ignore

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* move type ignore

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* ignore with arguments

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

---------

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
2025-08-26 11:27:07 +02:00
Peter W. J. Staar c5b08030c2 docs: add Mellea examples (#61)
* adding unit-tests for docling-mcp

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* added mellea example folder

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* added first mellea feedback loops and sessions

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* updated the mellea agent to add tables

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* adding new examples for editing

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* updating the prompts to add tool-calls and be able to edit reports

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* working on editing agent

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* first working agent for editing

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* partially working editor

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* added agent to edit documents

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* first refactor

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* factored out the static functions

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* refactored the base-functions from editor

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* refactored the document writing agent

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* added input file

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* updated the README

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* redid uv-lock

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* use tool.uv.sources pointing to the github repo

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

---------

Signed-off-by: Peter Staar <taa@zurich.ibm.com>
Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
Co-authored-by: Michele Dolfi <dol@zurich.ibm.com>
2025-08-26 11:11:26 +02:00
github-actions[bot] 6e9fe88315 chore: bump version to 1.1.0 [skip ci] v1.1.0 2025-08-23 09:22:20 +00:00
Cesar Berrospi Ramis 10d99e9fbe feat: enable conversion of files in a directory with a single tool (#59)
* feat: enable conversion of several files in batch

Signed-off-by: Cesar Berrospi Ramis <ceb@zurich.ibm.com>

* tests: reorganize tests with MCP server

Signed-off-by: Cesar Berrospi Ramis <ceb@zurich.ibm.com>

---------

Signed-off-by: Cesar Berrospi Ramis <ceb@zurich.ibm.com>
2025-08-23 11:04:12 +02:00
Michele Dolfi 01896e9f01 docs: Structure output with Pydantic AI (#65)
* add pydanticai example

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* improve docs and add responses

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

---------

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
2025-08-22 17:24:03 +02:00
Cesar Berrospi Ramis 02352ed838 fix: tool conversion docstring (#66)
* fix: rename filed 'success' to 'from_cache' in conversion tool

Signed-off-by: Cesar Berrospi Ramis <ceb@zurich.ibm.com>

* chore: update dependencies

Upgrade dependencies.
Avoid llama-stack-client 0.2.18 due to bug with ReAct agent.

Signed-off-by: Cesar Berrospi Ramis <ceb@zurich.ibm.com>

* docs: documentation in Llama Stack examples

Signed-off-by: Cesar Berrospi Ramis <ceb@zurich.ibm.com>

---------

Signed-off-by: Cesar Berrospi Ramis <ceb@zurich.ibm.com>
2025-08-22 15:32:55 +02:00
Michele Dolfi 2998696db4 fix: add max_size truncating the exported markdown (#64)
add max_size truncating the exported markdown

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
2025-08-22 15:01:53 +02:00
Cesar Berrospi Ramis 490c40ac97 docs: update to Llama Stack version 0.2.18 (#63)
Signed-off-by: Cesar Berrospi Ramis <ceb@zurich.ibm.com>
2025-08-20 17:41:54 +02:00
Michele Dolfi 593c664eb3 docs: more options for running llama-stack (#62)
* docs on running LLS with LM Studio and wx.ai

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* link docs from main lls readme

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* Apply suggestions from code review

Co-authored-by: Cesar Berrospi Ramis <cesar.berrospi@gmail.com>
Signed-off-by: Michele Dolfi <97102151+dolfim-ibm@users.noreply.github.com>

---------

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
Signed-off-by: Michele Dolfi <97102151+dolfim-ibm@users.noreply.github.com>
Co-authored-by: Cesar Berrospi Ramis <cesar.berrospi@gmail.com>
2025-08-20 10:39:20 +02:00
Michele Dolfi 56b1402e50 feat: llama stack tool for ingestion (#57)
* add llama stack tool for ingestion

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* fix insert and convert

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* example notebook

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* clean up example

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* tune test question

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* install llama stack only on >=3.12

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* add exception for llama_stack_client

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* use generic openai-like api

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* add llama-index usage

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* use new llamastack GH org

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* update llama stack gh org

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* Apply suggestions from code review

Co-authored-by: Cesar Berrospi Ramis <75900930+ceberam@users.noreply.github.com>
Signed-off-by: Michele Dolfi <97102151+dolfim-ibm@users.noreply.github.com>

---------

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
Signed-off-by: Michele Dolfi <97102151+dolfim-ibm@users.noreply.github.com>
Co-authored-by: Cesar Berrospi Ramis <75900930+ceberam@users.noreply.github.com>
2025-08-18 16:20:16 +02:00
Peter W. J. Staar 55b21882ee Add smolagents examples with docling-mcp (#60)
* adding unit-tests for docling-mcp

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* first working agent with smol-framework

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* start adding resources for specialised system-prompts

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* finally got DoclingToolCallingAgent to work after realizing the system prompts change between version v1.20 and the latest

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* adding system templates for docling

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* added the agent_model

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* adding proper agents now

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* adding proper agents now

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* first working agents to write docling documents

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* updated some of the system-prompts

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* added the capability to add tables

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* added the _write_lists to the agent

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* refactored the agents

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* added missing files

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

---------

Signed-off-by: Peter Staar <taa@zurich.ibm.com>
2025-08-13 10:51:06 +02:00
Ryan Fernandes 60ec172b5a fix: Generalization of document conversion/upload tool (#41)
* Tools for listing json files on disk and movingthem to the local cache as DoclingDocuments

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>

* Rebase adding disk access tools

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>

* Refactored disk_access.py for tool annotations and added tools to test_mcp_server. Changed ValueErrors to result fields

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>

* Added extra .json clarification in cache_key field

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>

* Simple refactor start—tool renaming

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>

* Fixed gold_tools

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>

---------

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>
2025-07-30 19:15:30 +02:00
github-actions[bot] e0ba386257 chore: bump version to 1.0.1 [skip ci] v1.0.1 2025-07-30 13:45:27 +00:00
Michele Dolfi c0aabb3465 docs: generalize integrations and add LM Studio with quick install button (#55)
* generalize and add LM Studio with quick install button

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* Apply suggestions from code review

Co-authored-by: Cesar Berrospi Ramis <75900930+ceberam@users.noreply.github.com>
Signed-off-by: Michele Dolfi <97102151+dolfim-ibm@users.noreply.github.com>

---------

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
Signed-off-by: Michele Dolfi <97102151+dolfim-ibm@users.noreply.github.com>
Co-authored-by: Cesar Berrospi Ramis <75900930+ceberam@users.noreply.github.com>
2025-07-30 15:30:38 +02:00
Michele Dolfi a0f3f1e314 perf: cache DoclingConverter instance (#56)
Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
2025-07-30 15:12:50 +02:00
Michele Dolfi f0d7168903 docs: use llama stack starter (#54)
* update using llama stack starter

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* starter distribution and streaming-http

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* Apply suggestions from code review

Co-authored-by: Cesar Berrospi Ramis <75900930+ceberam@users.noreply.github.com>
Signed-off-by: Michele Dolfi <97102151+dolfim-ibm@users.noreply.github.com>

* update env example

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* update pre-requisite

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

---------

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
Signed-off-by: Michele Dolfi <97102151+dolfim-ibm@users.noreply.github.com>
Co-authored-by: Cesar Berrospi Ramis <75900930+ceberam@users.noreply.github.com>
2025-07-29 18:47:30 +02:00
Michele Dolfi c71172005c fix: allow running from outside localhost (#53)
Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
2025-07-28 20:23:00 +02:00
Ryan Fernandes 0530beaffb fix: Standardized tool returns in manipulation.py (#51)
Added UpdateDocumentOutput for manipulation.py

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>
2025-07-25 14:27:45 +02:00
github-actions[bot] f81ff9e766 chore: bump version to 1.0.0 [skip ci] v1.0.0 2025-07-22 06:32:05 +00:00
Michele Dolfi cd0b87b518 feat!: refine README and docs for v1 (#49)
refine README and docs for v1

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
2025-07-22 08:22:24 +02:00
Michele Dolfi 95568ead2f feat: Add options to starts only some toolsgroups (#48)
* cleanup and add server launch with optional tools

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* cleanup shared components

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

---------

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
2025-07-22 08:18:06 +02:00
Maxim Lysak e48765248d chore: Artwork for a readme (#47)
Adding cute artwork to a readme

Signed-off-by: Maksym Lysak <mly@zurich.ibm.com>
Co-authored-by: Maksym Lysak <mly@zurich.ibm.com>
2025-07-21 13:41:11 +02:00
Ryan Fernandes 88f491616d feat: (1 Tool) Locate document anchors based on content (#40)
* search_for_text_in_document_anchors implementation with exact and partial matches

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>

* Rebase to include search_for_text_in_document_anchors tool

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>

* Refactored new tool to adhere to argument annotations

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>

* Added new tool to test_mcp_server.py

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>

* Precommit resolutions

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>

* Suggested changes and sorting of keyword matches

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>

* Regression tests for search_for_text_in_document_anchors

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>

---------

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>
2025-07-16 11:02:35 +02:00
Cesar Berrospi Ramis 778f819f30 docs: add programmatic examples with Llama Stack (#33)
Signed-off-by: Cesar Berrospi Ramis <75900930+ceberam@users.noreply.github.com>
2025-07-11 16:17:45 +02:00
github-actions[bot] fcfdde3ec4 chore: bump version to 0.4.0 [skip ci] v0.4.0 2025-07-11 14:14:25 +00:00
Cesar Berrospi Ramis cd43fd3497 refactor: set input and output schema in tools (#42)
Signed-off-by: Cesar Berrospi Ramis <75900930+ceberam@users.noreply.github.com>
2025-07-11 13:46:43 +02:00
Cesar Berrospi Ramis 9e98583d5e docs: update README for Llama Stack integration (#30)
* docs: update README for Llama Stack integration

Signed-off-by: Cesar Berrospi Ramis <75900930+ceberam@users.noreply.github.com>

* chore: update dependencies on uv lock

Signed-off-by: Cesar Berrospi Ramis <75900930+ceberam@users.noreply.github.com>

---------

Signed-off-by: Cesar Berrospi Ramis <75900930+ceberam@users.noreply.github.com>
2025-07-02 11:35:21 +02:00
Peter W. J. Staar edb087b064 Fix/formatting with ruff (#32)
* adding unit-tests for docling-mcp

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

* fix: fixed the ruff formatting

Signed-off-by: Peter Staar <taa@zurich.ibm.com>

---------

Signed-off-by: Peter Staar <taa@zurich.ibm.com>
2025-07-02 10:38:56 +02:00
Ryan Fernandes ea3dfe4dcf fix: Expose manipulation tools in mcp_server (#31)
Exposed document manipulation tools in mcp_server.py

Signed-off-by: Ryan Fernandes <ryan@fernandes.us>
2025-07-02 10:25:11 +02:00