@dobbyai/mcp-external 1.1.0 → 1.2.0

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.
Files changed (289) hide show
  1. package/README.md +44 -14
  2. package/dist/__tests__/agent-mail-tools.test.js +19 -26
  3. package/dist/__tests__/agent-mail-tools.test.js.map +1 -1
  4. package/dist/__tests__/auth.test.js +50 -5
  5. package/dist/__tests__/auth.test.js.map +1 -1
  6. package/dist/__tests__/doctor.test.d.ts +16 -0
  7. package/dist/__tests__/doctor.test.d.ts.map +1 -0
  8. package/dist/__tests__/doctor.test.js +258 -0
  9. package/dist/__tests__/doctor.test.js.map +1 -0
  10. package/dist/__tests__/external-agents-tools.test.d.ts +11 -0
  11. package/dist/__tests__/external-agents-tools.test.d.ts.map +1 -0
  12. package/dist/__tests__/external-agents-tools.test.js +619 -0
  13. package/dist/__tests__/external-agents-tools.test.js.map +1 -0
  14. package/dist/__tests__/gateway-bearer.test.d.ts +12 -0
  15. package/dist/__tests__/gateway-bearer.test.d.ts.map +1 -0
  16. package/dist/__tests__/gateway-bearer.test.js +112 -0
  17. package/dist/__tests__/gateway-bearer.test.js.map +1 -0
  18. package/dist/__tests__/gateway-key-resolver.test.d.ts +10 -0
  19. package/dist/__tests__/gateway-key-resolver.test.d.ts.map +1 -0
  20. package/dist/__tests__/gateway-key-resolver.test.js +125 -0
  21. package/dist/__tests__/gateway-key-resolver.test.js.map +1 -0
  22. package/dist/__tests__/http-concurrency.test.d.ts +20 -0
  23. package/dist/__tests__/http-concurrency.test.d.ts.map +1 -0
  24. package/dist/__tests__/http-concurrency.test.js +254 -0
  25. package/dist/__tests__/http-concurrency.test.js.map +1 -0
  26. package/dist/__tests__/integration/protocol.test.js +14 -8
  27. package/dist/__tests__/integration/protocol.test.js.map +1 -1
  28. package/dist/__tests__/mcp-integrations.test.js +20 -30
  29. package/dist/__tests__/mcp-integrations.test.js.map +1 -1
  30. package/dist/__tests__/memory-graph-tools.test.js +27 -38
  31. package/dist/__tests__/memory-graph-tools.test.js.map +1 -1
  32. package/dist/__tests__/registry-dispatch.test.d.ts +11 -0
  33. package/dist/__tests__/registry-dispatch.test.d.ts.map +1 -0
  34. package/dist/__tests__/registry-dispatch.test.js +30 -0
  35. package/dist/__tests__/registry-dispatch.test.js.map +1 -0
  36. package/dist/__tests__/registry-listing-parity.test.d.ts +2 -0
  37. package/dist/__tests__/registry-listing-parity.test.d.ts.map +1 -0
  38. package/dist/__tests__/registry-listing-parity.test.js +89 -0
  39. package/dist/__tests__/registry-listing-parity.test.js.map +1 -0
  40. package/dist/__tests__/role-cap.test.d.ts +2 -0
  41. package/dist/__tests__/role-cap.test.d.ts.map +1 -0
  42. package/dist/__tests__/role-cap.test.js +113 -0
  43. package/dist/__tests__/role-cap.test.js.map +1 -0
  44. package/dist/__tests__/schedule-tools.test.js +15 -20
  45. package/dist/__tests__/schedule-tools.test.js.map +1 -1
  46. package/dist/__tests__/server-gateway-key.test.d.ts +18 -0
  47. package/dist/__tests__/server-gateway-key.test.d.ts.map +1 -0
  48. package/dist/__tests__/server-gateway-key.test.js +148 -0
  49. package/dist/__tests__/server-gateway-key.test.js.map +1 -0
  50. package/dist/__tests__/server-user-scoped.test.d.ts +34 -0
  51. package/dist/__tests__/server-user-scoped.test.d.ts.map +1 -0
  52. package/dist/__tests__/server-user-scoped.test.js +577 -0
  53. package/dist/__tests__/server-user-scoped.test.js.map +1 -0
  54. package/dist/__tests__/task-id-pattern.test.d.ts +12 -0
  55. package/dist/__tests__/task-id-pattern.test.d.ts.map +1 -0
  56. package/dist/__tests__/task-id-pattern.test.js +43 -0
  57. package/dist/__tests__/task-id-pattern.test.js.map +1 -0
  58. package/dist/__tests__/tiers.test.js +152 -56
  59. package/dist/__tests__/tiers.test.js.map +1 -1
  60. package/dist/__tests__/tools/hosted-agents.test.d.ts +9 -0
  61. package/dist/__tests__/tools/hosted-agents.test.d.ts.map +1 -0
  62. package/dist/__tests__/tools/hosted-agents.test.js +301 -0
  63. package/dist/__tests__/tools/hosted-agents.test.js.map +1 -0
  64. package/dist/__tests__/tools/llm-providers.test.d.ts +10 -0
  65. package/dist/__tests__/tools/llm-providers.test.d.ts.map +1 -0
  66. package/dist/__tests__/tools/llm-providers.test.js +105 -0
  67. package/dist/__tests__/tools/llm-providers.test.js.map +1 -0
  68. package/dist/__tests__/tools/services.test.js +139 -98
  69. package/dist/__tests__/tools/services.test.js.map +1 -1
  70. package/dist/__tests__/tools.test.js +24 -15
  71. package/dist/__tests__/tools.test.js.map +1 -1
  72. package/dist/__tests__/transport.test.js +365 -23
  73. package/dist/__tests__/transport.test.js.map +1 -1
  74. package/dist/__tests__/validate-credentials.test.d.ts +9 -0
  75. package/dist/__tests__/validate-credentials.test.d.ts.map +1 -0
  76. package/dist/__tests__/validate-credentials.test.js +172 -0
  77. package/dist/__tests__/validate-credentials.test.js.map +1 -0
  78. package/dist/__tests__/web-eval-tools.test.js +21 -32
  79. package/dist/__tests__/web-eval-tools.test.js.map +1 -1
  80. package/dist/__tests__/whoami.test.d.ts +11 -0
  81. package/dist/__tests__/whoami.test.d.ts.map +1 -0
  82. package/dist/__tests__/whoami.test.js +194 -0
  83. package/dist/__tests__/whoami.test.js.map +1 -0
  84. package/dist/__tests__/workflow-tools.test.js +20 -27
  85. package/dist/__tests__/workflow-tools.test.js.map +1 -1
  86. package/dist/__tests__/workloads.test.d.ts +9 -0
  87. package/dist/__tests__/workloads.test.d.ts.map +1 -0
  88. package/dist/__tests__/workloads.test.js +169 -0
  89. package/dist/__tests__/workloads.test.js.map +1 -0
  90. package/dist/auth/token-verifier.d.ts +11 -6
  91. package/dist/auth/token-verifier.d.ts.map +1 -1
  92. package/dist/auth/token-verifier.js +41 -19
  93. package/dist/auth/token-verifier.js.map +1 -1
  94. package/dist/connectors/claude-desktop.d.ts.map +1 -1
  95. package/dist/connectors/claude-desktop.js +3 -2
  96. package/dist/connectors/claude-desktop.js.map +1 -1
  97. package/dist/connectors/cursor.d.ts.map +1 -1
  98. package/dist/connectors/cursor.js +3 -2
  99. package/dist/connectors/cursor.js.map +1 -1
  100. package/dist/connectors/setup.d.ts.map +1 -1
  101. package/dist/connectors/setup.js +2 -1
  102. package/dist/connectors/setup.js.map +1 -1
  103. package/dist/connectors/vscode.d.ts.map +1 -1
  104. package/dist/connectors/vscode.js +3 -2
  105. package/dist/connectors/vscode.js.map +1 -1
  106. package/dist/connectors/windsurf.d.ts.map +1 -1
  107. package/dist/connectors/windsurf.js +3 -2
  108. package/dist/connectors/windsurf.js.map +1 -1
  109. package/dist/doctor.d.ts +34 -0
  110. package/dist/doctor.d.ts.map +1 -0
  111. package/dist/doctor.js +134 -0
  112. package/dist/doctor.js.map +1 -0
  113. package/dist/http-server.d.ts +24 -3
  114. package/dist/http-server.d.ts.map +1 -1
  115. package/dist/http-server.js +342 -62
  116. package/dist/http-server.js.map +1 -1
  117. package/dist/index.d.ts +5 -1
  118. package/dist/index.d.ts.map +1 -1
  119. package/dist/index.js +72 -208
  120. package/dist/index.js.map +1 -1
  121. package/dist/lib/consts.d.ts +21 -0
  122. package/dist/lib/consts.d.ts.map +1 -0
  123. package/dist/lib/consts.js +30 -0
  124. package/dist/lib/consts.js.map +1 -0
  125. package/dist/lib/dobby-client.d.ts +50 -23
  126. package/dist/lib/dobby-client.d.ts.map +1 -1
  127. package/dist/lib/dobby-client.js +105 -54
  128. package/dist/lib/dobby-client.js.map +1 -1
  129. package/dist/lib/gateway-key-resolver.d.ts +38 -0
  130. package/dist/lib/gateway-key-resolver.d.ts.map +1 -0
  131. package/dist/lib/gateway-key-resolver.js +59 -0
  132. package/dist/lib/gateway-key-resolver.js.map +1 -0
  133. package/dist/lib/log.d.ts +25 -0
  134. package/dist/lib/log.d.ts.map +1 -0
  135. package/dist/lib/log.js +36 -0
  136. package/dist/lib/log.js.map +1 -0
  137. package/dist/server.d.ts +175 -0
  138. package/dist/server.d.ts.map +1 -0
  139. package/dist/server.js +1017 -0
  140. package/dist/server.js.map +1 -0
  141. package/dist/tools/agent-mail.d.ts +0 -41
  142. package/dist/tools/agent-mail.d.ts.map +1 -1
  143. package/dist/tools/agent-mail.js +0 -222
  144. package/dist/tools/agent-mail.js.map +1 -1
  145. package/dist/tools/agent-versions.d.ts +93 -0
  146. package/dist/tools/agent-versions.d.ts.map +1 -0
  147. package/dist/tools/agent-versions.js +99 -0
  148. package/dist/tools/agent-versions.js.map +1 -0
  149. package/dist/tools/approvals.d.ts +0 -34
  150. package/dist/tools/approvals.d.ts.map +1 -1
  151. package/dist/tools/approvals.js +0 -81
  152. package/dist/tools/approvals.js.map +1 -1
  153. package/dist/tools/claude-code-sync.d.ts +40 -0
  154. package/dist/tools/claude-code-sync.d.ts.map +1 -0
  155. package/dist/tools/claude-code-sync.js +52 -0
  156. package/dist/tools/claude-code-sync.js.map +1 -0
  157. package/dist/tools/control-plane.d.ts +118 -0
  158. package/dist/tools/control-plane.d.ts.map +1 -0
  159. package/dist/tools/control-plane.js +135 -0
  160. package/dist/tools/control-plane.js.map +1 -0
  161. package/dist/tools/crew-builder.d.ts +0 -66
  162. package/dist/tools/crew-builder.d.ts.map +1 -1
  163. package/dist/tools/crew-builder.js +0 -185
  164. package/dist/tools/crew-builder.js.map +1 -1
  165. package/dist/tools/crewai.d.ts +0 -63
  166. package/dist/tools/crewai.d.ts.map +1 -1
  167. package/dist/tools/crewai.js +0 -145
  168. package/dist/tools/crewai.js.map +1 -1
  169. package/dist/tools/exa.d.ts +0 -35
  170. package/dist/tools/exa.d.ts.map +1 -1
  171. package/dist/tools/exa.js +0 -103
  172. package/dist/tools/exa.js.map +1 -1
  173. package/dist/tools/external-agents.d.ts +440 -0
  174. package/dist/tools/external-agents.d.ts.map +1 -0
  175. package/dist/tools/external-agents.js +386 -0
  176. package/dist/tools/external-agents.js.map +1 -0
  177. package/dist/tools/github-mcp.d.ts +0 -75
  178. package/dist/tools/github-mcp.d.ts.map +1 -1
  179. package/dist/tools/github-mcp.js +0 -162
  180. package/dist/tools/github-mcp.js.map +1 -1
  181. package/dist/tools/governance.d.ts +162 -18
  182. package/dist/tools/governance.d.ts.map +1 -1
  183. package/dist/tools/governance.js +208 -93
  184. package/dist/tools/governance.js.map +1 -1
  185. package/dist/tools/hosted-agents.d.ts +216 -0
  186. package/dist/tools/hosted-agents.d.ts.map +1 -0
  187. package/dist/tools/hosted-agents.js +214 -0
  188. package/dist/tools/hosted-agents.js.map +1 -0
  189. package/dist/tools/index.d.ts +3933 -1219
  190. package/dist/tools/index.d.ts.map +1 -1
  191. package/dist/tools/index.js +412 -393
  192. package/dist/tools/index.js.map +1 -1
  193. package/dist/tools/jira.d.ts +0 -176
  194. package/dist/tools/jira.d.ts.map +1 -1
  195. package/dist/tools/jira.js +0 -365
  196. package/dist/tools/jira.js.map +1 -1
  197. package/dist/tools/llm-providers.d.ts +50 -0
  198. package/dist/tools/llm-providers.d.ts.map +1 -0
  199. package/dist/tools/llm-providers.js +41 -0
  200. package/dist/tools/llm-providers.js.map +1 -0
  201. package/dist/tools/mcp-metrics.d.ts +0 -15
  202. package/dist/tools/mcp-metrics.d.ts.map +1 -1
  203. package/dist/tools/mcp-metrics.js +0 -217
  204. package/dist/tools/mcp-metrics.js.map +1 -1
  205. package/dist/tools/mcp-tools.d.ts +0 -29
  206. package/dist/tools/mcp-tools.d.ts.map +1 -1
  207. package/dist/tools/mcp-tools.js +0 -131
  208. package/dist/tools/mcp-tools.js.map +1 -1
  209. package/dist/tools/mem0.d.ts +0 -41
  210. package/dist/tools/mem0.d.ts.map +1 -1
  211. package/dist/tools/mem0.js +65 -165
  212. package/dist/tools/mem0.js.map +1 -1
  213. package/dist/tools/memory-graph.d.ts +0 -46
  214. package/dist/tools/memory-graph.d.ts.map +1 -1
  215. package/dist/tools/memory-graph.js +0 -386
  216. package/dist/tools/memory-graph.js.map +1 -1
  217. package/dist/tools/memory-stores.d.ts +141 -0
  218. package/dist/tools/memory-stores.d.ts.map +1 -0
  219. package/dist/tools/memory-stores.js +147 -0
  220. package/dist/tools/memory-stores.js.map +1 -0
  221. package/dist/tools/messages.d.ts +0 -20
  222. package/dist/tools/messages.d.ts.map +1 -1
  223. package/dist/tools/messages.js +0 -49
  224. package/dist/tools/messages.js.map +1 -1
  225. package/dist/tools/moltbook.d.ts +0 -236
  226. package/dist/tools/moltbook.d.ts.map +1 -1
  227. package/dist/tools/moltbook.js +0 -458
  228. package/dist/tools/moltbook.js.map +1 -1
  229. package/dist/tools/monitoring-attribution.d.ts +71 -0
  230. package/dist/tools/monitoring-attribution.d.ts.map +1 -0
  231. package/dist/tools/monitoring-attribution.js +74 -0
  232. package/dist/tools/monitoring-attribution.js.map +1 -0
  233. package/dist/tools/ops.d.ts +0 -80
  234. package/dist/tools/ops.d.ts.map +1 -1
  235. package/dist/tools/ops.js +0 -209
  236. package/dist/tools/ops.js.map +1 -1
  237. package/dist/tools/orchestrations.d.ts +109 -0
  238. package/dist/tools/orchestrations.d.ts.map +1 -0
  239. package/dist/tools/orchestrations.js +115 -0
  240. package/dist/tools/orchestrations.js.map +1 -0
  241. package/dist/tools/outcomes.d.ts +138 -0
  242. package/dist/tools/outcomes.d.ts.map +1 -0
  243. package/dist/tools/outcomes.js +136 -0
  244. package/dist/tools/outcomes.js.map +1 -0
  245. package/dist/tools/schedules.d.ts +0 -47
  246. package/dist/tools/schedules.d.ts.map +1 -1
  247. package/dist/tools/schedules.js +0 -109
  248. package/dist/tools/schedules.js.map +1 -1
  249. package/dist/tools/services.d.ts +0 -16
  250. package/dist/tools/services.d.ts.map +1 -1
  251. package/dist/tools/services.js +0 -135
  252. package/dist/tools/services.js.map +1 -1
  253. package/dist/tools/sessions.d.ts +124 -0
  254. package/dist/tools/sessions.d.ts.map +1 -0
  255. package/dist/tools/sessions.js +130 -0
  256. package/dist/tools/sessions.js.map +1 -0
  257. package/dist/tools/setup-status.d.ts +29 -0
  258. package/dist/tools/setup-status.d.ts.map +1 -0
  259. package/dist/tools/setup-status.js +35 -0
  260. package/dist/tools/setup-status.js.map +1 -0
  261. package/dist/tools/tasks.d.ts +0 -57
  262. package/dist/tools/tasks.d.ts.map +1 -1
  263. package/dist/tools/tasks.js +8 -217
  264. package/dist/tools/tasks.js.map +1 -1
  265. package/dist/tools/tiers.d.ts +23 -7
  266. package/dist/tools/tiers.d.ts.map +1 -1
  267. package/dist/tools/tiers.js +180 -79
  268. package/dist/tools/tiers.js.map +1 -1
  269. package/dist/tools/unified-agents.d.ts +0 -19
  270. package/dist/tools/unified-agents.d.ts.map +1 -1
  271. package/dist/tools/unified-agents.js +2 -103
  272. package/dist/tools/unified-agents.js.map +1 -1
  273. package/dist/tools/web-eval.d.ts +0 -43
  274. package/dist/tools/web-eval.d.ts.map +1 -1
  275. package/dist/tools/web-eval.js +0 -211
  276. package/dist/tools/web-eval.js.map +1 -1
  277. package/dist/tools/workflow.d.ts +0 -66
  278. package/dist/tools/workflow.d.ts.map +1 -1
  279. package/dist/tools/workflow.js +2 -409
  280. package/dist/tools/workflow.js.map +1 -1
  281. package/dist/tools/workloads.d.ts +81 -0
  282. package/dist/tools/workloads.d.ts.map +1 -0
  283. package/dist/tools/workloads.js +81 -0
  284. package/dist/tools/workloads.js.map +1 -0
  285. package/package.json +7 -6
  286. package/dist/tools/knowledge-base.d.ts +0 -144
  287. package/dist/tools/knowledge-base.d.ts.map +0 -1
  288. package/dist/tools/knowledge-base.js +0 -179
  289. package/dist/tools/knowledge-base.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Dobby MCP Server
