botanary-mcp 0.1.0 → 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/README.md CHANGED
@@ -23,20 +23,15 @@ no MCP tool" below.
23
23
 
24
24
  ## Add it to your agent
25
25
 
26
- One-time setup (from this directory):
27
-
28
- ```bash
29
- pnpm install # also builds dist/ automatically (see "prepare" in package.json)
30
- ```
31
-
32
- Then, the one command per client:
26
+ `botanary-mcp` is published on npm - no clone, no build, no local install step. `npx` fetches and
27
+ runs it on demand, so the one-time setup **is** the one command per client below.
33
28
 
34
29
  ```bash
35
30
  # Claude Code
36
- claude mcp add --transport stdio botanary -- node "$(pwd)/dist/bin/botanary-mcp.js"
31
+ claude mcp add --transport stdio botanary -- npx -y botanary-mcp
37
32
 
38
33
  # Codex
39
- codex mcp add botanary -- node "$(pwd)/dist/bin/botanary-mcp.js"
34
+ codex mcp add botanary -- npx -y botanary-mcp
40
35
  ```
41
36
 
42
37
  The server talks to `https://api.app.botanary.xyz` by default. Point it somewhere else with
@@ -45,7 +40,7 @@ The server talks to `https://api.app.botanary.xyz` by default. Point it somewher
45
40
  ```bash
46
41
  claude mcp add --transport stdio botanary \
47
42
  -e BOTANARY_API_URL=http://localhost:3000 \
48
- -- node "$(pwd)/dist/bin/botanary-mcp.js"
43
+ -- npx -y botanary-mcp
49
44
  ```
50
45
 
51
46
  Cursor has no CLI equivalent - add this block to `.cursor/mcp.json` (project) or `~/.cursor/mcp.json`
@@ -55,8 +50,25 @@ Cursor has no CLI equivalent - add this block to `.cursor/mcp.json` (project) or
55
50
  {
56
51
  "mcpServers": {
57
52
  "botanary": {
58
- "command": "node",
59
- "args": ["/absolute/path/to/tools/botanary-mcp/dist/bin/botanary-mcp.js"]
53
+ "command": "npx",
54
+ "args": ["-y", "botanary-mcp"]
55
+ }
56
+ }
57
+ }
58
+ ```
59
+
60
+ Claude Desktop is likewise config-file only - add this block to
61
+ `~/Library/Application Support/Claude/claude_desktop_config.json` (create it if it does not exist yet):
62
+
63
+ ```json
64
+ {
65
+ "mcpServers": {
66
+ "botanary": {
67
+ "command": "npx",
68
+ "args": ["-y", "botanary-mcp"],
69
+ "env": {
70
+ "BOTANARY_API_URL": "https://api.app.botanary.xyz"
71
+ }
60
72
  }
61
73
  }
62
74
  }
@@ -161,7 +173,7 @@ Two more things worth knowing:
161
173
  ### Deleting the key on its own machine
162
174
 
163
175
  ```bash
164
- node dist/bin/botanary-mcp.js forget
176
+ npx -y botanary-mcp forget
165
177
  ```
166
178
 
167
179
  This deletes the private key from wherever it's stored (every backend candidate is swept, not just the
@@ -182,11 +194,15 @@ part of its normal work) can silence - "forget your Botanary identity" is exactl
182
194
  instruction a prompt injection would try, and a tool that honored it would hand an attacker a free,
183
195
  untraceable way to sever a working connection. There is no legitimate reason an AGENT (as opposed to the
184
196
  human running it) would ever need to delete its own key mid-session, so `forget` stays a command the
185
- human runs directly (`node dist/bin/botanary-mcp.js forget`), never something `tools.ts` exposes -
197
+ human runs directly (`npx -y botanary-mcp forget`), never something `tools.ts` exposes -
186
198
  `test/tools.spec.ts` and `test/server.spec.ts` both assert no tool named `forget` exists.
187
199
 
188
200
  ## Development
189
201
 
