关于 DokuTrak
DokuTrak 是供专业人士收集和审核客户文件的 MCP 连接器。Agent 可创建并发送请求、查看进度、跟进被拒文件及下载已收集文件;审核决定仍由 DokuTrak 中的用户作出。
主要功能
- 01创建并发送文件请求
- 02查看请求状态和文件审核结果
- 03为被拒文件恢复提醒
- 04将已收集文件下载为 ZIP
- 05按客户或标题搜索请求
适用场景
- 01按清单和截止日期向客户索取文件
- 02查找请求中缺失或被拒的文件
- 03文件被拒后恢复提醒流程
- 04收集已提交文件以供审核
MCP 相关
向 MCP 客户端提供四种 DokuTrak 文件请求工具。本地连接器无状态且不保存数据;远程连接器可准备和跟踪请求,但不返回文件内容。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://app.dokutrak.com/api/mcpclaude mcp add --transport http crackx17-dokutrak https://app.dokutrak.com/api/mcp{"mcpServers":{"crackx17-dokutrak":{"type":"http","url":"https://app.dokutrak.com/api/mcp"}}}在 Cursor 中打开{"servers":{"crackx17-dokutrak":{"type":"http","url":"https://app.dokutrak.com/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"crackx17-dokutrak":{"type":"http","url":"https://app.dokutrak.com/api/mcp"}}}{"mcpServers":{"crackx17-dokutrak":{"serverUrl":"https://app.dokutrak.com/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
4| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| title | string | 否 | 请求标题,由 Professional 为文件命名。 |
| message | string | 否 | Professional 发给 Client 的消息,会包含在邮件中。 |
| deadline | string | 是 | 文件的截止时间。可以是日期(YYYY-MM-DD)或 ISO 8601 日期时间。 |
| documents | array | 是 | Client 必须填写的清单。 |
| recipient_name | string | 否 | 邮件中对 Client 的称呼。 |
| recipient_email | string | 是 | 必须上传文件的 Client。邮件只会发送到此地址。 |
详细介绍
dokutrak-mcp
面向 DokuTrak 的开源 MCP 连接器: 让你的 Agent 去追踪文件。
DokuTrak 代表你向客户收集文件:你发送请求,客户通过安全链接上传,文件经过审核,未响应的客户会收到提醒。这个连接器将这一流程放进你日常使用的 Agent 中,让你无需离开 Claude,就能得到“Dupont 的文件现在是什么状态?”的答案。
这个连接器是 DokuTrak API 的轻量、无状态客户端。它使用你提供的 Agent Connection,不在磁盘上存储任何内容,不保留缓存,也不重复实现任何规则:你的 Agent 可以做什么、不可以做什么,由服务决定;拒绝操作时,工具错误会附带服务自己的说明。
安装
你需要一个 DokuTrak 工作区和一个 Agent Connection,可在 DokuTrak 应用的 Settings → Connect an agent 中创建。该页面会提供一份可直接粘贴的配置,其中已填入你的密钥;下面是手动配置的相同内容。
密钥从环境变量 DOKUTRAK_API_KEY 中读取,不会从命令行获取。
在 Claude Desktop 中安装(一键安装)
- 下载
dokutrak.mcpb,这是打包为 MCP Bundle 的连接器。 - 双击该文件,或将它拖到 Claude Desktop(Settings → Extensions)中。
- 点击 Install,并在提示时粘贴你的 Agent Connection 密钥。Claude Desktop 会对密钥进行遮蔽、妥善保存,并将其作为
DOKUTRAK_API_KEY传递给连接器。
该程序包包含连接器的副本,并使用 Claude Desktop 内置的 Node.js 运行:无需 npx,也无需编辑配置文件。克隆项目后,运行 npm run bundle 即可构建相同文件。
手动配置 Claude Desktop
打开配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
在 mcpServers 下添加服务(如果文件为空,则创建该对象):
{
"mcpServers": {
"dokutrak": {
"command": "npx",
"args": ["-y", "dokutrak-mcp"],
"env": { "DOKUTRAK_API_KEY": "dk_live_…" }
}
}
}
重启 Claude Desktop。DokuTrak 工具会显示在新对话的工具菜单中。
Claude Code
claude mcp add dokutrak -e DOKUTRAK_API_KEY=dk_live_… -- npx -y dokutrak-mcp
然后,在 Claude Code 中运行 /mcp,即可查看 dokutrak 及其工具。
Claude Code 插件:报税季文件追踪
/plugin install dokutrak --marketplace Crackx17/dokutrak-mcp
该插件会添加托管连接器(首次使用时需登录 DokuTrak)和 tax-season-document-chase 技能:向 Claude 提供客户名单,它会按报税类型(W-2、1099、Schedule C、租赁收入、K-1、退休人员等)为每位客户整理清单,向你展示整批清单以供确认,为你准备每位客户的一份请求,待你在 DokuTrak 中确认后发送,并在之后汇报仍缺少哪些文件、涉及哪些客户。未经你确认,不会发送任何内容。
claude.ai 和 ChatGPT(托管版)
将 https://app.dokutrak.com/api/mcp 添加为自定义连接器。在 OAuth 步骤中登录 DokuTrak(或创建账户)。托管连接器会准备请求,仅在你于 DokuTrak 中确认后才发送,并跟踪进度。它绝不会返回文件内容。下载文件仍由此本地连接器负责。设置说明:
dokutrak.com/connectors。
从克隆项目安装(npm 发布前)
git clone https://github.com/Crackx17/dokutrak-mcp.git
cd dokutrak-mcp
npm ci && npm run build
然后,将客户端指向构建生成的文件,而不是使用 npx:
{
"mcpServers": {
"dokutrak": {
"command": "node",
"args": ["/path/to/dokutrak-mcp/dist/cli.js"],
"env": { "DOKUTRAK_API_KEY": "dk_live_…" }
}
}
}
或者,对于 Claude Code:claude mcp add dokutrak -e DOKUTRAK_API_KEY=dk_live_… -- node /path/to/dokutrak-mcp/dist/cli.js。
技能
skills/dokutrak/SKILL.md 会教 Agent 三种日常用途——向客户索要文件、了解请求进度,以及跟进被拒收的文件——并介绍如何连接。DokuTrak 用户会将它与连接器一同安装:
npx skills add Crackx17/dokutrak-mcp # the open agent-skills installer
# or by hand, for Claude Code / Claude Desktop:
cp -r skills/dokutrak ~/.claude/skills/dokutrak
配置
| 变量 | 必填 | 默认值 | 含义 |
|---|---|---|---|
DOKUTRAK_API_KEY | 是 | — | Agent Connection,位于「设置 → 连接 Agent」。 |
DOKUTRAK_API_URL | 否 | https://app.dokutrak.com/api | API 的基础 URL。以 /api 结尾;连接器会添加 /v1。 |
工具
四个工具,一次往返:询问、催办、了解、收集。
create_request
一次调用即可创建并发送文件请求,不会留下已创建但未发送的请求。
需要提供客户端的电子邮件地址、截止日期(YYYY-MM-DD 或 ISO 日期时间)、所需文件清单,以及可选的标题和消息。邮件只会发送给此处填写的收件人,不会发送给其他人;客户端通过邮件中的安全链接上传文件。在底层,这与 DokuTrak 应用执行的两步操作相同:先以 sendEmail: false 创建,再发送。如果发送失败,错误会指出已创建的请求,该请求仍会显示在控制面板中。
未经你同意,不会发送任何内容。 发给真实客户端的邮件无法撤回,因此该工具会要求 Agent 向你展示收件人、截止日期、清单和消息,并等待你的确认。该工具还带有标记,要求客户端在每次调用前都先征求你的同意:即使在自动或绕过模式下,Claude Code 也会每次提示;Claude Desktop 则会将其视为始终需要审批的工具。忽略这些标记的客户端只能依赖给 Agent 的指令。
request_replacement
针对请求中被拒收的文件催办客户端:标记这些文件,将请求状态改回等待客户端,并将其重新纳入自动提醒周期。此调用本身不会发送邮件;邮件由提醒发送,且 DokuTrak 无法立即给客户端发送邮件,即使从控制面板也不行。可选消息会记录在请求的审计记录中,不会发送给客户端。如果请求中没有被拒收的文件,该工具会拒绝处理。
get_request
一次调用即可了解文件请求的状态:请求状态、清单、每个已收集文件及其审核结果(已批准、已拒收并附审核者原因,或待处理),以及提醒状态。提供 request_id,或提供可匹配标题、客户端姓名或电子邮件地址的 search 词。匹配多个请求时,该工具会返回候选项并要求提供 ID。
download_documents
将请求中的所有已收集文件打包为一个 ZIP 归档。归档会以二进制内容的形式嵌入工具结果(一个包含 base64 数据和 application/zip 的 MCP 资源),而不是以链接形式返回:API 没有用于 ZIP 文件的短链接端点,连接器也不会写入任何文件。如何处理这些字节由专业人员自行决定,与从浏览器下载完全相同。较大的归档会产生较大的结果;调用前请通过 get_request 确认文件已到达。
连接器无法执行的操作
批准或拒收文件由你决定,操作需在 DokuTrak 控制面板中完成。这里没有任何工具可以代你操作,且无论哪个连接器发起请求,服务都会拒绝任何 Agent Connection 执行此操作。账单、工作区设置和 API 密钥管理也同样如此。
在 DokuTrak 中撤销 Agent Connection 后,会在下一次调用时立即生效:连接器会返回服务的 401 响应,不附带其他内容。
隐私政策
连接器在你的机器上运行,只与一个服务通信:DokuTrak API
(https://app.dokutrak.com/api,或你在 DOKUTRAK_API_URL 中设置的 URL),并使用你配置的 Agent
Connection。它只发送工具所需的内容(你创建的请求、你查询的 ID 或搜索词),并将回答转发给你的 Agent。它不会向磁盘写入任何内容,不会保留缓存或日志,也不会向 DokuTrak 或任何其他对象发送遥测数据或分析数据。
它发送的所有内容都由 DokuTrak 根据 DokuTrak 隐私 政策处理,其中涵盖收集哪些信息、如何使用和存储这些信息、与哪些子处理方共享、保留和删除信息的方式,以及你的权利。有疑问请联系: [email protected];安全问题请联系:[email protected]。
开发
npm ci
npm run check # typecheck, build, tests
npm test # tests alone
测试是在 MCP 边界进行的契约测试:真实的 MCP 客户端和真实的服务通过官方 SDK 的传输层在内存中连接,并使用记录的响应在 fetch 处对 HTTP 进行桩接。测试会调用工具,而不是函数;运行时无需 DokuTrak 账户,也无需网络连接。
在预发布环境运行
发布前,会使用真实的 MCP 客户端通过 stdio 驱动构建好的二进制文件,对真实工作区运行一次:创建 → 跟进 → 读取 → 收集 → 撤销 → 401。运行记录会粘贴到发布 PR 中,绝不会作为 CI 检查(阻塞式检查不会调用第三方)。运行过程中会两次暂停,等待执行服务不允许任何 Agent Connection 执行的操作:拒绝上传的文件,以及撤销密钥。
npm run build
DOKUTRAK_API_KEY=dk_live_… [email protected] npm run staging
系统会创建一个真实的 Document Request,并向 STAGING_RECIPIENT_EMAIL 发送一封真实邮件。运行记录会保存到 staging-run-<timestamp>.md(已加入 git 忽略列表);密钥绝不会写入其中。
MCP Bundle
npm run bundle 会构建 mcpb/server/index.cjs(将所有依赖内联的连接器),启动它并检查其列出的工具是否与 mcpb/manifest.json 中声明的工具完全一致,且版本与 package.json 一致;随后会验证清单,并使用官方 mcpb CLI 打包生成 dokutrak.mcpb。CI 会在每个拉取请求中运行此流程,发布工作流会将 dokutrak.mcpb 附加到每个标签对应的 GitHub 发布中。工具界面或版本发生变更时,也要更新 mcpb/manifest.json。
发布
与 package.json 和 SERVER_VERSION 匹配的 vX.Y.Z 标签会触发 .github/workflows/release.yml:
npm run check、npm publish(通过 GitHub 的 OIDC 令牌进行可信发布,并附加来源证明),然后将其登记到 MCP Registry,名称为 io.github.Crackx17/dokutrak-mcp——这是 package.json 中的 mcpName,注册表会将其与已发布的 tarball 进行核对。手动运行此工作流会执行 --dry-run,不会发布任何内容。
许可证
MIT。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。