3
+ * Dobby MCP Server — CLI entry point
4
4
  *
5
5
  * Model Context Protocol server for Dobby AI Platform.
6
6
  * Enables access from Claude Desktop, Cursor, Windsurf, and other MCP clients.
@@ -9,17 +9,18 @@
9
9
  * npx @dobbyai/mcp-external # STDIO mode (default)
10
10
  * npx @dobbyai/mcp-external --transport http # HTTP mode
11
11
  * npx @dobbyai/mcp-external --setup # Interactive setup
12
+ *
13
+ * The server factory (handler registration, tier enforcement) lives in
14
+ * server.ts — this file only parses the CLI and starts the transport.
15
+ * Importing THIS module runs main(); tests import server.ts instead.
12
16
  */
13
- import { Server } from '@modelcontextprotocol/sdk/server/index.js';
14
- import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
15
- import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
16
- import { Command } from 'commander';
17
- import dotenv from 'dotenv';
18
- import { createDobbyClient, DobbyClient } from './lib/dobby-client.js';
19
- import { getToolDefinitions, handleToolCall } from './tools/index.js';
20
- import { resourceDefinitions, resourceTemplates, handleResourceRead } from './resources/index.js';
21
- import { promptDefinitions, handlePromptGet } from './prompts/index.js';
22
- import { startHttpServer } from './http-server.js';
17
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
18
+ import { Command } from "commander";
19
+ import dotenv from "dotenv";
20
+ import { createDobbyClient } from "./lib/dobby-client.js";
21
+ import { createServer, resolveGatewayKey } from "./server.js";
22
+ import { startHttpServer } from "./http-server.js";
23
+ import { log, useStderrSink } from "./lib/log.js";
23
24
  // Load environment variables
