Tooldash Mcp

io.github.LassiB999由 GitHub 帳號 LassiB999 發布v1.0.2更新於 Oct 24, 2026

Offline PDF and text tools: merge, extract pages, inspect, clean text. No upload, no API key.

已驗證STDIO僅桌面效率與工作流檔案與儲存

概覽

AI 產生的概覽

離線的 MCP 伺服器,讓助理在本機檢查、合併、擷取 PDF 頁面並清理文字,全程不上傳檔案。

可以做什麼
檢查 PDF:讀取頁數、每頁尺寸與中繼資料,不寫入任何檔案(pdf_info)。合併多個 PDF 成一個,或依頁碼挑選把頁面複製成新 PDF,預設不覆寫既有檔案,除非明確允許。清理文字:合併空白與空行、移除不可見字元、統一標點,可選擇移除網址。檔案不存在、PDF 有密碼或頁碼超出範圍等錯誤會以可讀訊息回傳,伺服器不會中斷。
適用情境
適合讓助理處理 PDF 與文字而不把文件上傳到第三方服務,例如合併報告、擷取指定頁碼範圍、整理複製來的文字。對需要留在本機的機密文件尤其合適。
執行需求
作為本機 stdio 程序由 MCP 用戶端啟動,通常透過 npx 執行;需要 Node.js 20 或更新版本。不需帳號、API 金鑰或網路存取。可選擇設定 TOOLDASH_MCP_ROOT,把所有檔案讀寫限制在單一目錄內。
安裝前請注意
未設定 TOOLDASH_MCP_ROOT 時,伺服器可在你的使用者帳號有權存取的位置讀寫,建議設定以限制範圍。merge_pdfs 與 extract_pdf_pages 會寫入檔案,只有把 overwrite 設為 true 才會覆寫既有檔案。clean_text 開啟 removeUrls 會移除所有 http/https 網址,且無法判斷連結是否有效。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Tooldash Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

ToolDash MCP

Offline PDF and text tools for AI agents. An MCP server that lets Claude Desktop, Cursor, VS Code and any other MCP client merge PDFs, pull out pages, inspect documents and clean up text — entirely on your own machine.

No upload. No API key. No account. No network call of any kind: the PDF work is done locally by pdf-lib, so a confidential contract never leaves your laptop.

[Powered by ToolDash]


Tools

ToolWhat it doesWrites files?
pdf_infoPage count, per-page dimensions and metadata of a PDFNo
merge_pdfsCombine two or more PDFs into one, in the given orderYes
extract_pdf_pagesCopy a page selection ("1-3,7,10-12") into a new PDFYes
clean_textCollapse whitespace, strip invisible characters, normalize punctuation, optionally remove URLsNo

The two tools that write files refuse to replace an existing file unless you pass overwrite: true, so an agent retrying a call cannot quietly destroy a document.

Requirements

Node.js 20 or newer.

Install

No install step — your MCP client runs it on demand with npx. Add the server to your client's config and restart it.

Claude Desktop

Edit claude_desktop_config.json:

  • macOS — ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows — %APPDATA%\Claude\claude_desktop_config.json
  • Linux — ~/.config/Claude/claude_desktop_config.json
json
{  "mcpServers": {    "tooldash": {      "command": "npx",      "args": ["-y", "tooldash-mcp"]    }  }}

Restart Claude Desktop. The tools appear under the tools icon in the chat box.

Cursor

Create .cursor/mcp.json in your project (or ~/.cursor/mcp.json for every project):

json
{  "mcpServers": {    "tooldash": {      "command": "npx",      "args": ["-y", "tooldash-mcp"]    }  }}

Then enable the server under Settings → MCP.

VS Code (GitHub Copilot agent mode)

Create .vscode/mcp.json:

json
{  "servers": {    "tooldash": {      "type": "stdio",      "command": "npx",      "args": ["-y", "tooldash-mcp"]    }  }}

Running from a clone

bash
git clone https://github.com/LassiB999/tooldash-mcp.gitcd tooldash-mcpnpm installnpm test

Then point your client at node /absolute/path/to/tooldash-mcp/server.js instead of npx.

Paths may be absolute, relative to the client's working directory, or start with ~. Surrounding quotes are stripped, so a path pasted as "/home/you/file.pdf" still works.

Restricting file access

The server reads and writes wherever your user account can. To confine it to one directory, set TOOLDASH_MCP_ROOT — any path outside it is refused with a clear error:

json
{  "mcpServers": {    "tooldash": {      "command": "npx",      "args": ["-y", "tooldash-mcp"],      "env": { "TOOLDASH_MCP_ROOT": "/home/you/Documents/pdfs" }    }  }}

Usage examples

Ask your assistant in plain language — "merge these two PDFs and put the result on my desktop" — and it will fill in the calls below. The raw JSON is here for testing.

pdf_info

json
{ "path": "/home/you/Documents/report.pdf" }
report.pdf: 12 page(s), 248.3 KB. Title: "Q3 Report".

merge_pdfs

json
{  "inputPaths": ["/home/you/Documents/cover.pdf", "/home/you/Documents/report.pdf"],  "outputPath": "/home/you/Documents/final.pdf",  "overwrite": false}

extract_pdf_pages

Pages are 1-based. Order is preserved, so "3,1-2" gives you page 3 first. A descending range like "5-1" reverses those pages.

json
{  "inputPath": "/home/you/Documents/report.pdf",  "pages": "1-3,7,10-12",  "outputPath": "/home/you/Documents/excerpt.pdf"}

clean_text

json
{  "text": "Hello   world  \r\n\r\n\r\n\r\nSecond   line   ",  "collapseBlankLines": true,  "normalizeQuotes": false,  "removeUrls": false}

removeUrls strips every http/https URL. The server is offline, so it cannot tell a working link from a dead one — it does not pretend to.

How it handles failure

Bad input comes back as a readable error result the model can act on, never as a crash: a missing file, a password-protected PDF, a page number past the end of the document, or an output path that already exists each produce a message saying what to do next. The server keeps running.

Diagnostics go to stderr only. stdout carries protocol frames and nothing else — the tests would fail if anything leaked into it.

Development

bash
npm test                # 15 end-to-end tests: a real MCP client over stdio, on real PDFsnpm run inspect         # open the MCP Inspector against this server

Powered by ToolDash

ToolDash is a set of free, browser-based utilities — PDF, text, image, colour, developer and calculator tools — that run entirely in your tab with nothing uploaded. This server brings the same idea to your editor.

License

MIT

來源:README.md,提交 7fe06d2

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.2最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分