DokuTrak

io.github.Crackx17由 GitHub 帳號 Crackx17 發布v0.1.2更新於 Oct 28, 2026

Let your agent chase the documents: create, chase, read and collect DokuTrak Document Requests.

發布方自己的服務:Trak

已驗證Streamable HTTP可網頁執行效率與工作流商業與電商

概覽

AI 產生的概覽

DokuTrak 連接器,讓助理準備、複核、寄送並追蹤向客戶索取文件的請求,並查詢其狀態。

可以做什麼
  • 準備並編輯文件索取請求(收件人、清單、截止日期、留言),產生預覽而不建立或寄送任何內容
  • 提交未變更的預覽並附上穩定的操作 ID,待專業人員在 DokuTrak 中確認後才寄送
  • 依 ID 或透過標題、客戶姓名、電子郵件搜尋,讀取請求狀態、清單、已收文件與審核結果、截止日期及提醒進度
適用情境
適合透過 DokuTrak 向客戶收集文件的專業人員,希望在助理內直接發起索取、催辦並查看進度,而不必切換到管理後台。
執行需求
需要 DokuTrak 工作區,以及透過環境變數 DOKUTRAK_API_KEY 提供的 Agent Connection 金鑰;可選用 DOKUTRAK_API_URL 指向其他 API 位址。可透過 npx(Node.js)在本機執行,也可使用 app.dokutrak.com 上的託管連接器並以 OAuth 登入。
安裝前請注意
寄送請求會向真實客戶發出電子郵件且無法收回,寄送前請確認收件人、截止日期、清單與留言;此工具被標記為每次呼叫都需核准。金鑰可存取該工作區,直到被撤銷為止。請求內容、ID 與搜尋詞會傳送給 DokuTrak 服務,並依其隱私政策處理。

安裝

在 SourceWeft 中

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

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.Crackx17%2Fdokutrak-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "dokutrak": {
      "type": "http",
      "url": "https://app.dokutrak.com/api/mcp"
    }
  }
}

README

dokutrak-mcp

The open MCP connector for DokuTrak: let your agent chase the documents.

DokuTrak collects documents from your clients on your behalf: you send a request, the client uploads through a secure link, the files are reviewed, and silent clients get reminded. This connector puts that loop inside the agent you already work in, so "where does the Dupont file stand?" is answered without leaving Claude.

The connector is a thin, stateless client of the DokuTrak API. It holds the Agent Connection you give it, stores nothing on disk, keeps no cache, and duplicates no rule: what your agent may and may not do is decided by the service, and refusals come back as tool errors with the service's own explanation.

Install

You need a DokuTrak workspace and an Agent Connection, issued from Settings → Connect an agent in the DokuTrak app. That screen hands you a paste-ready configuration with your key already in place; the instructions below are the same thing, by hand.

The key is read from the environment variable DOKUTRAK_API_KEY. It is never taken from the command line.

Install in Claude Desktop (one click)

  1. Download dokutrak.mcpb, the connector packaged as an MCP Bundle.
  2. Double-click it, or drag it onto Claude Desktop (Settings → Extensions).
  3. Click Install and paste your Agent Connection key when asked. Claude Desktop masks it, stores it securely and passes it to the connector as DOKUTRAK_API_KEY.

The bundle carries its own copy of the connector and runs on the Node.js built into Claude Desktop: no npx, no configuration file to edit. npm run bundle builds the same file from a clone.

Claude Desktop, by hand

Open the configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add the server under mcpServers (create the object if the file is empty):

json
{  "mcpServers": {    "dokutrak": {      "command": "npx",      "args": ["-y", "dokutrak-mcp"],      "env": { "DOKUTRAK_API_KEY": "dk_live_…" }    }  }}

Restart Claude Desktop. The DokuTrak tools appear in the tools menu of a new conversation.

Claude Code

bash
claude mcp add dokutrak -e DOKUTRAK_API_KEY=dk_live_… -- npx -y dokutrak-mcp

Then /mcp inside Claude Code lists dokutrak and its tools.

Claude Code plugin: tax-season document chase