24
25
  dotenv.config();
25
26
  // ============================================
@@ -27,205 +28,60 @@ dotenv.config();
27
28
  // ============================================
28
29
  const program = new Command();
29
30
  program
30
- .name('dobby-mcp')
31
- .description('Dobby MCP Server - Connect to Dobby from any MCP client')
32
- .version('1.0.0')
33
- .option('-t, --transport <type>', 'Transport type: stdio or http', 'stdio')
34
- .option('-p, --port <number>', 'HTTP server port (for http transport)', '8080')
35
- .option('--api-url <url>', 'Dobby API URL', process.env.DOBBY_API_URL)
36
- .option('--api-key <key>', 'Dobby API Key', process.env.DOBBY_API_KEY)
37
- .option('--tenant-id <id>', 'Dobby Tenant ID', process.env.DOBBY_TENANT_ID)
38
- .option('--gateway-key <key>', 'Gateway API Key (gk_* format)', process.env.DOBBY_GATEWAY_KEY)
39
- .option('--gateway-url <url>', 'Gateway API URL (defaults to API URL)', process.env.DOBBY_GATEWAY_URL)
40
- .option('--setup', 'Run interactive setup')
31
+ .name("dobby-mcp")
32
+ .description("Dobby MCP Server - Connect to Dobby from any MCP client")
33
+ .version("1.2.0")
34
+ .option("-t, --transport <type>", "Transport type: stdio or http", "stdio")
35
+ .option("-p, --port <number>", "HTTP server port (for http transport)", "8080")
36
+ .option("--api-url <url>", "Dobby API URL", process.env.DOBBY_API_URL)
37
+ .option("--api-key <key>", "Dobby API Key", process.env.DOBBY_API_KEY)
38
+ .option("--tenant-id <id>", "Dobby Tenant ID", process.env.DOBBY_TENANT_ID)
39
+ .option("--gateway-key <key>", "Gateway API Key (gk_* format)", process.env.DOBBY_GATEWAY_KEY)
40
+ .option("--gateway-url <url>", "Gateway API URL (defaults to API URL)", process.env.DOBBY_GATEWAY_URL)
41
+ .option("--setup", "Run interactive setup")
42
+ .option("--doctor", "Run a connection/credential preflight and exit")
41
43
  .parse();
