dokutrak-mcp 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,23 @@ All notable changes to `dokutrak-mcp` are recorded here. The format follows
6
6
  is part of the public contract: it changes only with a decision recorded in
7
7
  the DokuTrak product repository, and every such change is listed here.
8
8
 
9
+ ## [Unreleased]
10
+
11
+ ## [0.1.2] — 2026-10-14
12
+
13
+ ### Added
14
+
15
+ - The hosted connector, `https://app.dokutrak.com/api/mcp`, listed as a
16
+ remote in the MCP Registry entry next to the npm package. It is operated by
17
+ the DokuTrak service (OAuth, prepare / confirm / send / track) and is not
18
+ part of this package; see the README.
19
+ - An MCP Bundle, `dokutrak.mcpb`: one-click install in Claude Desktop, the
20
+ Agent Connection asked for at install and stored as a sensitive setting.
21
+ `npm run bundle` builds it (`mcpb/manifest.json`, dependencies inlined in
22
+ one file), checks it against the running server and packs it; the release
23
+ workflow attaches it to each GitHub release. The npm package is unchanged.
24
+ - A Privacy Policy section in the README.
25
+
9
26
  ## [0.1.1] — 2026-09-23
10
27
 
11
28
  Decision recorded in the DokuTrak product repository: ADR-014, amendment of
@@ -55,5 +72,6 @@ as decided in ADR-014 of the DokuTrak product repository.
55
72
  management: the service refuses them to every Agent Connection, whatever
56
73
  the connector.
57
74
 
75
+ [0.1.2]: https://github.com/Crackx17/dokutrak-mcp/releases/tag/v0.1.2
58
76
  [0.1.1]: https://github.com/Crackx17/dokutrak-mcp/releases/tag/v0.1.1
59
77
  [0.1.0]: https://github.com/Crackx17/dokutrak-mcp/releases/tag/v0.1.0
package/README.md CHANGED
@@ -22,7 +22,19 @@ configuration with your key already in place; the instructions below are the sam
22
22
  The key is read from the environment variable `DOKUTRAK_API_KEY`. It is never taken from the
23
23
  command line.
24
24
 
