Document Processing Standard Tools¶
doc-processing-std-tools is a library of MCP tool servers that
give an AI agent practical capabilities: reading and editing files, searching the web, reading
documents and images, running code, keeping memory, and using Agent Skills.
It also has two optional servers, off by default: a browser and a desktop the agent can operate.
It is the standard tool library for the Agent class in
doc-processing-toolkit, but every server is an ordinary
FastMCP server, so any MCP-compatible host can use it.
Designed and built by Rounak Zoeb as the tool layer for the doc-processing-toolkit agent framework.
Source code
The source code is in a private repository. These pages document every tool, setting and API. To review the code, message Rounak Zoeb on LinkedIn with your GitHub username.
Which version this site describes
These pages describe release 0.6.1 (tag v0.6.1). What changed since 0.5.0 is marked
new in 0.6.0 or new in 0.6.1, with an "Upgrading from …" note where you need to act.
The Changelog lists every change.
The servers at a glance¶
| Server | Import | Tools | What it gives the agent | Extra to install |
|---|---|---|---|---|
| File System | file_system_server |
12 | Read, write, edit, patch, move and search files | — |
| Web | web_search_server |
4 | Web search (Tavily, Serper, Brave), page and image fetching with SSRF protection, citations | [web], optional [extract] |
| Memory | memory_server |
11 | Persistent key-value and file-based memory | — |
| Documents | document_processing_server |
13 | PDF, Word, Excel, PowerPoint and image reading; OCR; page rendering for vision; conversion with LibreOffice | [docs], [ocr] |
| Code Execution | code_execution_server |
2 | A shell session that keeps its working directory | — |
| Screenshot | screenshot_server |
2 | Screen capture of the machine the server runs on | [screenshot] |
| Image Tools | image_tools_server |
7 | Crop, resize, zoom, rotate, annotate and convert images | Pillow ([docs] or [screenshot]) |
| Skills | skills_server |
5 | Discover, load and run Agent Skills | — |
| Browser | browser_server |
19 or 28 (18 or 27 browser_* tools, plus fetch_webpage_rendered) |
Optional, off by default: a Chromium browser driven through browser_* tools, and rendered page fetching |
[browser] + Chromium |
| Computer (Desktop) | computer_server |
17 | Optional, off by default: a desktop operated by screenshot, mouse and keyboard through computer_* tools — its own virtual display, or the user's real screen |
[computer] + Xvfb (virtual) |
The eight always-on servers expose 56 tools. The optional servers add to the composed launcher only when enabled:
| Composed launcher | Tools |
|---|---|
| The eight always-on servers | 56 |
With the browser server (DPTTOOLS_ENABLE_BROWSER=true) |
75 (core profile) or 84 (full) |
With the computer server (DPTTOOLS_ENABLE_COMPUTER=true) |
73 |
| With both | 92 (core) or 101 (full) |
Every tool name is unique across the servers, so they can be combined freely.
Two ways to run them¶
- In-process. Import a server and hand it to the toolkit:
Agent(tools=[file_system_server]). The tools run inside your application's process. - Out-of-process.
python -m doc_processing_std_toolscomposes all eight servers, plus the optional ones you enable, into one MCP endpoint over stdio (default) or HTTP. Any MCP client can connect to it.
Architecture explains both and when to choose which.
Start here¶
- Quickstart — install, attach to an agent, run the launcher.
- Architecture — how the servers are built, composed and secured.
- Compatibility — Python,
mcpand toolkit versions. - The server pages, listed above, for each server's tools, settings and pitfalls.
Recipes¶
Worked tasks, each checked against the code: steps, what to validate, and the tests behind it.
- OCR a Scanned PDF — tell a scan from a text PDF and OCR the pages you need.
- Office Files to Page Images — show Word, Excel and PowerPoint pages to the model.
- Search, Then Summarise — a summary that cites the pages it read.
- JavaScript-Rendered Pages — read pages built by JavaScript.
- Portal Download to Text — sign in, download a statement, read it.
- Desktop Actions with Hooks — approve each desktop action from your application.
- Skills Setup — write a skill and attach the skills server.
- The Launcher with Other MCP Clients — desktop assistants, IDEs and MCP SDK clients.
With doc-processing-toolkit¶
The toolkit's documentation covers the agent side of the same integration:
- Tools — the tool formats an
Agentaccepts, including FastMCP servers andallowed_tools. - MCP — how the toolkit consumes MCP servers, in-process and over stdio.
- Hooks and steering — approving or vetoing tool calls from your application.
- Skills auto-injection — how the
toolkit reads this package's
list_skillsresult. - Client integration — pinning, upgrading and running the toolkit inside an application.
- Speech and images from an agent in your app
— letting the model look at an image through
read_image.
For coding agents¶
Two plain-text files at the site root are generated from this site's navigation:
- llms.txt — a short map of every page, with links, in the llms.txt format.
- llms-full.txt — every page's Markdown source in one file.
Source code¶
The source code is in a private repository. These pages document every tool, setting and API. To review the code, message Rounak Zoeb on LinkedIn with your GitHub username.