/plugin install dokutrak --marketplace Crackx17/dokutrak-mcp

The plugin adds the hosted connector (you sign in to DokuTrak on first use) and the tax-season-document-chase skill: give Claude your client list, it builds each client's checklist by return type (W-2, 1099, Schedule C, rental, K-1, retiree…), shows you the whole batch to confirm, prepares one request per client for you to confirm in DokuTrak, sends them, and later reports who is still missing what. Nothing goes out without your confirmation.

claude.ai and ChatGPT (hosted)

Add https://app.dokutrak.com/api/mcp as a custom connector. You sign in to DokuTrak (or create an account) during the OAuth step. The hosted connector prepares a request, sends it only after you confirm it in DokuTrak, and tracks progress. It never returns file content. Downloading files stays with this local connector. Setup: dokutrak.com/connectors.

From a clone, before the npm release

bash
git clone https://github.com/Crackx17/dokutrak-mcp.gitcd dokutrak-mcpnpm ci && npm run build

Then point the client at the built file instead of npx:

json
{  "mcpServers": {    "dokutrak": {      "command": "node",      "args": ["/path/to/dokutrak-mcp/dist/cli.js"],      "env": { "DOKUTRAK_API_KEY": "dk_live_…" }    }  }}

or, for Claude Code: claude mcp add dokutrak -e DOKUTRAK_API_KEY=dk_live_… -- node /path/to/dokutrak-mcp/dist/cli.js.

The skill

skills/dokutrak/SKILL.md teaches the agent the three everyday uses — ask a Client for documents, know where a request stands, chase on rejected files — and how to connect. It is what a DokuTrak user installs alongside the connector:

bash
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

Configuration

VariableRequiredDefaultMeaning
DOKUTRAK_API_KEYyes—The Agent Connection, from Settings → Connect an agent.
DOKUTRAK_API_URLnohttps://app.dokutrak.com/apiBase URL of the API. Ends in /api; the connector adds /v1.

Tools

Four tools, one round trip: ask, chase, know, collect.

create_request

Creates a Document Request and sends it, in one call, so nothing is left created but unsent. Takes the client's email, a deadline (YYYY-MM-DD or an ISO datetime), the checklist of documents wanted, and an optional title and message. The email goes to the recipient given here and to nobody else; the client uploads through the secure link it contains. Under the hood this is the same two-step the DokuTrak app performs: create with sendEmail: false, then send. If the send fails, the error names the created request, which stays visible in the dashboard.

Nothing goes out without your yes. The email to a real client cannot be recalled, so the tool tells the agent to show you the recipient, the deadline, the checklist and the message, and to wait for your confirmation. The tool is also flagged so that the client asks you before every call: Claude Code prompts each time, even in auto or bypass mode, and Claude Desktop treats it as a tool that always needs approval. A client that ignores these flags is left with the instruction to the agent alone.

request_replacement

Chases the client on the rejected files of a request: flags them, moves the request back to awaiting the client, and returns it to the automatic reminder cadence. This call sends no email by itself; the reminders do, and DokuTrak has no way to email the client immediately, not even from the dashboard. The optional message is recorded in the request's audit trail and is not sent to the client. It refuses a request with no rejected file.

get_request