25
- ### Claude Desktop
25
+ ### Install in Claude Desktop (one click)
26
+
27
+ 1. Download [`dokutrak.mcpb`](https://github.com/Crackx17/dokutrak-mcp/releases/latest/download/dokutrak.mcpb),
28
+ the connector packaged as an [MCP Bundle](https://github.com/modelcontextprotocol/mcpb).
29
+ 2. Double-click it, or drag it onto Claude Desktop (**Settings → Extensions**).
30
+ 3. Click **Install** and paste your Agent Connection key when asked. Claude Desktop masks it, stores it
31
+ securely and passes it to the connector as `DOKUTRAK_API_KEY`.
32
+
33
+ The bundle carries its own copy of the connector and runs on the Node.js built into Claude
34
+ Desktop: no `npx`, no configuration file to edit. `npm run bundle` builds the same file from a
35
+ clone.
36
+
37
+ ### Claude Desktop, by hand
26
38
 
27
39
  Open the configuration file:
28
40
 
@@ -53,11 +65,13 @@ claude mcp add dokutrak -e DOKUTRAK_API_KEY=dk_live_… -- npx -y dokutrak-mcp
53
65
 
54
66
  Then `/mcp` inside Claude Code lists `dokutrak` and its tools.
55
67
 
56
- ### claude.ai
68
+ ### claude.ai and ChatGPT (hosted)
57
69
 
58
- **Not supported in this release.** claude.ai connects to remote MCP servers over HTTP with
59
- OAuth; this connector speaks stdio with an API key, which is what a local install into Claude
60
- Desktop or Claude Code needs. A hosted variant is a separate, later decision.
70
+ Add `https://app.dokutrak.com/api/mcp` as a custom connector. You sign in to DokuTrak
71
+ (or create an account) during the OAuth step. The hosted connector prepares a request,
72
+ sends it only after you confirm it in DokuTrak, and tracks progress. It never returns
73
+ file content. Downloading files stays with this local connector. Setup:
74
+ [dokutrak.com/connectors](https://dokutrak.com/connectors).
61
75
 
62
76
  ### From a clone, before the npm release
63
77
 
@@ -155,6 +169,19 @@ connector asks. The same goes for billing, workspace settings and the management
155
169
  Revoking the Agent Connection in DokuTrak takes effect on the very next call: the connector
156
170
  answers with the service's 401 and nothing else.
157
171
 
172
+ ## Privacy Policy
173
+
174
+ The connector runs on your machine and talks to one service only: the DokuTrak API
175
+ (`https://app.dokutrak.com/api`, or the URL you set in `DOKUTRAK_API_URL`), with the Agent
176
+ Connection you configured. It sends what the tools need (the request you create, the id or
177
+ search term you look up) and relays the answers to your agent. It writes nothing to disk, keeps
178
+ no cache or log, and sends no telemetry or analytics to DokuTrak or to anyone else.
179
+
180
+ Everything it sends is processed by DokuTrak under the [DokuTrak Privacy
181
+ Policy](https://dokutrak.com/privacy), which covers what is collected, how it is used and
182
+ stored, the subprocessors it is shared with, retention and deletion, and your rights. Questions:
183
+ arthur@dokutrak.com; security issues: security@dokutrak.com.
184
+
158
185
  ## Development
159
186
 
160
187
  ```bash
@@ -183,6 +210,15 @@ DOKUTRAK_API_KEY=dk_live_… STAGING_RECIPIENT_EMAIL=you@example.com npm run sta
183
210
  A real Document Request is created and a real email goes to `STAGING_RECIPIENT_EMAIL`. The
184
211
  transcript lands in `staging-run-<timestamp>.md` (git-ignored); the key is never written to it.
185
212
 
213
+ ### The MCP Bundle
214
+
215
+ `npm run bundle` builds `mcpb/server/index.cjs` (the connector with every dependency inlined),
216
+ starts it and checks that it lists exactly the tools declared in `mcpb/manifest.json` at the
217
+ version of `package.json`, then validates the manifest and packs `dokutrak.mcpb` with the
218
+ official [`mcpb`](https://github.com/modelcontextprotocol/mcpb) CLI. CI runs it on every pull
219
+ request, and the release workflow attaches `dokutrak.mcpb` to the GitHub release of each tag.
220
+ A change to the tool surface or the version updates `mcpb/manifest.json` too.
221
+
186
222
  ### Releasing
187
223
 
188
224
  A tag `vX.Y.Z` matching `package.json` and `SERVER_VERSION` triggers `.github/workflows/release.yml`:
package/dist/cli.js CHANGED
@@ -390,7 +390,7 @@ var TOOL_REGISTRARS = [
390
390
 
391
391
  // src/server.ts
392
392
  var SERVER_NAME = "dokutrak";
393
- var SERVER_VERSION = "0.1.1";
393
+ var SERVER_VERSION = "0.1.2";
394
394
  function createServer(options) {
395
395
  const api = createApiClient({
396
396
  baseUrl: options.baseUrl,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dokutrak-mcp",
3
3
  "mcpName": "io.github.Crackx17/dokutrak-mcp",
4
- "version": "0.1.1",
4
+ "version": "0.1.2",
5
5
  "description": "MCP connector for DokuTrak: let your agent chase the documents.",
6
6
  "license": "MIT",
7
7
  "type": "module",
@@ -23,7 +23,8 @@
23
23
  "test": "vitest run",
24
24
  "check": "npm run typecheck && npm run build && npm test",
25
25
  "prepublishOnly": "npm run check",
26
- "staging": "node scripts/staging-run.mjs"
26
+ "staging": "node scripts/staging-run.mjs",
27
+ "bundle": "tsup --config tsup.mcpb.config.ts && node scripts/check-bundle-manifest.mjs && npx --yes @anthropic-ai/mcpb@2.1.2 validate mcpb/manifest.json && npx --yes @anthropic-ai/mcpb@2.1.2 pack mcpb dokutrak.mcpb"
27
28
  },
28
29
  "repository": {
29
30
  "type": "git",