202
+ The commands below are for working on this package's own source in a checkout of this repo - not for
203
+ installing it as a user. If you just want to connect an agent, use "Add it to your agent" above; you
204
+ don't need any of this.
205
+
190
206
  ```bash
191
207
  pnpm install # installs deps and builds dist/ (the "prepare" script)
192
208
  pnpm build # rebuild dist/ by hand
package/dist/src/tools.js CHANGED
@@ -42,7 +42,31 @@ export function deriveAppOrigin(apiBaseUrl) {
42
42
  }
43
43
  return PROD_APP_ORIGIN;
44
44
  }
45
- function pairingView(pairing, identity, apiBaseUrl) {
45
+ /**
46
+ * Get the pairing code AND register it, because a code the backend has never heard of is not a pairing
47
+ * code - it is a string that makes the owner's app say "Pairing failed. Check the code and try again."
48
+ *
49
+ * Minting (`runtime.pairingCode()`) is purely local. Registering (`runtime.pair()`) signs a proof over
50
+ * the code and POSTs it to `/v1/agents/pair`, which is the only thing that lets the owner's claim find
51
+ * it. Splitting those across two tools meant the obvious request - "show me your pairing code" - handed
52
+ * back something that could not work, and neither side said why. So the showing tool registers too.
53
+ *
54
+ * `runtime.pair()` returns the SAME code `pairingCode()` would (it calls it internally), so this stays
55
+ * idempotent: repeated calls re-register one code rather than churning through new ones.
56
+ *
57
+ * FAILS SOFT: if the backend is unreachable we still return the code, flagged `registered: false`, and
58
+ * `pairingView` tells the agent to say so - better than throwing, which would leave the user with no
59
+ * code and no explanation, and better than silently handing over one that will be rejected.
60
+ */
61
+ async function registerPairing(runtime) {
62
+ try {
63
+ return { ...(await runtime.pair()), registered: true };
64
+ }
65
+ catch {
66
+ return { ...(await runtime.pairingCode()), registered: false };
67
+ }
68
+ }
69
+ function pairingView(pairing, identity, apiBaseUrl, registered = true) {
46
70
  const pairingUrl = `${deriveAppOrigin(apiBaseUrl)}/mandates?pair=${pairing.code}`;
47
71
  return {
48
72
  code: pairing.code,
@@ -50,9 +74,14 @@ function pairingView(pairing, identity, apiBaseUrl) {
50
74
  fingerprint: pairing.fingerprint,
51
75
  issuedAt: pairing.issuedAt,
52
76
  expiresAt: pairing.expiresAt,
77
+ registered,
53
78
  pairingUrl,
54
- instructions: 'In Botanary, open Connected agents and enter this code, then give the agent a name - or open ' +
55
- `${pairingUrl} to go straight there with the code already filled in.`,
79
+ instructions: registered
80
+ ? 'In Botanary, open Connected agents and enter this code, then give the agent a name - or open ' +
81
+ `${pairingUrl} to go straight there with the code already filled in.`
82
+ : 'This code could NOT be registered with Botanary just now (the backend was unreachable), so ' +
83
+ 'entering it in the app will fail with "Pairing failed" until registration succeeds. Tell the ' +
84
+ 'user that, and try again rather than sending them off to type a code that cannot work.',
56
85
  };
57
86
  }
58
87
  /** Plain-English rendering of `GET /agents/me`'s `grant` field - built entirely from backend-reported
@@ -116,8 +145,14 @@ export function createTools(runtime) {
116
145
  'this machine, so intercepting the code alone grants nothing (see the package README).',
117
146
  inputSchema: emptySchema(),
118
147
  run: async () => {
119
- const [pairing, identity] = await Promise.all([runtime.pairingCode(), runtime.identity()]);
120
- return text(pairingView(pairing, identity, runtime.apiBaseUrl));
148
+ // SEQUENTIAL, not Promise.all. Both of these can trigger first-time identity creation, and
149
+ // racing them let two creations interleave - the second overwriting the first's metadata, so the
150
+ // stored address no longer matched the key that had just been saved. It surfaced as an
151
+ // intermittently unregistered pairing code (~1 run in 5, only under parallel test load, and
152
+ // silent because registration fails soft). Identity first, then register against it.
153
+ const identity = await runtime.identity();
154
+ const pairing = await registerPairing(runtime);
155
+ return text(pairingView(pairing, identity, runtime.apiBaseUrl, pairing.registered));
121
156
  },
122
157
  },
123
158
  {
@@ -128,8 +163,11 @@ export function createTools(runtime) {
128
163
  'before it would otherwise expire on its own.',
129
164
  inputSchema: emptySchema(),
130
165
  run: async () => {
131
- const [pairing, identity] = await Promise.all([runtime.regeneratePairingCode(), runtime.identity()]);
132
- return text(pairingView(pairing, identity, runtime.apiBaseUrl));
166
+ // Sequential for the same reason as get_pairing_code above.
167
+ const identity = await runtime.identity();
168
+ await runtime.regeneratePairingCode();
169
+ const pairing = await registerPairing(runtime);
170
+ return text(pairingView(pairing, identity, runtime.apiBaseUrl, pairing.registered));
133
171
  },
134
172
  },
135
173
  {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"AAuBA,SAAS,IAAI,CAAC,KAAc;IAC1B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACnH,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,YAAY,CAAC,QAAuB;IAC3C,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,QAAQ,CAAC,OAAO;KAC7B,CAAC;AACJ,CAAC;AAED;yDACyD;AACzD,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD;;;;;;;;;qCASqC;AACrC,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1F,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,OAAO,CAAC;IACjD,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,eAAe,CAAC,OAAqB;IAClD,IAAI,CAAC;QACH,OAAO,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACjE,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,OAAoB,EACpB,QAAuB,EACvB,UAAkB,EAClB,UAAU,GAAG,IAAI;IAEjB,MAAM,UAAU,GAAG,GAAG,eAAe,CAAC,UAAU,CAAC,kBAAkB,OAAO,CAAC,IAAI,EAAE,CAAC;IAClF,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU;QACV,UAAU;QACV,YAAY,EAAE,UAAU;YACtB,CAAC,CAAC,+FAA+F;gBAC/F,GAAG,UAAU,wDAAwD;YACvE,CAAC,CAAC,6FAA6F;gBAC7F,+FAA+F;gBAC/F,wFAAwF;KAC7F,CAAC;AACJ,CAAC;AAED;;sEAEsE;AACtE,SAAS,aAAa,CAAC,IAAe;IACpC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CACL,2FAA2F;YAC3F,mGAAmG;YACnG,iEAAiE,IAAI,CAAC,OAAO,oBAAoB;YACjG,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IACrB,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,iBAAiB,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SACrH,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,iBAAiB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACjG,CAAC;AAED;;yGAEyG;AACzG,SAAS,eAAe,CAAC,KAAqB,EAAE,WAAmB;IACjE,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACjH,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CAAC,OAAqB;IAC/C,OAAO;QACL;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,8FAA8F;gBAC9F,+FAA+F;gBAC/F,gGAAgG;gBAChG,iGAAiG;gBACjG,iGAAiG;gBACjG,+BAA+B;YACjC,WAAW,EAAE,WAAW,EAAE;YAC1B,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC9D;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACT,gGAAgG;gBAChG,2FAA2F;gBAC3F,gGAAgG;gBAChG,+FAA+F;gBAC/F,iGAAiG;gBACjG,iGAAiG;gBACjG,uFAAuF;YACzF,WAAW,EAAE,WAAW,EAAE;YAC1B,GAAG,EAAE,KAAK,IAAI,EAAE;gBACd,2FAA2F;gBAC3F,iGAAiG;gBACjG,uFAAuF;gBACvF,4FAA4F;gBAC5F,qFAAqF;gBACrF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YACtF,CAAC;SACF;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,WAAW,EACT,iGAAiG;gBACjG,mFAAmF;gBACnF,gGAAgG;gBAChG,8CAA8C;YAChD,WAAW,EAAE,WAAW,EAAE;YAC1B,GAAG,EAAE,KAAK,IAAI,EAAE;gBACd,4DAA4D;gBAC5D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC1C,MAAM,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YACtF,CAAC;SACF;QACD;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EACT,8GAA8G;gBAC9G,gHAAgH;gBAChH,oHAAoH;gBACpH,wCAAwC;YAC1C,WAAW,EAAE,WAAW,EAAE;YAC1B,GAAG,EAAE,KAAK,IAAI,EAAE;gBACd,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAClE,CAAC;SACF;QACD;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,iGAAiG;gBACjG,gGAAgG;gBAChG,2FAA2F;gBAC3F,kCAAkC;YACpC,WAAW,EAAE,WAAW,EAAE;YAC1B,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,EAAE,EAAE,CAAC;SAC1C;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EACT,0FAA0F;gBAC1F,+FAA+F;gBAC/F,qFAAqF;YACvF,WAAW,EAAE,WAAW,EAAE;YAC1B,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;SAClD;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,WAAW,EACT,uFAAuF;gBACvF,iGAAiG;gBACjG,yFAAyF;gBACzF,6FAA6F;gBAC7F,kGAAkG;gBAClG,iGAAiG;gBACjG,6FAA6F;gBAC7F,gGAAgG;gBAChG,6FAA6F;gBAC7F,kEAAkE;YACpE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;oBACvE,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oFAAoF;qBAClG;oBACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;oBAC1E,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yDAAyD,EAAE;iBACpG;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC;aAC5D;YACD,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAClB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAErC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAChB,OAAO,IAAI,CAAC;wBACV,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,6BAA6B;qBAC7D,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzB,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC;wBACV,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,kBAAkB;wBAC1B,OAAO,EACL,kBAAkB,KAAK,CAAC,MAAM,0DAA0D;4BACxF,gEAAgE;qBACnE,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC;wBACV,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,aAAa;wBACrB,OAAO,EACL,0BAA0B,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,KAAK,gBAAgB,OAAO,YAAY;4BAC1F,qFAAqF;qBACxF,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAClD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,IAAI,CAAC;wBACV,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,oBAAoB;wBAC5B,OAAO,EACL,gCAAgC,WAAW,qBAAqB;4BAChE,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,gBAAgB;4BAC1F,8CAA8C;qBACjD,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;oBAC7B,OAAO,IAAI,CAAC;wBACV,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,aAAa;wBACrB,OAAO,EACL,kBAAkB,KAAK,CAAC,SAAS,IAAI,WAAW,kBAAkB,KAAK,CAAC,KAAK,WAAW;4BACxF,GAAG,MAAM,IAAI,WAAW,oEAAoE;4BAC5F,6CAA6C;qBAChD,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;gBAClD,IAAI,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,IAAI,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;oBAC1H,OAAO,IAAI,CAAC;wBACV,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,qBAAqB;wBAC7B,OAAO,EACL,sCAAsC,YAAY,CAAC,MAAM,IAAI,WAAW,KAAK,MAAM,GAAG;4BACtF,sEAAsE;qBACzE,CAAC,CAAC;gBACL,CAAC;gBAED,+FAA+F;gBAC/F,gGAAgG;gBAChG,kGAAkG;gBAClG,kGAAkG;gBAClG,oFAAoF;gBACpF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC;oBAC/C,YAAY,EAAE,KAAK,CAAC,EAAE;oBACtB,SAAS;oBACT,MAAM;oBACN,KAAK,EAAE,WAAW;iBACnB,CAAC,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,eAAe,CACzC,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,YAAY,EAClB,KAAK,EACL,KAAK,CAAC,UAAU,CACjB,CAAC;gBACF,OAAO,IAAI,CAAC;oBACV,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;SACF;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACT,yFAAyF;gBACzF,kGAAkG;gBAClG,iGAAiG;gBACjG,iGAAiG;gBACjG,yEAAyE;YAC3E,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;gCACnE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;gCACrF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;gCAC/F,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;6BACzF;4BACD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC;yBAC7C;wBACD,WAAW,EAAE,uFAAuF;qBACrG;oBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qEAAqE,EAAE;iBAC/G;gBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;aAC9B;YACD,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAClB,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAuB,CAAC;gBAClF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnC,OAAO,IAAI,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YACzD,CAAC;SACF;QACD;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EACT,iGAAiG;gBACjG,kGAAkG;gBAClG,kGAAkG;gBAClG,4EAA4E;YAC9E,WAAW,EAAE,WAAW,EAAE;YAC1B,GAAG,EAAE,KAAK,IAAI,EAAE;gBACd,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC;oBACV,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;oBAC5E,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC;iBAC7B,CAAC,CAAC;YACL,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,18 +1,10 @@
1
1
  {
2
2
  "name": "botanary-mcp",
3
3
  "type": "module",
4
- "version": "0.1.0",
4
+ "version": "0.1.2",
5
5
  "description": "Botanary's agent connector: a local MCP server that lets an outside coding agent (Claude Code, Codex, Cursor, or a custom build) generate its own signing key, keep it in the OS keychain, pair with a Botanary account, read its balance, and spend under whatever grant its owner gave it - refusing honestly, never fabricating success, the moment it has none.",
6
6
  "license": "UNLICENSED",
7
- "repository": {
8
- "type": "git",
9
- "url": "git+https://github.com/MorcaLabs/botanary-be.git",
10
- "directory": "tools/botanary-mcp"
11
- },
12
- "homepage": "https://github.com/MorcaLabs/botanary-be/tree/main/tools/botanary-mcp#readme",
13
- "bugs": {
14
- "url": "https://github.com/MorcaLabs/botanary-be/issues"
15
- },
7
+ "homepage": "https://docs.botanary.xyz",
16
8
  "keywords": [
17
9
  "mcp",
18
10
  "model-context-protocol",