@mcp-z/mcp-drive 1.0.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 (202) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +163 -0
  3. package/bin/server.js +5 -0
  4. package/dist/cjs/constants.d.cts +7 -0
  5. package/dist/cjs/constants.d.ts +7 -0
  6. package/dist/cjs/constants.js +18 -0
  7. package/dist/cjs/constants.js.map +1 -0
  8. package/dist/cjs/index.d.cts +8 -0
  9. package/dist/cjs/index.d.ts +8 -0
  10. package/dist/cjs/index.js +314 -0
  11. package/dist/cjs/index.js.map +1 -0
  12. package/dist/cjs/lib/create-store.d.cts +2 -0
  13. package/dist/cjs/lib/create-store.d.ts +2 -0
  14. package/dist/cjs/lib/create-store.js +166 -0
  15. package/dist/cjs/lib/create-store.js.map +1 -0
  16. package/dist/cjs/lib/query-builder.d.cts +45 -0
  17. package/dist/cjs/lib/query-builder.d.ts +45 -0
  18. package/dist/cjs/lib/query-builder.js +219 -0
  19. package/dist/cjs/lib/query-builder.js.map +1 -0
  20. package/dist/cjs/mcp/index.d.cts +3 -0
  21. package/dist/cjs/mcp/index.d.ts +3 -0
  22. package/dist/cjs/mcp/index.js +66 -0
  23. package/dist/cjs/mcp/index.js.map +1 -0
  24. package/dist/cjs/mcp/prompts/index.d.cts +2 -0
  25. package/dist/cjs/mcp/prompts/index.d.ts +2 -0
  26. package/dist/cjs/mcp/prompts/index.js +26 -0
  27. package/dist/cjs/mcp/prompts/index.js.map +1 -0
  28. package/dist/cjs/mcp/prompts/organize-files.d.cts +16 -0
  29. package/dist/cjs/mcp/prompts/organize-files.d.ts +16 -0
  30. package/dist/cjs/mcp/prompts/organize-files.js +169 -0
  31. package/dist/cjs/mcp/prompts/organize-files.js.map +1 -0
  32. package/dist/cjs/mcp/prompts/query-syntax.d.cts +19 -0
  33. package/dist/cjs/mcp/prompts/query-syntax.d.ts +19 -0
  34. package/dist/cjs/mcp/prompts/query-syntax.js +169 -0
  35. package/dist/cjs/mcp/prompts/query-syntax.js.map +1 -0
  36. package/dist/cjs/mcp/resources/file.d.cts +9 -0
  37. package/dist/cjs/mcp/resources/file.d.ts +9 -0
  38. package/dist/cjs/mcp/resources/file.js +247 -0
  39. package/dist/cjs/mcp/resources/file.js.map +1 -0
  40. package/dist/cjs/mcp/resources/index.d.cts +1 -0
  41. package/dist/cjs/mcp/resources/index.d.ts +1 -0
  42. package/dist/cjs/mcp/resources/index.js +17 -0
  43. package/dist/cjs/mcp/resources/index.js.map +1 -0
  44. package/dist/cjs/mcp/tools/file-move-to-trash.d.cts +59 -0
  45. package/dist/cjs/mcp/tools/file-move-to-trash.d.ts +59 -0
  46. package/dist/cjs/mcp/tools/file-move-to-trash.js +334 -0
  47. package/dist/cjs/mcp/tools/file-move-to-trash.js.map +1 -0
  48. package/dist/cjs/mcp/tools/file-move.d.cts +73 -0
  49. package/dist/cjs/mcp/tools/file-move.d.ts +73 -0
  50. package/dist/cjs/mcp/tools/file-move.js +613 -0
  51. package/dist/cjs/mcp/tools/file-move.js.map +1 -0
  52. package/dist/cjs/mcp/tools/files-search.d.cts +135 -0
  53. package/dist/cjs/mcp/tools/files-search.d.ts +135 -0
  54. package/dist/cjs/mcp/tools/files-search.js +558 -0
  55. package/dist/cjs/mcp/tools/files-search.js.map +1 -0
  56. package/dist/cjs/mcp/tools/folder-contents.d.cts +139 -0
  57. package/dist/cjs/mcp/tools/folder-contents.d.ts +139 -0
  58. package/dist/cjs/mcp/tools/folder-contents.js +513 -0
  59. package/dist/cjs/mcp/tools/folder-contents.js.map +1 -0
  60. package/dist/cjs/mcp/tools/folder-create.d.cts +59 -0
  61. package/dist/cjs/mcp/tools/folder-create.d.ts +59 -0
  62. package/dist/cjs/mcp/tools/folder-create.js +368 -0
  63. package/dist/cjs/mcp/tools/folder-create.js.map +1 -0
  64. package/dist/cjs/mcp/tools/folder-path.d.cts +49 -0
  65. package/dist/cjs/mcp/tools/folder-path.d.ts +49 -0
  66. package/dist/cjs/mcp/tools/folder-path.js +367 -0
  67. package/dist/cjs/mcp/tools/folder-path.js.map +1 -0
  68. package/dist/cjs/mcp/tools/folder-search.d.cts +139 -0
  69. package/dist/cjs/mcp/tools/folder-search.d.ts +139 -0
  70. package/dist/cjs/mcp/tools/folder-search.js +760 -0
  71. package/dist/cjs/mcp/tools/folder-search.js.map +1 -0
  72. package/dist/cjs/mcp/tools/index.d.cts +7 -0
  73. package/dist/cjs/mcp/tools/index.d.ts +7 -0
  74. package/dist/cjs/mcp/tools/index.js +46 -0
  75. package/dist/cjs/mcp/tools/index.js.map +1 -0
  76. package/dist/cjs/package.json +1 -0
  77. package/dist/cjs/schemas/drive-query-schema.d.cts +40 -0
  78. package/dist/cjs/schemas/drive-query-schema.d.ts +40 -0
  79. package/dist/cjs/schemas/drive-query-schema.js +90 -0
  80. package/dist/cjs/schemas/drive-query-schema.js.map +1 -0
  81. package/dist/cjs/schemas/drive-validation.d.cts +48 -0
  82. package/dist/cjs/schemas/drive-validation.d.ts +48 -0
  83. package/dist/cjs/schemas/drive-validation.js +96 -0
  84. package/dist/cjs/schemas/drive-validation.js.map +1 -0
  85. package/dist/cjs/schemas/index.d.cts +2 -0
  86. package/dist/cjs/schemas/index.d.ts +2 -0
  87. package/dist/cjs/schemas/index.js +20 -0
  88. package/dist/cjs/schemas/index.js.map +1 -0
  89. package/dist/cjs/setup/config.d.cts +44 -0
  90. package/dist/cjs/setup/config.d.ts +44 -0
  91. package/dist/cjs/setup/config.js +201 -0
  92. package/dist/cjs/setup/config.js.map +1 -0
  93. package/dist/cjs/setup/http.d.cts +8 -0
  94. package/dist/cjs/setup/http.d.ts +8 -0
  95. package/dist/cjs/setup/http.js +260 -0
  96. package/dist/cjs/setup/http.js.map +1 -0
  97. package/dist/cjs/setup/index.d.cts +5 -0
  98. package/dist/cjs/setup/index.d.ts +5 -0
  99. package/dist/cjs/setup/index.js +46 -0
  100. package/dist/cjs/setup/index.js.map +1 -0
  101. package/dist/cjs/setup/oauth-google.d.cts +64 -0
  102. package/dist/cjs/setup/oauth-google.d.ts +64 -0
  103. package/dist/cjs/setup/oauth-google.js +347 -0
  104. package/dist/cjs/setup/oauth-google.js.map +1 -0
  105. package/dist/cjs/setup/runtime.d.cts +10 -0
  106. package/dist/cjs/setup/runtime.d.ts +10 -0
  107. package/dist/cjs/setup/runtime.js +353 -0
  108. package/dist/cjs/setup/runtime.js.map +1 -0
  109. package/dist/cjs/setup/stdio.d.cts +7 -0
  110. package/dist/cjs/setup/stdio.d.ts +7 -0
  111. package/dist/cjs/setup/stdio.js +239 -0
  112. package/dist/cjs/setup/stdio.js.map +1 -0
  113. package/dist/cjs/types.d.cts +45 -0
  114. package/dist/cjs/types.d.ts +45 -0
  115. package/dist/cjs/types.js +5 -0
  116. package/dist/cjs/types.js.map +1 -0
  117. package/dist/esm/constants.d.ts +7 -0
  118. package/dist/esm/constants.js +7 -0
  119. package/dist/esm/constants.js.map +1 -0
  120. package/dist/esm/index.d.ts +8 -0
  121. package/dist/esm/index.js +34 -0
  122. package/dist/esm/index.js.map +1 -0
  123. package/dist/esm/lib/create-store.d.ts +2 -0
  124. package/dist/esm/lib/create-store.js +6 -0
  125. package/dist/esm/lib/create-store.js.map +1 -0
  126. package/dist/esm/lib/query-builder.d.ts +45 -0
  127. package/dist/esm/lib/query-builder.js +184 -0
  128. package/dist/esm/lib/query-builder.js.map +1 -0
  129. package/dist/esm/mcp/index.d.ts +3 -0
  130. package/dist/esm/mcp/index.js +6 -0
  131. package/dist/esm/mcp/index.js.map +1 -0
  132. package/dist/esm/mcp/prompts/index.d.ts +2 -0
  133. package/dist/esm/mcp/prompts/index.js +2 -0
  134. package/dist/esm/mcp/prompts/index.js.map +1 -0
  135. package/dist/esm/mcp/prompts/organize-files.d.ts +16 -0
  136. package/dist/esm/mcp/prompts/organize-files.js +21 -0
  137. package/dist/esm/mcp/prompts/organize-files.js.map +1 -0
  138. package/dist/esm/mcp/prompts/query-syntax.d.ts +19 -0
  139. package/dist/esm/mcp/prompts/query-syntax.js +82 -0
  140. package/dist/esm/mcp/prompts/query-syntax.js.map +1 -0
  141. package/dist/esm/mcp/resources/file.d.ts +9 -0
  142. package/dist/esm/mcp/resources/file.js +77 -0
  143. package/dist/esm/mcp/resources/file.js.map +1 -0
  144. package/dist/esm/mcp/resources/index.d.ts +1 -0
  145. package/dist/esm/mcp/resources/index.js +1 -0
  146. package/dist/esm/mcp/resources/index.js.map +1 -0
  147. package/dist/esm/mcp/tools/file-move-to-trash.d.ts +59 -0
  148. package/dist/esm/mcp/tools/file-move-to-trash.js +118 -0
  149. package/dist/esm/mcp/tools/file-move-to-trash.js.map +1 -0
  150. package/dist/esm/mcp/tools/file-move.d.ts +73 -0
  151. package/dist/esm/mcp/tools/file-move.js +274 -0
  152. package/dist/esm/mcp/tools/file-move.js.map +1 -0
  153. package/dist/esm/mcp/tools/files-search.d.ts +135 -0
  154. package/dist/esm/mcp/tools/files-search.js +254 -0
  155. package/dist/esm/mcp/tools/files-search.js.map +1 -0
  156. package/dist/esm/mcp/tools/folder-contents.d.ts +139 -0
  157. package/dist/esm/mcp/tools/folder-contents.js +214 -0
  158. package/dist/esm/mcp/tools/folder-contents.js.map +1 -0
  159. package/dist/esm/mcp/tools/folder-create.d.ts +59 -0
  160. package/dist/esm/mcp/tools/folder-create.js +140 -0
  161. package/dist/esm/mcp/tools/folder-create.js.map +1 -0
  162. package/dist/esm/mcp/tools/folder-path.d.ts +49 -0
  163. package/dist/esm/mcp/tools/folder-path.js +147 -0
  164. package/dist/esm/mcp/tools/folder-path.js.map +1 -0
  165. package/dist/esm/mcp/tools/folder-search.d.ts +139 -0
  166. package/dist/esm/mcp/tools/folder-search.js +343 -0
  167. package/dist/esm/mcp/tools/folder-search.js.map +1 -0
  168. package/dist/esm/mcp/tools/index.d.ts +7 -0
  169. package/dist/esm/mcp/tools/index.js +7 -0
  170. package/dist/esm/mcp/tools/index.js.map +1 -0
  171. package/dist/esm/package.json +1 -0
  172. package/dist/esm/schemas/drive-query-schema.d.ts +40 -0
  173. package/dist/esm/schemas/drive-query-schema.js +84 -0
  174. package/dist/esm/schemas/drive-query-schema.js.map +1 -0
  175. package/dist/esm/schemas/drive-validation.d.ts +48 -0
  176. package/dist/esm/schemas/drive-validation.js +73 -0
  177. package/dist/esm/schemas/drive-validation.js.map +1 -0
  178. package/dist/esm/schemas/index.d.ts +2 -0
  179. package/dist/esm/schemas/index.js +2 -0
  180. package/dist/esm/schemas/index.js.map +1 -0
  181. package/dist/esm/setup/config.d.ts +44 -0
  182. package/dist/esm/setup/config.js +151 -0
  183. package/dist/esm/setup/config.js.map +1 -0
  184. package/dist/esm/setup/http.d.ts +8 -0
  185. package/dist/esm/setup/http.js +54 -0
  186. package/dist/esm/setup/http.js.map +1 -0
  187. package/dist/esm/setup/index.d.ts +5 -0
  188. package/dist/esm/setup/index.js +5 -0
  189. package/dist/esm/setup/index.js.map +1 -0
  190. package/dist/esm/setup/oauth-google.d.ts +64 -0
  191. package/dist/esm/setup/oauth-google.js +168 -0
  192. package/dist/esm/setup/oauth-google.js.map +1 -0
  193. package/dist/esm/setup/runtime.d.ts +10 -0
  194. package/dist/esm/setup/runtime.js +84 -0
  195. package/dist/esm/setup/runtime.js.map +1 -0
  196. package/dist/esm/setup/stdio.d.ts +7 -0
  197. package/dist/esm/setup/stdio.js +38 -0
  198. package/dist/esm/setup/stdio.js.map +1 -0
  199. package/dist/esm/types.d.ts +45 -0
  200. package/dist/esm/types.js +1 -0
  201. package/dist/esm/types.js.map +1 -0
  202. package/package.json +108 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Kevin Malakoff
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,163 @@
1
+ # @mcp-z/mcp-drive
2
+
3
+ Docs: https://mcp-z.github.io/mcp-drive
4
+ Google Drive MCP server for searching files, browsing folders, and managing Drive content.
5
+
6
+ ## Common uses
7
+
8
+ - Search files and folders
9
+ - Browse folder contents and paths
10
+ - Move, create, and trash Drive items
11
+
12
+ ## Transports
13
+
14
+ MCP supports stdio and HTTP.
15
+
16
+ **Stdio**
17
+ ```json
18
+ {
19
+ "mcpServers": {
20
+ "drive": {
21
+ "command": "npx",
22
+ "args": ["-y", "@mcp-z/mcp-drive"]
23
+ }
24
+ }
25
+ }
26
+ ```
27
+
28
+ **HTTP**
29
+ ```json
30
+ {
31
+ "mcpServers": {
32
+ "drive": {
33
+ "type": "http",
34
+ "url": "http://localhost:9001/mcp",
35
+ "start": {
36
+ "command": "npx",
37
+ "args": ["-y", "@mcp-z/mcp-drive", "--port=9001"]
38
+ }
39
+ }
40
+ }
41
+ }
42
+ ```
43
+
44
+ `start` is an extension used by `npx @mcp-z/cli up` to launch HTTP servers for you.
45
+
46
+ ## Create a Google Cloud app
47
+
48
+ 1. Go to [Google Cloud Console](https://console.cloud.google.com/).
49
+ 2. Create or select a project.
50
+ 3. Enable the Google Drive API.
51
+ 4. Create OAuth 2.0 credentials (Desktop app).
52
+ 5. Copy the Client ID and Client Secret.
53
+
54
+ ## OAuth modes
55
+
56
+ Configure via environment variables or the `env` block in `.mcp.json`. See `server.json` for the full list of options.
57
+
58
+ ### Loopback OAuth (default)
59
+
60
+ Environment variables:
61
+
62
+ ```bash
63
+ GOOGLE_CLIENT_ID=your-client-id
64
+ GOOGLE_CLIENT_SECRET=your-client-secret
65
+ ```
66
+
67
+ Example:
68
+ ```json
69
+ {
70
+ "mcpServers": {
71
+ "drive": {
72
+ "command": "npx",
73
+ "args": ["-y", "@mcp-z/mcp-drive"],
74
+ "env": {
75
+ "GOOGLE_CLIENT_ID": "your-client-id",
76
+ "GOOGLE_CLIENT_SECRET": "your-client-secret"
77
+ }
78
+ }
79
+ }
80
+ }
81
+ ```
82
+
83
+ ### Service account
84
+
85
+ Environment variables:
86
+
87
+ ```bash
88
+ AUTH_MODE=service-account
89
+ GOOGLE_SERVICE_ACCOUNT_KEY_FILE=/path/to/service-account.json
90
+ ```
91
+
92
+ Example:
93
+ ```json
94
+ {
95
+ "mcpServers": {
96
+ "drive": {
97
+ "command": "npx",
98
+ "args": ["-y", "@mcp-z/mcp-drive", "--auth=service-account"],
99
+ "env": {
100
+ "GOOGLE_SERVICE_ACCOUNT_KEY_FILE": "/path/to/service-account.json"
101
+ }
102
+ }
103
+ }
104
+ }
105
+ ```
106
+
107
+ ### DCR (self-hosted)
108
+
109
+ HTTP only. Requires a public base URL.
110
+
111
+ ```json
112
+ {
113
+ "mcpServers": {
114
+ "drive-dcr": {
115
+ "command": "npx",
116
+ "args": [
117
+ "-y",
118
+ "@mcp-z/mcp-drive",
119
+ "--auth=dcr",
120
+ "--port=3456",
121
+ "--base-url=https://oauth.example.com"
122
+ ],
123
+ "env": {
124
+ "GOOGLE_CLIENT_ID": "your-client-id",
125
+ "GOOGLE_CLIENT_SECRET": "your-client-secret"
126
+ }
127
+ }
128
+ }
129
+ }
130
+ ```
131
+
132
+ ## How to use
133
+
134
+ ```bash
135
+ # List tools
136
+ mcp-z inspect --servers drive --tools
137
+
138
+ # Call a tool
139
+ mcp-z call drive files-search '{"query":"name contains \\\"report\\\""}'
140
+ ```
141
+
142
+ ## Tools
143
+
144
+ 1. file-move
145
+ 2. file-move-to-trash
146
+ 3. files-search
147
+ 4. folder-contents
148
+ 5. folder-create
149
+ 6. folder-path
150
+ 7. folder-search
151
+
152
+ ## Resources
153
+
154
+ 1. file
155
+
156
+ ## Prompts
157
+
158
+ 1. organize-files
159
+ 2. query-syntax
160
+
161
+ ## Configuration reference
162
+
163
+ See `server.json` for all supported environment variables, CLI arguments, and defaults.
package/bin/server.js ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+
3
+ // biome-ignore lint/security/noGlobalEval: dual esm and cjs
4
+ if (typeof require === 'undefined') eval("import('../dist/esm/index.js').then((cli) => cli.default(process.argv.slice(2), 'mcp-drive')).catch((err) => { console.log(err); process.exit(-1); });");
5
+ else require('../dist/cjs/index.js')(process.argv.slice(2), 'mcp-drive');
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Drive MCP Server Constants
3
+ *
4
+ * These scopes are required for Google Drive functionality and are hardcoded
5
+ * rather than externally configured since this server knows its own requirements.
6
+ */
7
+ export declare const GOOGLE_SCOPE = "openid https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/drive";
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Drive MCP Server Constants
3
+ *
4
+ * These scopes are required for Google Drive functionality and are hardcoded
5
+ * rather than externally configured since this server knows its own requirements.
6
+ */
7
+ export declare const GOOGLE_SCOPE = "openid https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/drive";
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Drive MCP Server Constants
3
+ *
4
+ * These scopes are required for Google Drive functionality and are hardcoded
5
+ * rather than externally configured since this server knows its own requirements.
6
+ */ // Google OAuth scopes required for Drive operations
7
+ "use strict";
8
+ Object.defineProperty(exports, "__esModule", {
9
+ value: true
10
+ });
11
+ Object.defineProperty(exports, "GOOGLE_SCOPE", {
12
+ enumerable: true,
13
+ get: function() {
14
+ return GOOGLE_SCOPE;
15
+ }
16
+ });
17
+ var GOOGLE_SCOPE = 'openid https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/drive';
18
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/Projects/ai/mcp-z/servers/mcp-drive/src/constants.ts"],"sourcesContent":["/**\n * Drive MCP Server Constants\n *\n * These scopes are required for Google Drive functionality and are hardcoded\n * rather than externally configured since this server knows its own requirements.\n */\n\n// Google OAuth scopes required for Drive operations\nexport const GOOGLE_SCOPE = 'openid https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/drive';\n"],"names":["GOOGLE_SCOPE"],"mappings":"AAAA;;;;;CAKC,GAED,oDAAoD;;;;;+BACvCA;;;eAAAA;;;AAAN,IAAMA,eAAe"}
@@ -0,0 +1,8 @@
1
+ import type { ServerConfig } from './types.js';
2
+ export { GOOGLE_SCOPE } from './constants.js';
3
+ export * as mcp from './mcp/index.js';
4
+ export * as schemas from './schemas/index.js';
5
+ export * as setup from './setup/index.js';
6
+ export * from './types.js';
7
+ export declare function startServer(config: ServerConfig): Promise<void>;
8
+ export default function main(): Promise<void>;
@@ -0,0 +1,8 @@
1
+ import type { ServerConfig } from './types.js';
2
+ export { GOOGLE_SCOPE } from './constants.js';
3
+ export * as mcp from './mcp/index.js';
4
+ export * as schemas from './schemas/index.js';
5
+ export * as setup from './setup/index.js';
6
+ export * from './types.js';
7
+ export declare function startServer(config: ServerConfig): Promise<void>;
8
+ export default function main(): Promise<void>;
@@ -0,0 +1,314 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get GOOGLE_SCOPE () {
13
+ return _constantsts.GOOGLE_SCOPE;
14
+ },
15
+ get default () {
16
+ return main;
17
+ },
18
+ get mcp () {
19
+ return _index;
20
+ },
21
+ get schemas () {
22
+ return _index1;
23
+ },
24
+ get setup () {
25
+ return _index2;
26
+ },
27
+ get startServer () {
28
+ return startServer;
29
+ }
30
+ });
31
+ var _config = require("./setup/config.js");
32
+ var _http = require("./setup/http.js");
33
+ var _stdio = require("./setup/stdio.js");
34
+ var _constantsts = require("./constants.js");
35
+ var _index = /*#__PURE__*/ _interop_require_wildcard(require("./mcp/index.js"));
36
+ var _index1 = /*#__PURE__*/ _interop_require_wildcard(require("./schemas/index.js"));
37
+ var _index2 = /*#__PURE__*/ _interop_require_wildcard(require("./setup/index.js"));
38
+ _export_star(require("./types.js"), exports);
39
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
40
+ try {
41
+ var info = gen[key](arg);
42
+ var value = info.value;
43
+ } catch (error) {
44
+ reject(error);
45
+ return;
46
+ }
47
+ if (info.done) {
48
+ resolve(value);
49
+ } else {
50
+ Promise.resolve(value).then(_next, _throw);
51
+ }
52
+ }
53
+ function _async_to_generator(fn) {
54
+ return function() {
55
+ var self = this, args = arguments;
56
+ return new Promise(function(resolve, reject) {
57
+ var gen = fn.apply(self, args);
58
+ function _next(value) {
59
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
60
+ }
61
+ function _throw(err) {
62
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
63
+ }
64
+ _next(undefined);
65
+ });
66
+ };
67
+ }
68
+ function _export_star(from, to) {
69
+ Object.keys(from).forEach(function(k) {
70
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
71
+ Object.defineProperty(to, k, {
72
+ enumerable: true,
73
+ get: function() {
74
+ return from[k];
75
+ }
76
+ });
77
+ }
78
+ });
79
+ return from;
80
+ }
81
+ function _getRequireWildcardCache(nodeInterop) {
82
+ if (typeof WeakMap !== "function") return null;
83
+ var cacheBabelInterop = new WeakMap();
84
+ var cacheNodeInterop = new WeakMap();
85
+ return (_getRequireWildcardCache = function(nodeInterop) {
86
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
87
+ })(nodeInterop);
88
+ }
89
+ function _interop_require_wildcard(obj, nodeInterop) {
90
+ if (!nodeInterop && obj && obj.__esModule) {
91
+ return obj;
92
+ }
93
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
94
+ return {
95
+ default: obj
96
+ };
97
+ }
98
+ var cache = _getRequireWildcardCache(nodeInterop);
99
+ if (cache && cache.has(obj)) {
100
+ return cache.get(obj);
101
+ }
102
+ var newObj = {
103
+ __proto__: null
104
+ };
105
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
106
+ for(var key in obj){
107
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
108
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
109
+ if (desc && (desc.get || desc.set)) {
110
+ Object.defineProperty(newObj, key, desc);
111
+ } else {
112
+ newObj[key] = obj[key];
113
+ }
114
+ }
115
+ }
116
+ newObj.default = obj;
117
+ if (cache) {
118
+ cache.set(obj, newObj);
119
+ }
120
+ return newObj;
121
+ }
122
+ function _ts_generator(thisArg, body) {
123
+ var f, y, t, _ = {
124
+ label: 0,
125
+ sent: function() {
126
+ if (t[0] & 1) throw t[1];
127
+ return t[1];
128
+ },
129
+ trys: [],
130
+ ops: []
131
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
132
+ return d(g, "next", {
133
+ value: verb(0)
134
+ }), d(g, "throw", {
135
+ value: verb(1)
136
+ }), d(g, "return", {
137
+ value: verb(2)
138
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
139
+ value: function() {
140
+ return this;
141
+ }
142
+ }), g;
143
+ function verb(n) {
144
+ return function(v) {
145
+ return step([
146
+ n,
147
+ v
148
+ ]);
149
+ };
150
+ }
151
+ function step(op) {
152
+ if (f) throw new TypeError("Generator is already executing.");
153
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
154
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
155
+ if (y = 0, t) op = [
156
+ op[0] & 2,
157
+ t.value
158
+ ];
159
+ switch(op[0]){
160
+ case 0:
161
+ case 1:
162
+ t = op;
163
+ break;
164
+ case 4:
165
+ _.label++;
166
+ return {
167
+ value: op[1],
168
+ done: false
169
+ };
170
+ case 5:
171
+ _.label++;
172
+ y = op[1];
173
+ op = [
174
+ 0
175
+ ];
176
+ continue;
177
+ case 7:
178
+ op = _.ops.pop();
179
+ _.trys.pop();
180
+ continue;
181
+ default:
182
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
183
+ _ = 0;
184
+ continue;
185
+ }
186
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
187
+ _.label = op[1];
188
+ break;
189
+ }
190
+ if (op[0] === 6 && _.label < t[1]) {
191
+ _.label = t[1];
192
+ t = op;
193
+ break;
194
+ }
195
+ if (t && _.label < t[2]) {
196
+ _.label = t[2];
197
+ _.ops.push(op);
198
+ break;
199
+ }
200
+ if (t[2]) _.ops.pop();
201
+ _.trys.pop();
202
+ continue;
203
+ }
204
+ op = body.call(thisArg, _);
205
+ } catch (e) {
206
+ op = [
207
+ 6,
208
+ e
209
+ ];
210
+ y = 0;
211
+ } finally{
212
+ f = t = 0;
213
+ }
214
+ if (op[0] & 5) throw op[1];
215
+ return {
216
+ value: op[0] ? op[1] : void 0,
217
+ done: true
218
+ };
219
+ }
220
+ }
221
+ function startServer(config) {
222
+ return _async_to_generator(function() {
223
+ var _ref, logger, close, _tmp;
224
+ return _ts_generator(this, function(_state) {
225
+ switch(_state.label){
226
+ case 0:
227
+ if (!(config.transport.type === 'stdio')) return [
228
+ 3,
229
+ 2
230
+ ];
231
+ return [
232
+ 4,
233
+ (0, _stdio.createStdioServer)(config)
234
+ ];
235
+ case 1:
236
+ _tmp = _state.sent();
237
+ return [
238
+ 3,
239
+ 4
240
+ ];
241
+ case 2:
242
+ return [
243
+ 4,
244
+ (0, _http.createHTTPServer)(config)
245
+ ];
246
+ case 3:
247
+ _tmp = _state.sent();
248
+ _state.label = 4;
249
+ case 4:
250
+ _ref = _tmp, logger = _ref.logger, close = _ref.close;
251
+ process.on('SIGINT', function() {
252
+ return _async_to_generator(function() {
253
+ return _ts_generator(this, function(_state) {
254
+ switch(_state.label){
255
+ case 0:
256
+ return [
257
+ 4,
258
+ close()
259
+ ];
260
+ case 1:
261
+ _state.sent();
262
+ process.exit(0);
263
+ return [
264
+ 2
265
+ ];
266
+ }
267
+ });
268
+ })();
269
+ });
270
+ logger.info("Server started with ".concat(config.transport.type, " transport"));
271
+ return [
272
+ 4,
273
+ new Promise(function() {})
274
+ ];
275
+ case 5:
276
+ _state.sent();
277
+ return [
278
+ 2
279
+ ];
280
+ }
281
+ });
282
+ })();
283
+ }
284
+ function main() {
285
+ return _async_to_generator(function() {
286
+ var versionHelpResult, config;
287
+ return _ts_generator(this, function(_state) {
288
+ switch(_state.label){
289
+ case 0:
290
+ // Check for help/version flags FIRST, before config parsing
291
+ versionHelpResult = (0, _config.handleVersionHelp)(process.argv);
292
+ if (versionHelpResult.handled) {
293
+ console.log(versionHelpResult.output);
294
+ process.exit(0);
295
+ }
296
+ // Only parse config if no help/version flags
297
+ config = (0, _config.createConfig)();
298
+ return [
299
+ 4,
300
+ startServer(config)
301
+ ];
302
+ case 1:
303
+ _state.sent();
304
+ return [
305
+ 2
306
+ ];
307
+ }
308
+ });
309
+ })();
310
+ }
311
+ if (process.argv[1] === new URL(require("url").pathToFileURL(__filename).toString()).pathname) {
312
+ main();
313
+ }
314
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/Projects/ai/mcp-z/servers/mcp-drive/src/index.ts"],"sourcesContent":["import { createConfig, handleVersionHelp } from './setup/config.js';\nimport { createHTTPServer } from './setup/http.js';\nimport { createStdioServer } from './setup/stdio.js';\nimport type { ServerConfig } from './types.js';\n\nexport { GOOGLE_SCOPE } from './constants.ts';\nexport * as mcp from './mcp/index.js';\nexport * as schemas from './schemas/index.js';\nexport * as setup from './setup/index.js';\nexport * from './types.js';\n\nexport async function startServer(config: ServerConfig): Promise<void> {\n const { logger, close } = config.transport.type === 'stdio' ? await createStdioServer(config) : await createHTTPServer(config);\n\n process.on('SIGINT', async () => {\n await close();\n process.exit(0);\n });\n\n logger.info(`Server started with ${config.transport.type} transport`);\n await new Promise(() => {});\n}\n\nexport default async function main(): Promise<void> {\n // Check for help/version flags FIRST, before config parsing\n const versionHelpResult = handleVersionHelp(process.argv);\n if (versionHelpResult.handled) {\n console.log(versionHelpResult.output);\n process.exit(0);\n }\n\n // Only parse config if no help/version flags\n const config = createConfig();\n await startServer(config);\n}\n\nif (process.argv[1] === new URL(import.meta.url).pathname) {\n main();\n}\n"],"names":["GOOGLE_SCOPE","main","mcp","schemas","setup","startServer","config","logger","close","transport","type","createStdioServer","createHTTPServer","process","on","exit","info","Promise","versionHelpResult","handleVersionHelp","argv","handled","console","log","output","createConfig","URL","pathname"],"mappings":";;;;;;;;;;;QAKSA;eAAAA,yBAAY;;QAkBrB;eAA8BC;;QAjBlBC;;;QACAC;;;QACAC;;;QAGUC;eAAAA;;;sBAX0B;oBACf;qBACC;2BAGL;6DACR;8DACI;8DACF;qBACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEP,SAAeA,YAAYC,MAAoB;;YAC1BA,MAAlBC,QAAQC;;;;yBAAUF,CAAAA,OAAOG,SAAS,CAACC,IAAI,KAAK,OAAM,GAAhCJ;;;;oBAAoC;;wBAAMK,IAAAA,wBAAiB,EAACL;;;2BAAxB;;;;;;oBAAkC;;wBAAMM,IAAAA,sBAAgB,EAACN;;;2BAAvB;;;oBAAtEA,aAAlBC,SAAkBD,KAAlBC,QAAQC,QAAUF,KAAVE;oBAEhBK,QAAQC,EAAE,CAAC,UAAU;;;;;wCACnB;;4CAAMN;;;wCAAN;wCACAK,QAAQE,IAAI,CAAC;;;;;;wBACf;;oBAEAR,OAAOS,IAAI,CAAC,AAAC,uBAA4C,OAAtBV,OAAOG,SAAS,CAACC,IAAI,EAAC;oBACzD;;wBAAM,IAAIO,QAAQ,YAAO;;;oBAAzB;;;;;;IACF;;AAEe,SAAehB;;YAEtBiB,mBAOAZ;;;;oBARN,4DAA4D;oBACtDY,oBAAoBC,IAAAA,yBAAiB,EAACN,QAAQO,IAAI;oBACxD,IAAIF,kBAAkBG,OAAO,EAAE;wBAC7BC,QAAQC,GAAG,CAACL,kBAAkBM,MAAM;wBACpCX,QAAQE,IAAI,CAAC;oBACf;oBAEA,6CAA6C;oBACvCT,SAASmB,IAAAA,oBAAY;oBAC3B;;wBAAMpB,YAAYC;;;oBAAlB;;;;;;IACF;;AAEA,IAAIO,QAAQO,IAAI,CAAC,EAAE,KAAK,IAAIM,IAAI,qDAAiBC,QAAQ,EAAE;IACzD1B;AACF"}
@@ -0,0 +1,2 @@
1
+ import type Keyv from 'keyv';
2
+ export default function createStore<T>(uri: string): Promise<Keyv<T>>;
@@ -0,0 +1,2 @@
1
+ import type Keyv from 'keyv';
2
+ export default function createStore<T>(uri: string): Promise<Keyv<T>>;