42
44
  const options = program.opts();
43
45
  // ============================================
44
- // Gateway Key Resolution
45
- // ============================================
46
- /**
47
- * Resolve the gateway key to use for auth + audit logging.
48
- * Priority: explicit DOBBY_GATEWAY_KEY > auto-detect gk_* in DOBBY_API_KEY > undefined (disabled)
49
- */
50
- function resolveGatewayKey(opts) {
51
- if (opts.gatewayKey)
52
- return opts.gatewayKey;
53
- if (opts.apiKey && opts.apiKey.startsWith('gk_'))
54
- return opts.apiKey;
55
- return undefined;
56
- }
57
- /**
58
- * Create an MCP Server with all handlers registered.
59
- *
60
- * In STDIO mode: tenant context comes from env vars (DOBBY_TENANT_ID, DOBBY_API_KEY).
61
- * In HTTP mode: tenant context comes from OAuth token (extra.authInfo.extra.tenant_id).
62
- * The DobbyClient is created lazily per-request in HTTP mode.
63
- */
64
- async function createServer(opts = { mode: 'stdio' }) {
65
- const apiUrl = options.apiUrl || process.env.DOBBY_API_URL || 'https://dobby-ai.com';
66
- // In STDIO mode, create a shared client from env vars
67
- let stdioClient;
68
- if (opts.mode === 'stdio') {
69
- stdioClient = createDobbyClient({
70
- apiUrl: options.apiUrl,
71
- apiKey: options.apiKey,
72
- tenantId: options.tenantId,
73
- });
74
- }
75
- // Create MCP server
76
- const server = new Server({
77
- name: 'dobby-mcp-server',
78
- version: '1.1.0',
79
- }, {
80
- capabilities: {
81
- tools: {},
82
- resources: {},
83
- prompts: {},
84
- },
85
- });
86
- // STDIO user context
87
- const userContext = {
88
- userId: process.env.DOBBY_USER_ID || 'mcp-user',
89
- userName: process.env.DOBBY_USER_NAME || 'MCP User',
90
- };
91
- // STDIO gateway auth context
92
- const gatewayKey = resolveGatewayKey({
93
- gatewayKey: options.gatewayKey,
94
- apiKey: options.apiKey,
95
- });
96
- const gatewayUrl = options.gatewayUrl || apiUrl;
97
- // ============================================
98
- // Tools Handler
99
- // ============================================
100
- server.setRequestHandler(ListToolsRequestSchema, async (_request, extra) => {
101
- // In HTTP mode, could filter by tier based on auth scopes
102
- // For now, return all tools with annotations
103
- return {
104
- tools: getToolDefinitions('enterprise'),
105
- };
106
- });
107
- server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
108
- const { name, arguments: args } = request.params;
109
- try {
110
- let client;
111
- let userId;
112
- let userName;
113
- let tenantId;
114
- let region;
115
- let gwKey;
116
- let gwUrl;
117
- if (opts.mode === 'http' && extra.authInfo) {
118
- // HTTP mode — resolve context from OAuth token
119
- const tokenExtra = extra.authInfo.extra;
120
- const tokenTenantId = tokenExtra?.tenant_id;
121
- const tokenOrgId = tokenExtra?.org_id;
122
- const tokenUserId = tokenExtra?.user_id || 'oauth-user';
123
- if (!tokenTenantId) {
124
- return {
125
- content: [{ type: 'text', text: 'Error: OAuth token missing tenant_id' }],
126
- isError: true,
127
- };
128
- }
129
- // Create per-request client using the OAuth access token as the API key
130
- client = new DobbyClient({
131
- apiUrl,
132
- apiKey: extra.authInfo.token,
133
- tenantId: tokenTenantId,
134
- });
135
- userId = tokenUserId;
136
- userName = 'OAuth User';
137
- tenantId = tokenTenantId;
138
- region = undefined; // resolved by web app from tenant
139
- gwKey = extra.authInfo.token; // use OAuth token for gateway auth
140
- gwUrl = apiUrl;
141
- }
142
- else {
143
- // STDIO mode — use env vars
144
- client = stdioClient;
145
- userId = userContext.userId;
146
- userName = userContext.userName;
147
- tenantId = client.tenantId;
148
- region = process.env.DOBBY_REGION;
149
- gwKey = gatewayKey;
150
- gwUrl = gatewayUrl;
151
- }
152
- const result = await handleToolCall(name, args || {}, {
153
- client,
154
- userId,
155
- userName,
156
- gatewayKey: gwKey,
157
- gatewayUrl: gwUrl,
158
- tenantId,
159
- region,
160
- });
161
- return result;
162
- }
163
- catch (error) {
164
- return {
165
- content: [
166
- {
167
- type: 'text',
168
- text: `Error: ${error.message}`,
169
- },
170
- ],
171
- isError: true,
172
- };
173
- }
174
- });
175
- // ============================================
176
- // Resources Handler
177
- // ============================================
178
- server.setRequestHandler(ListResourcesRequestSchema, async () => {
179
- return {
180
- resources: resourceDefinitions,
181
- resourceTemplates: resourceTemplates,
182
- };
183
- });
184
- server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
185
- const { uri } = request.params;
186
- const client = stdioClient || new DobbyClient({ apiUrl, apiKey: '', tenantId: '' });
187
- try {
188
- return await handleResourceRead(uri, client);
189
- }
190
- catch (error) {
191
- throw new Error(`Failed to read resource ${uri}: ${error.message}`);
192
- }
193
- });
194
- // ============================================
195
- // Prompts Handler
196
- // ============================================
197
- server.setRequestHandler(ListPromptsRequestSchema, async () => {
198
- return {
199
- prompts: promptDefinitions,
200
- };
201
- });
202
- server.setRequestHandler(GetPromptRequestSchema, async (request) => {
203
- const { name, arguments: args } = request.params;
204
- try {
205
- return handlePromptGet(name, args || {});
206
- }
207
- catch (error) {
208
- throw new Error(`Failed to get prompt ${name}: ${error.message}`);
209
- }
210
- });
211
- return server;
212
- }
213
- // ============================================
214
46
  // Main Entry Point
