@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dobbyai/mcp-external",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "mcpName": "io.github.gil-dobby/dobby",
5
5
  "description": "MCP Server for Dobby AI Platform - Connect from Claude Desktop, Cursor, Windsurf, and more",
6
6
  "type": "module",
@@ -35,11 +35,12 @@
35
35
  "author": "Dobby AI Platform",
36
36
  "license": "MIT",
37
37
  "dependencies": {
38
+ "@dobbyai/capability-core": "^0.1.8",
38
39
  "@modelcontextprotocol/sdk": "^1.26.0",
39
40
  "commander": "^12.0.0",
40
41
  "cors": "^2.8.5",
41
- "dotenv": "^16.4.0",
42
- "express": "^4.21.0",
42
+ "dotenv": "^17.4.2",
43
+ "express": "^5.2.1",
43
44
  "inquirer": "^9.2.0",
44
45
  "node-fetch": "^3.3.0",
45
46
  "zod": "^3.22.0"
@@ -49,10 +50,10 @@
49
50
  "@types/express": "^5.0.0",
50
51
  "@types/inquirer": "^9.0.0",
51
52
  "@types/node": "^20.0.0",
52
- "shx": "^0.3.4",
53
+ "shx": "^0.4.0",
53
54
  "tsx": "^4.7.0",
54
- "typescript": "^5.3.0",
55
- "vitest": "^1.2.0"
55
+ "typescript": "^6.0.3",
56
+ "vitest": "^4.1.8"
56
57
  },
