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 分