Where a Document Request stands, in one call: status, the checklist, every collected file with its verdict (approved, rejected with the reviewer's reason, or pending), and the reminder state. Give a request_id, or a search term matching the title or the client's name or email. When several requests match, the tool returns the candidates and asks for the id.

download_documents

Every collected file of a request, as one zip archive. The archive comes back embedded in the tool result as binary content (an MCP resource with a base64 blob and application/zip), not as a link: the API has no short-link endpoint for a zip, and the connector writes nothing to disk. What the agent does with the bytes is decided on the professional's side, exactly like a download from the browser. Large archives make large results; check with get_request that documents have arrived before calling it.

What the connector cannot do

Approving or rejecting a document is your decision, taken in the DokuTrak dashboard. No tool here can take it, and the service refuses it to any Agent Connection regardless of which connector asks. The same goes for billing, workspace settings and the management of API keys.

Revoking the Agent Connection in DokuTrak takes effect on the very next call: the connector answers with the service's 401 and nothing else.

Privacy Policy

The connector runs on your machine and talks to one service only: the DokuTrak API (https://app.dokutrak.com/api, or the URL you set in DOKUTRAK_API_URL), with the Agent Connection you configured. It sends what the tools need (the request you create, the id or search term you look up) and relays the answers to your agent. It writes nothing to disk, keeps no cache or log, and sends no telemetry or analytics to DokuTrak or to anyone else.

Everything it sends is processed by DokuTrak under the DokuTrak Privacy Policy, which covers what is collected, how it is used and stored, the subprocessors it is shared with, retention and deletion, and your rights. Questions: [email protected]; security issues: [email protected].

Development

bash
npm cinpm run check   # typecheck, build, testsnpm test        # tests alone

The tests are contract tests at the MCP seam: a real MCP client and the real server, connected in memory through the official SDK's transport, with HTTP stubbed at fetch using recorded responses. They call tools, never functions, and run with no DokuTrak account and no network.

The staging run

Before a release, the built binary is driven once against a real workspace, by a real MCP client over stdio: create → chase → read → collect → revoke → 401. It is a record pasted into the release PR, never a CI check (a blocking check calls no third party). It pauses twice for acts the service refuses to any Agent Connection: rejecting the uploaded file, and revoking the key.

bash
npm run buildDOKUTRAK_API_KEY=dk_live_… [email protected] npm run staging

A real Document Request is created and a real email goes to STAGING_RECIPIENT_EMAIL. The transcript lands in staging-run-<timestamp>.md (git-ignored); the key is never written to it.

The MCP Bundle

npm run bundle builds mcpb/server/index.cjs (the connector with every dependency inlined), starts it and checks that it lists exactly the tools declared in mcpb/manifest.json at the version of package.json, then validates the manifest and packs dokutrak.mcpb with the official mcpb CLI. CI runs it on every pull request, and the release workflow attaches dokutrak.mcpb to the GitHub release of each tag. A change to the tool surface or the version updates mcpb/manifest.json too.

Releasing

A tag vX.Y.Z matching package.json and SERVER_VERSION triggers .github/workflows/release.yml: npm run check, npm publish (trusted publishing through GitHub's OIDC token, provenance attached), then the listing in the MCP Registry as io.github.Crackx17/dokutrak-mcp — the mcpName of package.json, which the registry checks against the published tarball. Running the workflow by hand does a --dry-run and publishes nothing.

License

MIT.

來源:README.md,提交 0ad7528

工具

4

prepare_request

Prepare a Request Preview

Prepare or edit recipient, checklist, deadline and optional message before connecting. No request is created and nothing is sent. Keep the returned preview through connection, then pass it unchanged to review_request. Missing or invalid details must be corrected.

輸入參數preview必填

review_request

Review a Document Request

After connection, submit the unchanged preview and a stable UUID operation_id. Open reviewUrl for the Professional to review and explicitly confirm in DokuTrak. Reuse the operation_id for retries. Changed details require a new operation and confirmation. No request or email is created by review.

輸入參數preview必填operation_id必填

send_request

Send the confirmed Document Request

Send only after the Professional confirms the exact version on reviewUrl. Use operation_id and version from review_request. Retries recover the same request. sent means accepted by the email provider, not delivery to the inbox. delivery_unknown requires inspection in DokuTrak; do not start over or resend. No immediate reminder is available.

輸入參數version必填operation_id必填

get_request

Track a Document Request

Read checklist receipt, Human Approval status, deadlines and recorded reminder progress. Give request_id or search the title, Client name or email. If several requests match, ask the Professional to select a candidate and call again with its id. Received does not mean approved. This tool sends no reminder. Open DokuTrak to read files or make Human Approval decisions.

輸入參數searchrequest_id

版本歷史

3
  1. v0.1.2最新Oct 14, 2026
  2. v0.1.1Sep 23, 2026
  3. v0.1.0Sep 16, 2026

評分

已滿足適用檢查項的 100%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Trak 整合