57
58
  "engines": {
58
59
  "node": ">=18.0.0"
@@ -1,144 +0,0 @@
1
- /**
2
- * Knowledge Base Tools
3
- *
4
- * MCP tools for searching and browsing the tenant's knowledge base.
5
- * Enables Claude Desktop / Cursor users to access organizational knowledge.
6
- *
7
- * Tools:
8
- * - search_knowledge_base: Semantic search over indexed documents
9
- * - list_knowledge_documents: List all indexed documents
10
- * - get_knowledge_document: Get document details and chunks
11
- */
12
- import { DobbyClient } from '../lib/dobby-client.js';
13
- export declare const knowledgeBaseTools: {
14
- search_knowledge_base: {
15
- name: string;
16
- description: string;
17
- inputSchema: {
18
- type: "object";
19
- properties: {
20
- query: {
21
- type: string;
22
- description: string;
23
- };
24
- top_k: {
25
- type: string;
26
- description: string;
27
- };
28
- min_similarity: {
29
- type: string;
30
- description: string;
31
- };
32
- };
33
- required: string[];
34
- };
35
- };
36
- list_knowledge_documents: {
37
- name: string;
38
- description: string;
39
- inputSchema: {
40
- type: "object";
41
- properties: {
42
- status: {
43
- type: string;
44
- enum: string[];
45
- description: string;
46
- };
47
- limit: {
48
- type: string;
49
- description: string;
50
- };
51
- };
52
- };
53
- };
54
- get_knowledge_document: {
55
- name: string;
56
- description: string;
57
- inputSchema: {
58
- type: "object";
59
- properties: {
60
- document_id: {
61
- type: string;
62
- description: string;
63
- };
64
- };
65
- required: string[];
66
- };
67
- };
68
- };
69
- export declare function handleSearchKnowledgeBase(client: DobbyClient, args: {
70
- query: string;
71
- top_k?: number;
72
- min_similarity?: number;
73
- }): Promise<{
74
- error: any;
75
- message?: undefined;
76
- query?: undefined;
77
- total_chunks_searched?: undefined;
78
- results?: undefined;
79
- query_id?: undefined;
80
- latency_ms?: undefined;
81
- } | {
82
- message: string;
83
- query: string;
84
- total_chunks_searched: any;
85
- error?: undefined;
86
- results?: undefined;
87
- query_id?: undefined;
88
- latency_ms?: undefined;
89
- } | {
90
- results: any;
91
- query_id: any;
92
- latency_ms: any;
93
- total_chunks_searched: any;
94
- error?: undefined;
95
- message?: undefined;
96
- query?: undefined;
97
- }>;
98
- export declare function handleListKnowledgeDocuments(client: DobbyClient, args: {
99
- status?: string;
100
- limit?: number;
101
- }): Promise<{
102
- error: any;
103
- message?: undefined;
104
- documents?: undefined;
105
- total?: undefined;
106
- } | {
107
- message: string;
108
- error?: undefined;
109
- documents?: undefined;
110
- total?: undefined;
111
- } | {
112
- documents: any;
113
- total: any;
114
- error?: undefined;
115
- message?: undefined;
116
- }>;
117
- export declare function handleGetKnowledgeDocument(client: DobbyClient, args: {
118
- document_id: string;
119
- }): Promise<{
120
- error: any;
121
- id?: undefined;
122
- title?: undefined;
123
- type?: undefined;
124
- status?: undefined;
125
- source?: undefined;
126
- chunks?: undefined;
127
- tokens?: undefined;
128
- size_bytes?: undefined;
129
- created?: undefined;
130
- indexed?: undefined;
131
- } | {
132
- id: any;
133
- title: any;
134
- type: any;
135
- status: any;
136
- source: any;
137
- chunks: any;
138
- tokens: any;
139
- size_bytes: any;
140
- created: any;
141
- indexed: any;
142
- error: any;
143
- }>;
144
- //# sourceMappingURL=knowledge-base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"knowledge-base.d.ts","sourceRoot":"","sources":["../../src/tools/knowledge-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAMrD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyD9B,CAAC;AAMF,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;GA2CjE;AAED,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;GA2C1C;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;GAiC9B"}
@@ -1,179 +0,0 @@
1
- /**
2
- * Knowledge Base Tools
3
- *
4
- * MCP tools for searching and browsing the tenant's knowledge base.
5
- * Enables Claude Desktop / Cursor users to access organizational knowledge.
6
- *
7
- * Tools:
8
- * - search_knowledge_base: Semantic search over indexed documents
9
- * - list_knowledge_documents: List all indexed documents
10
- * - get_knowledge_document: Get document details and chunks
11
- */
12
- // ============================================
13
- // Tool Definitions
14
- // ============================================
15
- export const knowledgeBaseTools = {
16
- search_knowledge_base: {
17
- name: 'search_knowledge_base',
18
- description: 'Search the organization\'s knowledge base using semantic search. Returns relevant document chunks ranked by similarity. Use this to find coding conventions, architecture decisions, security policies, or any organizational knowledge before starting a task.',
19
- inputSchema: {
20
- type: 'object',
21
- properties: {
22
- query: {
23
- type: 'string',
24
- description: 'Natural language search query (e.g., "API naming conventions", "database migration process", "security requirements")',
25
- },
26
- top_k: {
27
- type: 'number',
28
- description: 'Maximum results to return (default: 5, max: 20)',
29
- },
30
- min_similarity: {
31
- type: 'number',
32
- description: 'Minimum similarity threshold 0-1 (default: 0.7). Lower values return more results.',
33
- },
34
- },
35
- required: ['query'],
36
- },
37
- },
38
- list_knowledge_documents: {
39
- name: 'list_knowledge_documents',
40
- description: 'List all indexed documents in the organization\'s knowledge base. Shows document titles, types, status, and chunk counts.',
41
- inputSchema: {
42
- type: 'object',
43
- properties: {
44
- status: {
45
- type: 'string',
46
- enum: ['indexed', 'pending', 'processing', 'failed'],
47
- description: 'Filter by document status (default: all)',
48
- },
49
- limit: {
50
- type: 'number',
51
- description: 'Maximum documents to return (default: 20)',
52
- },
53
- },
54
- },
55
- },
56
- get_knowledge_document: {
57
- name: 'get_knowledge_document',
58
- description: 'Get detailed information about a specific document in the knowledge base, including its metadata and chunk count.',
59
- inputSchema: {
60
- type: 'object',
61
- properties: {
62
- document_id: {
63
- type: 'string',
64
- description: 'The document ID (e.g., "doc_abc123...")',
65
- },
66
- },
67
- required: ['document_id'],
68
- },
69
- },
70
- };
71
- // ============================================
72
- // Handlers
73
- // ============================================
74
- export async function handleSearchKnowledgeBase(client, args) {
75
- const tenantId = client.tenantId;
76
- if (!tenantId) {
77
- return { error: 'No tenant context. Set tenant_id in MCP configuration.' };
78
- }
79
- try {
80
- const response = await client.post(`/api/v1/tenants/${tenantId}/knowledge/search`, {
81
- query: args.query,
82
- top_k: args.top_k ?? 5,
83
- min_similarity: args.min_similarity ?? 0.7,
84
- });
85
- if (!response.success) {
86
- return { error: response.error || 'Search failed' };
87
- }
88
- const data = response.data;
89
- const results = data.results || [];
90
- if (results.length === 0) {
91
- return {
92
- message: 'No matching documents found.',
93
- query: args.query,
94
- total_chunks_searched: data.total_chunks_searched || 0,
95
- };
96
- }
97
- return {
98
- results: results.map((r) => ({
99
- document: r.document_title,
100
- content: r.content,
101
- similarity: `${(r.similarity * 100).toFixed(1)}%`,
102
- chunk_index: r.chunk_index,
103
- })),
104
- query_id: data.query_id,
105
- latency_ms: data.latency_ms,
106
- total_chunks_searched: data.total_chunks_searched,
107
- };
108
- }
109
- catch (error) {
110
- return { error: `Knowledge search failed: ${error.message}` };
111
- }
112
- }
113
- export async function handleListKnowledgeDocuments(client, args) {
114
- const tenantId = client.tenantId;
115
- if (!tenantId) {
116
- return { error: 'No tenant context. Set tenant_id in MCP configuration.' };
117
- }
118
- try {
119
- const params = new URLSearchParams();
120
- if (args.status)
121
- params.set('status', args.status);
122
- params.set('limit', String(args.limit ?? 20));
123
- const response = await client.get(`/api/v1/tenants/${tenantId}/knowledge/documents?${params.toString()}`);
124
- if (!response.success) {
125
- return { error: response.error || 'Failed to list documents' };
126
- }
127
- const data = response.data;
128
- const docs = data.documents || [];
129
- if (docs.length === 0) {
130
- return { message: 'No documents in knowledge base. Upload documents via the Dobby dashboard.' };
131
- }
132
- return {
133
- documents: docs.map((d) => ({
134
- id: d.document_id,
135
- title: d.title,
136
- type: d.mime_type,
137
- status: d.status,
138
- chunks: d.chunk_count,
139
- tokens: d.total_tokens,
140
- size: d.file_size_bytes,
141
- created: d.created_at,
142
- })),
143
- total: data.total,
144
- };
145
- }
146
- catch (error) {
147
- return { error: `Failed to list documents: ${error.message}` };
148
- }
149
- }
150
- export async function handleGetKnowledgeDocument(client, args) {
151
- const tenantId = client.tenantId;
152
- if (!tenantId) {
153
- return { error: 'No tenant context. Set tenant_id in MCP configuration.' };
154
- }
155
- try {
156
- const response = await client.get(`/api/v1/tenants/${tenantId}/knowledge/documents/${args.document_id}`);
157
- if (!response.success) {
158
- return { error: response.error || 'Document not found' };
159
- }
160
- const doc = response.data;
161
- return {
162
- id: doc.document_id,
163
- title: doc.title,
164
- type: doc.mime_type,
165
- status: doc.status,
166
- source: doc.source_type,
167
- chunks: doc.chunk_count,
168
- tokens: doc.total_tokens,
169
- size_bytes: doc.file_size_bytes,
170
- created: doc.created_at,
171
- indexed: doc.indexed_at,
172
- error: doc.error_message || undefined,
173
- };
174
- }
175
- catch (error) {
176
- return { error: `Failed to get document: ${error.message}` };
177
- }
178
- }
179
- //# sourceMappingURL=knowledge-base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"knowledge-base.js","sourceRoot":"","sources":["../../src/tools/knowledge-base.ts"],"names":[],"mappings":"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"}