215
47
  // ============================================
216
48
  async function main() {
217
49
  // Handle setup mode
218
50
  if (options.setup) {
219
- const { runInteractiveSetup } = await import('./connectors/setup.js');
51
+ const { runInteractiveSetup } = await import("./connectors/setup.js");
220
52
  await runInteractiveSetup();
221
53
  return;
222
54
  }
223
- console.error('Starting Dobby MCP Server...');
224
- console.error(`Transport: ${options.transport}`);
55
+ // Preflight: validate credentials + transport, print a diagnosis, then exit
56
+ if (options.doctor) {
57
+ const { runDoctor, formatDoctorReport } = await import("./doctor.js");
58
+ const report = await runDoctor({
59
+ apiUrl: options.apiUrl,
60
+ apiKey: options.apiKey,
61
+ tenantId: options.tenantId,
62
+ gatewayKey: options.gatewayKey,
63
+ transport: options.transport,
64
+ });
65
+ console.log(formatDoctorReport(report));
66
+ process.exit(report.blocked ? 1 : 0);
67
+ }
225
68
  try {
226
- if (options.transport === 'stdio') {
69
+ if (options.transport === "stdio") {
70
+ // STDIO: stdout is the JSON-RPC protocol channel — ALL diagnostics stay
71
+ // on stderr (human-readable; MCP clients surface stderr as server logs).
72
+ // Route any shared log.* call there too so it can never corrupt stdout.
73
+ useStderrSink();
74
+ console.error("Starting Dobby MCP Server...");
75
+ console.error("Transport: stdio");
227
76
  // STDIO transport (for Claude Desktop, Cursor, etc.)
228
- const server = await createServer({ mode: 'stdio' });
77
+ const server = await createServer({
78
+ mode: "stdio",
79
+ apiUrl: options.apiUrl,
80
+ apiKey: options.apiKey,
81
+ tenantId: options.tenantId,
82
+ gatewayKey: options.gatewayKey,
83
+ gatewayUrl: options.gatewayUrl,
84
+ });
229
85
  // Verify connection
230
86
  const client = createDobbyClient({
231
87
  apiUrl: options.apiUrl,
@@ -234,33 +90,41 @@ async function main() {
234
90
  });
235
91
  const healthy = await client.checkHealth();
236
92
  if (!healthy) {
237
- console.error('Warning: Could not connect to Dobby API');
93
+ console.error("Warning: Could not connect to Dobby API");
238
94
  }
239
95
  else {
240
- console.error('Connected to Dobby API');
96
+ console.error("Connected to Dobby API");
241
97
  }
242
98
  // Gateway auth status
243
- const gwKey = resolveGatewayKey({ gatewayKey: options.gatewayKey, apiKey: options.apiKey });
99
+ const gwKey = resolveGatewayKey({
100
+ gatewayKey: options.gatewayKey,
101
+ apiKey: options.apiKey,
102
+ });
244
103
  if (gwKey) {
245
104
  console.error(`Gateway auth enabled (key prefix: ${gwKey.slice(0, 12)}...)`);
246
105
  }
247
106
  else {
248
- console.error('Gateway auth disabled (no gateway key configured)');
107
+ console.error("Gateway auth disabled (no gateway key configured)");
249
108
  }
250
109
  const transport = new StdioServerTransport();
251
110
  await server.connect(transport);
252
- console.error('Dobby MCP Server running on STDIO');
111
+ console.error("Dobby MCP Server running on STDIO");
253
112
  }
254
- else if (options.transport === 'http') {
255
- // HTTP transport (for remote clients via OAuth)
256
- const issuerUrl = process.env.OAUTH_ISSUER_URL || options.apiUrl || 'https://dobby-ai.com';
113
+ else if (options.transport === "http") {
114
+ // HTTP transport (for remote clients via OAuth). Structured JSON on
115
+ // stdout GKE ingests it at the declared severity (the old stderr
116
+ // banner landed at severity ERROR).
117
+ log.info("Starting Dobby MCP Server", { transport: "http" });
118
+ const issuerUrl = process.env.OAUTH_ISSUER_URL ||
119
+ options.apiUrl ||
120
+ "https://dobby-ai.com";
257
121
  const mcpPublicUrl = process.env.MCP_PUBLIC_URL || `http://localhost:${options.port}`;
258
122
  const port = parseInt(options.port, 10);
259
123
  await startHttpServer({
260
124
  port,
261
125
  issuerUrl,
262
126
  mcpPublicUrl,
263
- createMcpServer: () => createServer({ mode: 'http' }),
127
+ createMcpServer: () => createServer({ mode: "http", apiUrl: options.apiUrl }),
264
128
  });
265
129
  }
266
130
  else {
@@ -269,12 +133,12 @@ async function main() {
269
133
  }
270
134
  }
271
135
  catch (error) {
272
- console.error('Failed to start server:', error.message);
136
+ console.error("Failed to start server:", error.message);
273
137
  process.exit(1);
274
138
  }
275
139
  }
276
140
  main().catch((error) => {
277
- console.error('Fatal error:', error);
141
+ console.error("Fatal error:", error);
278
142
  process.exit(1);
279
143
  });
280
144
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Shared constants for the Dobby MCP external server.
3
+ */
4
+ /**
5
+ * Canonical production API host for the Dobby platform.
6
+ * Single source of truth for the default DOBBY_API_URL used by the client
7
+ * and every connector generator, to prevent host drift.
8
+ */
9
+ export declare const DEFAULT_API_URL = "https://dobby-ai.com";
10
+ /**
11
+ * Issued-key prefixes, the single source of truth for classifying a
12
+ * DOBBY_API_KEY / bearer token into what it can do. Reused by the `doctor`
13
+ * preflight and the `whoami` tool so both agree on key semantics.
14
+ */
15
+ export declare const GATEWAY_KEY_PREFIXES: readonly ["gk_user_", "gk_svc_", "gk_tmp_"];
16
+ export declare const TENANT_KEY_PREFIX = "sk_live_";
17
+ export declare const PAT_KEY_PREFIX = "dobby_pat_";
18
+ export type KeyType = "gateway" | "tenant" | "pat" | "unknown" | "none";
19
+ /** Classify an API key / bearer token by prefix into its key family. */
20
+ export declare function classifyKeyType(key: string | undefined | null): KeyType;
21
+ //# sourceMappingURL=consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/lib/consts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe,yBAAyB,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,6CAA8C,CAAC;AAChF,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,cAAc,eAAe,CAAC;AAE3C,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;AAExE,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAMvE"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Shared constants for the Dobby MCP external server.
3
+ */
4
+ /**
5
+ * Canonical production API host for the Dobby platform.
6
+ * Single source of truth for the default DOBBY_API_URL used by the client
7
+ * and every connector generator, to prevent host drift.
8
+ */
9
+ export const DEFAULT_API_URL = "https://dobby-ai.com";
10
+ /**
11
+ * Issued-key prefixes, the single source of truth for classifying a
12
+ * DOBBY_API_KEY / bearer token into what it can do. Reused by the `doctor`
13
+ * preflight and the `whoami` tool so both agree on key semantics.
14
+ */
15
+ export const GATEWAY_KEY_PREFIXES = ["gk_user_", "gk_svc_", "gk_tmp_"];
16
+ export const TENANT_KEY_PREFIX = "sk_live_";
17
+ export const PAT_KEY_PREFIX = "dobby_pat_";
18
+ /** Classify an API key / bearer token by prefix into its key family. */
19
+ export function classifyKeyType(key) {
20
+ if (!key)
21
+ return "none";
22
+ if (GATEWAY_KEY_PREFIXES.some((p) => key.startsWith(p)))
23
+ return "gateway";
24
+ if (key.startsWith(TENANT_KEY_PREFIX))
25
+ return "tenant";
26
+ if (key.startsWith(PAT_KEY_PREFIX))
27
+ return "pat";
28
+ return "unknown";
29
+ }
30
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/lib/consts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAC5C,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAI3C,wEAAwE;AACxE,MAAM,UAAU,eAAe,CAAC,GAA8B;IAC5D,IAAI,CAAC,GAAG;QAAE,OAAO,MAAM,CAAC;IACxB,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1E,IAAI,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAAE,OAAO,QAAQ,CAAC;IACvD,IAAI,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -3,11 +3,23 @@
3
3
  *
4
4
  * Client for communicating with the Dobby API from the MCP server.
5
5
  */
6
- import { z } from 'zod';
6
+ import { z } from "zod";
7
7
  export interface DobbyClientConfig {
8
8
  apiUrl: string;
9
9
  apiKey: string;
10
10
  tenantId: string;
11
+ organizationId?: string;
12
+ /**
13
+ * Static gateway key (gk_*) for gateway-scoped endpoints — STDIO mode
14
+ * (DOBBY_GATEWAY_KEY, or auto-detected when the API key is itself gk_*).
15
+ */
16
+ gatewayKey?: string;
17
+ /**
18
+ * Lazy gateway-key provider — HTTP mode. Resolves a tenant+user-bound
19
+ * gk_tmp_* key server-side from the session token (memoized per session by
20
+ * the caller). Takes precedence over `gatewayKey`.
21
+ */
22
+ getGatewayKey?: () => Promise<string | undefined>;
11
23
  }
12
24
  export declare const TaskSchema: z.ZodObject<{
13
25
  task_id: z.ZodString;
@@ -22,24 +34,24 @@ export declare const TaskSchema: z.ZodObject<{
22
34
  branch_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
35
  result_summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24
36
  }, "strip", z.ZodTypeAny, {
37
+ task_id: string;
25
38
  tenant_id: string;
39
+ title: string;
26
40
  description: string | null;
41
+ status: "pending" | "in_progress" | "completed" | "failed" | "cancelled";
27
42
  priority: "high" | "medium" | "low" | null;
28
- title: string;
29
- status: "completed" | "failed" | "cancelled" | "pending" | "in_progress";
30
- task_id: string;
31
43
  created_at: string;
32
44
  updated_at: string;
33
45
  pr_url?: string | null | undefined;
34
46
  branch_name?: string | null | undefined;
35
47
  result_summary?: string | null | undefined;
36
48
  }, {
49
+ task_id: string;
37
50
  tenant_id: string;
51
+ title: string;
38
52
  description: string | null;
53
+ status: "pending" | "in_progress" | "completed" | "failed" | "cancelled";
39
54
  priority: "high" | "medium" | "low" | null;
40
- title: string;
41
- status: "completed" | "failed" | "cancelled" | "pending" | "in_progress";
42
- task_id: string;
43
55
  created_at: string;
44
56
  updated_at: string;
45
57
  pr_url?: string | null | undefined;
@@ -56,54 +68,54 @@ export declare const MessageSchema: z.ZodObject<{
56
68
  name: z.ZodString;
57
69
  }, "strip", z.ZodTypeAny, {
58
70
  type: "user" | "agent" | "system";
59
- name: string;
60
71
  id: string;
72
+ name: string;
61
73
  }, {
62
74
  type: "user" | "agent" | "system";
63
- name: string;
64
75
  id: string;
76
+ name: string;
65
77
  }>;
66
78
  message: z.ZodObject<{
67
79
  type: z.ZodString;
68
80
  content: z.ZodString;
69
81
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
70
82
  }, "strip", z.ZodTypeAny, {
71
- content: string;
72
83
  type: string;
84
+ content: string;
73
85
  metadata?: Record<string, any> | undefined;
74
86
  }, {
75
- content: string;
76
87
  type: string;
88
+ content: string;
77
89
  metadata?: Record<string, any> | undefined;
78
90
  }>;
79
91
  created_at: z.ZodString;
80
92
  }, "strip", z.ZodTypeAny, {
81
- id: string;
82
93
  task_id: string;
83
94
  message: {
84
- content: string;
85
95
  type: string;
96
+ content: string;
86
97
  metadata?: Record<string, any> | undefined;
87
98
  };
88
99
  created_at: string;
100
+ id: string;
89
101
  sender: {
90
102
  type: "user" | "agent" | "system";
91
- name: string;
92
103
  id: string;
104
+ name: string;
93
105
  };
94
106
  }, {
95
- id: string;
96
107
  task_id: string;
97
108
  message: {
98
- content: string;
99
109
  type: string;
110
+ content: string;
100
111
  metadata?: Record<string, any> | undefined;
101
112
  };
102
113
  created_at: string;
114
+ id: string;
103
115
  sender: {
104
116
  type: "user" | "agent" | "system";
105
- name: string;
106
117
  id: string;
118
+ name: string;
107
119
  };
108
120
  }>;
109
121
  export type Message = z.infer<typeof MessageSchema>;
@@ -117,20 +129,20 @@ export declare const ApprovalSchema: z.ZodObject<{
117
129
  created_at: z.ZodString;
118
130
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
119
131
  }, "strip", z.ZodTypeAny, {
132
+ task_id: string;
120
133
  description: string;
121
134
  status: "pending" | "approved" | "rejected";
122
- id: string;
123
- task_id: string;
124
135
  created_at: string;
136
+ id: string;
125
137
  approval_type: string;
126
138
  requested_by: string;
127
139
  metadata?: Record<string, any> | undefined;
128
140
  }, {
141
+ task_id: string;
129
142
  description: string;
130
143
  status: "pending" | "approved" | "rejected";
131
- id: string;
132
- task_id: string;
133
144
  created_at: string;
145
+ id: string;
134
146
  approval_type: string;
135
147
  requested_by: string;
136
148
  metadata?: Record<string, any> | undefined;
@@ -145,10 +157,25 @@ export declare class DobbyClient {
145
157
  get apiKey(): string;
146
158
  /** Tenant ID for scoped requests */
147
159
  get tenantId(): string;
160
+ /** Organization ID for org-scoped requests (e.g. memory stores) */
161
+ get organizationId(): string | undefined;
162
+ /** Static gateway key (gk_*), if configured — STDIO mode */
163
+ get gatewayKey(): string | undefined;
164
+ /**
165
+ * Bearer credential for GATEWAY-scoped endpoints (routes guarded by
166
+ * authenticateGatewayRequest hard-require a gk_* key — the tenant apiKey is
167
+ * NOT one for OAuth/sk_live_ sessions).
168
+ *
169
+ * Precedence: lazy provider (HTTP mode, resolved server-side from the
170
+ * session token) > static gatewayKey (STDIO) > apiKey (legacy fallback —
171
+ * only works when the API key is itself a gk_*).
172
+ */
173
+ gatewayBearer(): Promise<string>;
148
174
  private fetch;
149
175
  request<T = any>(endpoint: string, options?: RequestInit): Promise<T>;
150
176
  get<T = any>(endpoint: string): Promise<T>;
151
177
  post<T = any>(endpoint: string, body?: unknown): Promise<T>;
178
+ delete<T = any>(endpoint: string): Promise<T>;
152
179
  listTasks(options?: {
153
180
  status?: string;
154
181
  priority?: string;
@@ -159,7 +186,7 @@ export declare class DobbyClient {
159
186
  createTask(data: {
160
187
  title: string;
161
188
  description?: string;
162
- priority?: 'high' | 'medium' | 'low';
189
+ priority?: "high" | "medium" | "low";
163
190
  link_to_task_id?: string;
164
191
  }): Promise<{
165
192
  task_id: string;
@@ -200,7 +227,7 @@ export declare class DobbyClient {
200
227
  message?: string;
201
228
  }>;
202
229
  listServices(options?: {
203
- category?: 'all' | 'llm' | 'mcp_tools' | 'mcp_servers' | 'managed_services';
230
+ category?: "all" | "llm" | "mcp_tools" | "mcp_servers" | "managed_services";
204
231
  }): Promise<any>;
205
232
  createSchedule(data: {
206
233
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dobby-client.d.ts","sourceRoot":"","sources":["../../src/lib/dobby-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dobby-client.d.ts","sourceRoot":"","sources":["../../src/lib/dobby-client.ts"],"names":[],"mappings":"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"}