@himanshusinghs/mongodb-mcp-server 0.3.0 → 0.3.1-prerelease.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +108 -44
- package/dist/cjs/common/atlas/accessListUtils.d.ts +2 -1
- package/dist/cjs/common/atlas/accessListUtils.d.ts.map +1 -1
- package/dist/cjs/common/atlas/accessListUtils.js +4 -1
- package/dist/cjs/common/atlas/accessListUtils.js.map +1 -1
- package/dist/cjs/common/config.d.ts +9 -3
- package/dist/cjs/common/config.d.ts.map +1 -1
- package/dist/cjs/common/config.js +88 -5
- package/dist/cjs/common/config.js.map +1 -1
- package/dist/cjs/common/connectionErrorHandler.d.ts +18 -0
- package/dist/cjs/common/connectionErrorHandler.d.ts.map +1 -0
- package/dist/cjs/common/connectionErrorHandler.js +70 -0
- package/dist/cjs/common/connectionErrorHandler.js.map +1 -0
- package/dist/cjs/common/connectionManager.d.ts.map +1 -1
- package/dist/cjs/common/connectionManager.js +7 -11
- package/dist/cjs/common/connectionManager.js.map +1 -1
- package/dist/cjs/common/errors.d.ts +5 -4
- package/dist/cjs/common/errors.d.ts.map +1 -1
- package/dist/cjs/common/errors.js +1 -0
- package/dist/cjs/common/errors.js.map +1 -1
- package/dist/cjs/common/exportsManager.d.ts +1 -1
- package/dist/cjs/common/exportsManager.d.ts.map +1 -1
- package/dist/cjs/common/keychain.d.ts +22 -0
- package/dist/cjs/common/keychain.d.ts.map +1 -0
- package/dist/cjs/common/keychain.js +36 -0
- package/dist/cjs/common/keychain.js.map +1 -0
- package/dist/cjs/common/logger.d.ts +10 -2
- package/dist/cjs/common/logger.d.ts.map +1 -1
- package/dist/cjs/common/logger.js +20 -11
- package/dist/cjs/common/logger.js.map +1 -1
- package/dist/cjs/common/packageInfo.js +1 -1
- package/dist/cjs/common/packageInfo.js.map +1 -1
- package/dist/cjs/common/session.d.ts +4 -1
- package/dist/cjs/common/session.d.ts.map +1 -1
- package/dist/cjs/common/session.js +2 -1
- package/dist/cjs/common/session.js.map +1 -1
- package/dist/cjs/helpers/connectionOptions.js +3 -6
- package/dist/cjs/helpers/connectionOptions.js.map +1 -1
- package/dist/cjs/index.js +9 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib.d.ts +4 -1
- package/dist/cjs/lib.d.ts.map +1 -1
- package/dist/cjs/lib.js +6 -3
- package/dist/cjs/lib.js.map +1 -1
- package/dist/cjs/server.d.ts +4 -1
- package/dist/cjs/server.d.ts.map +1 -1
- package/dist/cjs/server.js +16 -5
- package/dist/cjs/server.js.map +1 -1
- package/dist/cjs/telemetry/eventCache.d.ts +11 -4
- package/dist/cjs/telemetry/eventCache.d.ts.map +1 -1
- package/dist/cjs/telemetry/eventCache.js +13 -6
- package/dist/cjs/telemetry/eventCache.js.map +1 -1
- package/dist/cjs/telemetry/telemetry.d.ts +9 -2
- package/dist/cjs/telemetry/telemetry.d.ts.map +1 -1
- package/dist/cjs/telemetry/telemetry.js +79 -42
- package/dist/cjs/telemetry/telemetry.js.map +1 -1
- package/dist/cjs/telemetry/types.d.ts +48 -0
- package/dist/cjs/telemetry/types.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/connect/connectCluster.js +49 -25
- package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
- package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/create/createDBUser.js +4 -0
- package/dist/cjs/tools/atlas/create/createDBUser.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listProjects.js +1 -1
- package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -1
- package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/mongodbTool.js +11 -52
- package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregate.d.ts +1 -0
- package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregate.js +12 -0
- package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
- package/dist/cjs/tools/tool.d.ts.map +1 -1
- package/dist/cjs/tools/tool.js +11 -5
- package/dist/cjs/tools/tool.js.map +1 -1
- package/dist/cjs/transports/base.d.ts +14 -3
- package/dist/cjs/transports/base.d.ts.map +1 -1
- package/dist/cjs/transports/base.js +14 -5
- package/dist/cjs/transports/base.js.map +1 -1
- package/dist/cjs/transports/stdio.d.ts +2 -5
- package/dist/cjs/transports/stdio.d.ts.map +1 -1
- package/dist/cjs/transports/stdio.js +2 -3
- package/dist/cjs/transports/stdio.js.map +1 -1
- package/dist/cjs/transports/streamableHttp.d.ts +3 -5
- package/dist/cjs/transports/streamableHttp.d.ts.map +1 -1
- package/dist/cjs/transports/streamableHttp.js +18 -6
- package/dist/cjs/transports/streamableHttp.js.map +1 -1
- package/dist/esm/common/atlas/accessListUtils.d.ts +2 -1
- package/dist/esm/common/atlas/accessListUtils.d.ts.map +1 -1
- package/dist/esm/common/atlas/accessListUtils.js +4 -1
- package/dist/esm/common/atlas/accessListUtils.js.map +1 -1
- package/dist/esm/common/config.d.ts +9 -3
- package/dist/esm/common/config.d.ts.map +1 -1
- package/dist/esm/common/config.js +85 -4
- package/dist/esm/common/config.js.map +1 -1
- package/dist/esm/common/connectionErrorHandler.d.ts +18 -0
- package/dist/esm/common/connectionErrorHandler.d.ts.map +1 -0
- package/dist/esm/common/connectionErrorHandler.js +66 -0
- package/dist/esm/common/connectionErrorHandler.js.map +1 -0
- package/dist/esm/common/connectionManager.d.ts.map +1 -1
- package/dist/esm/common/connectionManager.js +6 -7
- package/dist/esm/common/connectionManager.js.map +1 -1
- package/dist/esm/common/errors.d.ts +5 -4
- package/dist/esm/common/errors.d.ts.map +1 -1
- package/dist/esm/common/errors.js +1 -0
- package/dist/esm/common/errors.js.map +1 -1
- package/dist/esm/common/exportsManager.d.ts +1 -1
- package/dist/esm/common/exportsManager.d.ts.map +1 -1
- package/dist/esm/common/keychain.d.ts +22 -0
- package/dist/esm/common/keychain.d.ts.map +1 -0
- package/dist/esm/common/keychain.js +31 -0
- package/dist/esm/common/keychain.js.map +1 -0
- package/dist/esm/common/logger.d.ts +10 -2
- package/dist/esm/common/logger.d.ts.map +1 -1
- package/dist/esm/common/logger.js +20 -11
- package/dist/esm/common/logger.js.map +1 -1
- package/dist/esm/common/packageInfo.js +1 -1
- package/dist/esm/common/packageInfo.js.map +1 -1
- package/dist/esm/common/session.d.ts +4 -1
- package/dist/esm/common/session.d.ts.map +1 -1
- package/dist/esm/common/session.js +2 -1
- package/dist/esm/common/session.js.map +1 -1
- package/dist/esm/helpers/connectionOptions.js +1 -1
- package/dist/esm/helpers/connectionOptions.js.map +1 -1
- package/dist/esm/index.js +9 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib.d.ts +4 -1
- package/dist/esm/lib.d.ts.map +1 -1
- package/dist/esm/lib.js +2 -1
- package/dist/esm/lib.js.map +1 -1
- package/dist/esm/server.d.ts +4 -1
- package/dist/esm/server.d.ts.map +1 -1
- package/dist/esm/server.js +16 -5
- package/dist/esm/server.js.map +1 -1
- package/dist/esm/telemetry/eventCache.d.ts +11 -4
- package/dist/esm/telemetry/eventCache.d.ts.map +1 -1
- package/dist/esm/telemetry/eventCache.js +13 -6
- package/dist/esm/telemetry/eventCache.js.map +1 -1
- package/dist/esm/telemetry/telemetry.d.ts +9 -2
- package/dist/esm/telemetry/telemetry.d.ts.map +1 -1
- package/dist/esm/telemetry/telemetry.js +79 -42
- package/dist/esm/telemetry/telemetry.js.map +1 -1
- package/dist/esm/telemetry/types.d.ts +48 -0
- package/dist/esm/telemetry/types.d.ts.map +1 -1
- package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
- package/dist/esm/tools/atlas/connect/connectCluster.js +49 -25
- package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
- package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -1
- package/dist/esm/tools/atlas/create/createDBUser.js +4 -0
- package/dist/esm/tools/atlas/create/createDBUser.js.map +1 -1
- package/dist/esm/tools/atlas/read/listProjects.js +1 -1
- package/dist/esm/tools/atlas/read/listProjects.js.map +1 -1
- package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/mongodbTool.js +11 -52
- package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregate.d.ts +1 -0
- package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregate.js +12 -0
- package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
- package/dist/esm/tools/tool.d.ts.map +1 -1
- package/dist/esm/tools/tool.js +11 -5
- package/dist/esm/tools/tool.js.map +1 -1
- package/dist/esm/transports/base.d.ts +14 -3
- package/dist/esm/transports/base.d.ts.map +1 -1
- package/dist/esm/transports/base.js +14 -5
- package/dist/esm/transports/base.js.map +1 -1
- package/dist/esm/transports/stdio.d.ts +2 -5
- package/dist/esm/transports/stdio.d.ts.map +1 -1
- package/dist/esm/transports/stdio.js +2 -3
- package/dist/esm/transports/stdio.js.map +1 -1
- package/dist/esm/transports/streamableHttp.d.ts +3 -5
- package/dist/esm/transports/streamableHttp.d.ts.map +1 -1
- package/dist/esm/transports/streamableHttp.js +18 -6
- package/dist/esm/transports/streamableHttp.js.map +1 -1
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -47,7 +47,9 @@ node -v
|
|
|
47
47
|
|
|
48
48
|
### Quick Start
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
> **🔒 Security Recommendation 1:** When using Atlas API credentials, be sure to assign only the minimum required permissions to your service account. See [Atlas API Permissions](#atlas-api-permissions) for details.
|
|
51
|
+
|
|
52
|
+
> **🔒 Security Recommendation 2:** For enhanced security, we strongly recommend using environment variables to pass sensitive configuration such as connection strings and API credentials instead of command line arguments. Command line arguments can be visible in process lists and logged in various system locations, potentially exposing your secrets. Environment variables provide a more secure way to handle sensitive information.
|
|
51
53
|
|
|
52
54
|
Most MCP clients require a configuration file to be created or modified to add the MCP server.
|
|
53
55
|
|
|
@@ -60,22 +62,19 @@ Note: The configuration file syntax can be different across clients. Please refe
|
|
|
60
62
|
|
|
61
63
|
> **Default Safety Notice:** All examples below include `--readOnly` by default to ensure safe, read-only access to your data. Remove `--readOnly` if you need to enable write operations.
|
|
62
64
|
|
|
63
|
-
#### Option 1: Connection String
|
|
65
|
+
#### Option 1: Connection String
|
|
64
66
|
|
|
65
|
-
You can pass your connection string via
|
|
67
|
+
You can pass your connection string via environment variables, make sure to use a valid username and password.
|
|
66
68
|
|
|
67
69
|
```json
|
|
68
70
|
{
|
|
69
71
|
"mcpServers": {
|
|
70
72
|
"MongoDB": {
|
|
71
73
|
"command": "npx",
|
|
72
|
-
"args": [
|
|
73
|
-
|
|
74
|
-
"mongodb
|
|
75
|
-
|
|
76
|
-
"mongodb://localhost:27017/myDatabase",
|
|
77
|
-
"--readOnly"
|
|
78
|
-
]
|
|
74
|
+
"args": ["-y", "mongodb-mcp-server@latest", "--readOnly"],
|
|
75
|
+
"env": {
|
|
76
|
+
"MDB_MCP_CONNECTION_STRING": "mongodb://localhost:27017/myDatabase"
|
|
77
|
+
}
|
|
79
78
|
}
|
|
80
79
|
}
|
|
81
80
|
}
|
|
@@ -83,7 +82,7 @@ You can pass your connection string via args, make sure to use a valid username
|
|
|
83
82
|
|
|
84
83
|
NOTE: The connection string can be configured to connect to any MongoDB cluster, whether it's a local instance or an Atlas cluster.
|
|
85
84
|
|
|
86
|
-
#### Option 2: Atlas API
|
|
85
|
+
#### Option 2: Atlas API Credentials
|
|
87
86
|
|
|
88
87
|
Use your Atlas API Service Accounts credentials. Must follow all the steps in [Atlas API Access](#atlas-api-access) section.
|
|
89
88
|
|
|
@@ -92,43 +91,37 @@ Use your Atlas API Service Accounts credentials. Must follow all the steps in [A
|
|
|
92
91
|
"mcpServers": {
|
|
93
92
|
"MongoDB": {
|
|
94
93
|
"command": "npx",
|
|
95
|
-
"args": [
|
|
96
|
-
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
|
|
100
|
-
"--apiClientSecret",
|
|
101
|
-
"your-atlas-service-accounts-client-secret",
|
|
102
|
-
"--readOnly"
|
|
103
|
-
]
|
|
94
|
+
"args": ["-y", "mongodb-mcp-server@latest", "--readOnly"],
|
|
95
|
+
"env": {
|
|
96
|
+
"MDB_MCP_API_CLIENT_ID": "your-atlas-service-accounts-client-id",
|
|
97
|
+
"MDB_MCP_API_CLIENT_SECRET": "your-atlas-service-accounts-client-secret"
|
|
98
|
+
}
|
|
104
99
|
}
|
|
105
100
|
}
|
|
106
101
|
}
|
|
107
102
|
```
|
|
108
103
|
|
|
109
|
-
#### Option 3: Standalone Service using command arguments
|
|
104
|
+
#### Option 3: Standalone Service using environment variables and command line arguments
|
|
110
105
|
|
|
111
|
-
|
|
106
|
+
You can source environment variables defined in a config file or explicitly set them like we do in the example below and run the server via npx.
|
|
112
107
|
|
|
113
108
|
```shell
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
- For a complete list of arguments see [Configuration Options](#configuration-options)
|
|
118
|
-
- To configure your Atlas Service Accounts credentials please refer to [Atlas API Access](#atlas-api-access)
|
|
119
|
-
|
|
120
|
-
#### Option 4: Standalone Service using environment variables
|
|
109
|
+
# Set your credentials as environment variables first
|
|
110
|
+
export MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id"
|
|
111
|
+
export MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret"
|
|
121
112
|
|
|
122
|
-
|
|
123
|
-
|
|
113
|
+
# Then start the server
|
|
114
|
+
npx -y mongodb-mcp-server@latest --readOnly
|
|
124
115
|
```
|
|
125
116
|
|
|
126
|
-
|
|
117
|
+
> **💡 Platform Note:** The examples above use Unix/Linux/macOS syntax. For Windows users, see [Environment Variables](#environment-variables) for platform-specific instructions.
|
|
127
118
|
|
|
119
|
+
- For a complete list of configuration options see [Configuration Options](#configuration-options)
|
|
120
|
+
- To configure your Atlas Service Accounts credentials please refer to [Atlas API Access](#atlas-api-access)
|
|
128
121
|
- Connection String via environment variables in the MCP file [example](#connection-string-with-environment-variables)
|
|
129
122
|
- Atlas API credentials via environment variables in the MCP file [example](#atlas-api-credentials-with-environment-variables)
|
|
130
123
|
|
|
131
|
-
#### Option
|
|
124
|
+
#### Option 4: Using Docker
|
|
132
125
|
|
|
133
126
|
You can run the MongoDB MCP Server in a Docker container, which provides isolation and doesn't require a local Node.js installation.
|
|
134
127
|
|
|
@@ -146,22 +139,35 @@ docker run --rm -i \
|
|
|
146
139
|
##### Option B: With MongoDB connection string
|
|
147
140
|
|
|
148
141
|
```shell
|
|
142
|
+
# Set your credentials as environment variables first
|
|
143
|
+
export MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
|
|
144
|
+
|
|
145
|
+
# Then start the docker container
|
|
149
146
|
docker run --rm -i \
|
|
150
|
-
-e MDB_MCP_CONNECTION_STRING
|
|
147
|
+
-e MDB_MCP_CONNECTION_STRING \
|
|
151
148
|
-e MDB_MCP_READ_ONLY="true" \
|
|
152
149
|
mongodb/mongodb-mcp-server:latest
|
|
153
150
|
```
|
|
154
151
|
|
|
152
|
+
> **💡 Platform Note:** The examples above use Unix/Linux/macOS syntax. For Windows users, see [Environment Variables](#environment-variables) for platform-specific instructions.
|
|
153
|
+
|
|
155
154
|
##### Option C: With Atlas API credentials
|
|
156
155
|
|
|
157
156
|
```shell
|
|
157
|
+
# Set your credentials as environment variables first
|
|
158
|
+
export MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id"
|
|
159
|
+
export MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret"
|
|
160
|
+
|
|
161
|
+
# Then start the docker container
|
|
158
162
|
docker run --rm -i \
|
|
159
|
-
-e MDB_MCP_API_CLIENT_ID
|
|
160
|
-
-e MDB_MCP_API_CLIENT_SECRET
|
|
163
|
+
-e MDB_MCP_API_CLIENT_ID \
|
|
164
|
+
-e MDB_MCP_API_CLIENT_SECRET \
|
|
161
165
|
-e MDB_MCP_READ_ONLY="true" \
|
|
162
166
|
mongodb/mongodb-mcp-server:latest
|
|
163
167
|
```
|
|
164
168
|
|
|
169
|
+
> **💡 Platform Note:** The examples above use Unix/Linux/macOS syntax. For Windows users, see [Environment Variables](#environment-variables) for platform-specific instructions.
|
|
170
|
+
|
|
165
171
|
##### Docker in MCP Configuration File
|
|
166
172
|
|
|
167
173
|
Without options:
|
|
@@ -196,11 +202,14 @@ With connection string:
|
|
|
196
202
|
"--rm",
|
|
197
203
|
"-i",
|
|
198
204
|
"-e",
|
|
199
|
-
"MDB_MCP_CONNECTION_STRING
|
|
205
|
+
"MDB_MCP_CONNECTION_STRING",
|
|
200
206
|
"-e",
|
|
201
207
|
"MDB_MCP_READ_ONLY=true",
|
|
202
208
|
"mongodb/mongodb-mcp-server:latest"
|
|
203
|
-
]
|
|
209
|
+
],
|
|
210
|
+
"env": {
|
|
211
|
+
"MDB_MCP_CONNECTION_STRING": "mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
|
|
212
|
+
}
|
|
204
213
|
}
|
|
205
214
|
}
|
|
206
215
|
}
|
|
@@ -220,17 +229,21 @@ With Atlas API credentials:
|
|
|
220
229
|
"-e",
|
|
221
230
|
"MDB_MCP_READ_ONLY=true",
|
|
222
231
|
"-e",
|
|
223
|
-
"MDB_MCP_API_CLIENT_ID
|
|
232
|
+
"MDB_MCP_API_CLIENT_ID",
|
|
224
233
|
"-e",
|
|
225
|
-
"MDB_MCP_API_CLIENT_SECRET
|
|
234
|
+
"MDB_MCP_API_CLIENT_SECRET",
|
|
226
235
|
"mongodb/mongodb-mcp-server:latest"
|
|
227
|
-
]
|
|
236
|
+
],
|
|
237
|
+
"env": {
|
|
238
|
+
"MDB_MCP_API_CLIENT_ID": "your-atlas-service-accounts-client-id",
|
|
239
|
+
"MDB_MCP_API_CLIENT_SECRET": "your-atlas-service-accounts-client-secret"
|
|
240
|
+
}
|
|
228
241
|
}
|
|
229
242
|
}
|
|
230
243
|
}
|
|
231
244
|
```
|
|
232
245
|
|
|
233
|
-
#### Option
|
|
246
|
+
#### Option 5: Running as an HTTP Server
|
|
234
247
|
|
|
235
248
|
> **⚠️ Security Notice:** This server now supports Streamable HTTP transport for remote connections. **HTTP transport is NOT recommended for production use without implementing proper authentication and security measures.**
|
|
236
249
|
|
|
@@ -316,6 +329,8 @@ NOTE: atlas tools are only available when you set credentials on [configuration]
|
|
|
316
329
|
|
|
317
330
|
## Configuration
|
|
318
331
|
|
|
332
|
+
> **🔒 Security Best Practice:** We strongly recommend using environment variables for sensitive configuration such as API credentials (`MDB_MCP_API_CLIENT_ID`, `MDB_MCP_API_CLIENT_SECRET`) and connection strings (`MDB_MCP_CONNECTION_STRING`) instead of command-line arguments. Environment variables are not visible in process lists and provide better security for your sensitive data.
|
|
333
|
+
|
|
319
334
|
The MongoDB MCP Server can be configured using multiple methods, with the following precedence (highest to lowest):
|
|
320
335
|
|
|
321
336
|
1. Command-line arguments
|
|
@@ -361,6 +376,8 @@ You can combine multiple loggers, e.g. `--loggers disk stderr` or `export MDB_MC
|
|
|
361
376
|
export MDB_MCP_LOGGERS="disk,stderr"
|
|
362
377
|
```
|
|
363
378
|
|
|
379
|
+
> **💡 Platform Note:** For Windows users, see [Environment Variables](#environment-variables) for platform-specific instructions.
|
|
380
|
+
|
|
364
381
|
##### Example: Set logger via command-line argument
|
|
365
382
|
|
|
366
383
|
```shell
|
|
@@ -411,6 +428,8 @@ You can enable read-only mode using:
|
|
|
411
428
|
- **Environment variable**: `export MDB_MCP_READ_ONLY=true`
|
|
412
429
|
- **Command-line argument**: `--readOnly`
|
|
413
430
|
|
|
431
|
+
> **💡 Platform Note:** For Windows users, see [Environment Variables](#environment-variables) for platform-specific instructions.
|
|
432
|
+
|
|
414
433
|
When read-only mode is active, you'll see a message in the server logs indicating which tools were prevented from registering due to this restriction.
|
|
415
434
|
|
|
416
435
|
#### Index Check Mode
|
|
@@ -424,6 +443,8 @@ You can enable index check mode using:
|
|
|
424
443
|
- **Environment variable**: `export MDB_MCP_INDEX_CHECK=true`
|
|
425
444
|
- **Command-line argument**: `--indexCheck`
|
|
426
445
|
|
|
446
|
+
> **💡 Platform Note:** For Windows users, see [Environment Variables](#environment-variables) for platform-specific instructions.
|
|
447
|
+
|
|
427
448
|
When index check mode is active, you'll see an error message if a query is rejected due to not using an index.
|
|
428
449
|
|
|
429
450
|
#### Exports
|
|
@@ -447,6 +468,8 @@ You can disable telemetry using:
|
|
|
447
468
|
- **Command-line argument**: `--telemetry disabled`
|
|
448
469
|
- **DO_NOT_TRACK environment variable**: `export DO_NOT_TRACK=1`
|
|
449
470
|
|
|
471
|
+
> **💡 Platform Note:** For Windows users, see [Environment Variables](#environment-variables) for platform-specific instructions.
|
|
472
|
+
|
|
450
473
|
### Atlas API Access
|
|
451
474
|
|
|
452
475
|
To use the Atlas API tools, you'll need to create a service account in MongoDB Atlas:
|
|
@@ -500,7 +523,9 @@ For a full list of roles and their privileges, see the [Atlas User Roles documen
|
|
|
500
523
|
|
|
501
524
|
Set environment variables with the prefix `MDB_MCP_` followed by the option name in uppercase with underscores:
|
|
502
525
|
|
|
503
|
-
|
|
526
|
+
**Linux/macOS (bash/zsh):**
|
|
527
|
+
|
|
528
|
+
```bash
|
|
504
529
|
# Set Atlas API credentials (via Service Accounts)
|
|
505
530
|
export MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id"
|
|
506
531
|
export MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret"
|
|
@@ -508,8 +533,33 @@ export MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret"
|
|
|
508
533
|
# Set a custom MongoDB connection string
|
|
509
534
|
export MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
|
|
510
535
|
|
|
536
|
+
# Set log path
|
|
511
537
|
export MDB_MCP_LOG_PATH="/path/to/logs"
|
|
538
|
+
```
|
|
512
539
|
|
|
540
|
+
**Windows Command Prompt (cmd):**
|
|
541
|
+
|
|
542
|
+
```cmd
|
|
543
|
+
set "MDB_MCP_API_CLIENT_ID=your-atlas-service-accounts-client-id"
|
|
544
|
+
set "MDB_MCP_API_CLIENT_SECRET=your-atlas-service-accounts-client-secret"
|
|
545
|
+
|
|
546
|
+
set "MDB_MCP_CONNECTION_STRING=mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
|
|
547
|
+
|
|
548
|
+
set "MDB_MCP_LOG_PATH=C:\path\to\logs"
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
**Windows PowerShell:**
|
|
552
|
+
|
|
553
|
+
```powershell
|
|
554
|
+
# Set Atlas API credentials (via Service Accounts)
|
|
555
|
+
$env:MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id"
|
|
556
|
+
$env:MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret"
|
|
557
|
+
|
|
558
|
+
# Set a custom MongoDB connection string
|
|
559
|
+
$env:MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
|
|
560
|
+
|
|
561
|
+
# Set log path
|
|
562
|
+
$env:MDB_MCP_LOG_PATH="C:\path\to\logs"
|
|
513
563
|
```
|
|
514
564
|
|
|
515
565
|
#### MCP configuration file examples
|
|
@@ -551,14 +601,26 @@ export MDB_MCP_LOG_PATH="/path/to/logs"
|
|
|
551
601
|
|
|
552
602
|
Pass configuration options as command-line arguments when starting the server:
|
|
553
603
|
|
|
604
|
+
> **🔒 Security Note:** For sensitive configuration like API credentials and connection strings, use environment variables instead of command-line arguments.
|
|
605
|
+
|
|
554
606
|
```shell
|
|
555
|
-
|
|
607
|
+
# Set sensitive data as environment variable
|
|
608
|
+
export MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id"
|
|
609
|
+
export MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret"
|
|
610
|
+
export MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
|
|
611
|
+
|
|
612
|
+
# Start the server with command line arguments
|
|
613
|
+
npx -y mongodb-mcp-server@latest --logPath=/path/to/logs --readOnly --indexCheck
|
|
556
614
|
```
|
|
557
615
|
|
|
616
|
+
> **💡 Platform Note:** The examples above use Unix/Linux/macOS syntax. For Windows users, see [Environment Variables](#environment-variables) for platform-specific instructions.
|
|
617
|
+
|
|
558
618
|
#### MCP configuration file examples
|
|
559
619
|
|
|
560
620
|
##### Connection String with command-line arguments
|
|
561
621
|
|
|
622
|
+
> **🔒 Security Note:** We do not recommend passing connection string as command line argument. Connection string might contain credentials which can be visible in process lists and logged in various system locations, potentially exposing your credentials. Instead configure [connection string through environment variables](#connection-string-with-environment-variables)
|
|
623
|
+
|
|
562
624
|
```json
|
|
563
625
|
{
|
|
564
626
|
"mcpServers": {
|
|
@@ -578,6 +640,8 @@ npx -y mongodb-mcp-server@latest --apiClientId="your-atlas-service-accounts-clie
|
|
|
578
640
|
|
|
579
641
|
##### Atlas API credentials with command-line arguments
|
|
580
642
|
|
|
643
|
+
> **🔒 Security Note:** We do not recommend passing Atlas API credentials as command line argument. The provided credentials can be visible in process lists and logged in various system locations, potentially exposing your credentials. Instead configure [Atlas API credentials through environment variables](#atlas-api-credentials-with-environment-variables)
|
|
644
|
+
|
|
581
645
|
```json
|
|
582
646
|
{
|
|
583
647
|
"mcpServers": {
|
|
@@ -10,6 +10,7 @@ export declare function makeCurrentIpAccessListEntry(apiClient: ApiClient, proje
|
|
|
10
10
|
* If the IP is already present, this is a no-op.
|
|
11
11
|
* @param apiClient The Atlas API client instance
|
|
12
12
|
* @param projectId The Atlas project ID
|
|
13
|
+
* @returns Promise<boolean> - true if a new IP access list entry was created, false if it already existed
|
|
13
14
|
*/
|
|
14
|
-
export declare function ensureCurrentIpInAccessList(apiClient: ApiClient, projectId: string): Promise<
|
|
15
|
+
export declare function ensureCurrentIpInAccessList(apiClient: ApiClient, projectId: string): Promise<boolean>;
|
|
15
16
|
//# sourceMappingURL=accessListUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessListUtils.d.ts","sourceRoot":"","sources":["../../../../src/common/atlas/accessListUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,eAAO,MAAM,2BAA2B,sDAAsD,CAAC;AAE/F,wBAAsB,4BAA4B,CAC9C,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,MAAoC,GAC9C,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAOlE;AAED
|
|
1
|
+
{"version":3,"file":"accessListUtils.d.ts","sourceRoot":"","sources":["../../../../src/common/atlas/accessListUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,eAAO,MAAM,2BAA2B,sDAAsD,CAAC;AAE/F,wBAAsB,4BAA4B,CAC9C,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,MAAoC,GAC9C,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAOlE;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA8B3G"}
|
|
@@ -19,6 +19,7 @@ async function makeCurrentIpAccessListEntry(apiClient, projectId, comment = expo
|
|
|
19
19
|
* If the IP is already present, this is a no-op.
|
|
20
20
|
* @param apiClient The Atlas API client instance
|
|
21
21
|
* @param projectId The Atlas project ID
|
|
22
|
+
* @returns Promise<boolean> - true if a new IP access list entry was created, false if it already existed
|
|
22
23
|
*/
|
|
23
24
|
async function ensureCurrentIpInAccessList(apiClient, projectId) {
|
|
24
25
|
const entry = await makeCurrentIpAccessListEntry(apiClient, projectId, exports.DEFAULT_ACCESS_LIST_COMMENT);
|
|
@@ -32,6 +33,7 @@ async function ensureCurrentIpInAccessList(apiClient, projectId) {
|
|
|
32
33
|
context: "accessListUtils",
|
|
33
34
|
message: `IP access list created: ${JSON.stringify(entry)}`,
|
|
34
35
|
});
|
|
36
|
+
return true;
|
|
35
37
|
}
|
|
36
38
|
catch (err) {
|
|
37
39
|
if (err instanceof apiClientError_js_1.ApiClientError && err.response?.status === 409) {
|
|
@@ -41,7 +43,7 @@ async function ensureCurrentIpInAccessList(apiClient, projectId) {
|
|
|
41
43
|
context: "accessListUtils",
|
|
42
44
|
message: `IP address ${entry.ipAddress} is already present in the access list for project ${projectId}.`,
|
|
43
45
|
});
|
|
44
|
-
return;
|
|
46
|
+
return false;
|
|
45
47
|
}
|
|
46
48
|
apiClient.logger.warning({
|
|
47
49
|
id: logger_js_1.LogId.atlasIpAccessListAddFailure,
|
|
@@ -49,5 +51,6 @@ async function ensureCurrentIpInAccessList(apiClient, projectId) {
|
|
|
49
51
|
message: `Error adding IP access list: ${err instanceof Error ? err.message : String(err)}`,
|
|
50
52
|
});
|
|
51
53
|
}
|
|
54
|
+
return false;
|
|
52
55
|
}
|
|
53
56
|
//# sourceMappingURL=accessListUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessListUtils.js","sourceRoot":"","sources":["../../../../src/common/atlas/accessListUtils.ts"],"names":[],"mappings":";;;AAMA,oEAWC;
|
|
1
|
+
{"version":3,"file":"accessListUtils.js","sourceRoot":"","sources":["../../../../src/common/atlas/accessListUtils.ts"],"names":[],"mappings":";;;AAMA,oEAWC;AASD,kEA8BC;AAvDD,4CAAqC;AACrC,2DAAqD;AAExC,QAAA,2BAA2B,GAAG,mDAAmD,CAAC;AAExF,KAAK,UAAU,4BAA4B,CAC9C,SAAoB,EACpB,SAAiB,EACjB,UAAkB,mCAA2B;IAE7C,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC;IAC3D,OAAO;QACH,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,kBAAkB;QAC7B,OAAO;KACV,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,2BAA2B,CAAC,SAAoB,EAAE,SAAiB;IACrF,MAAM,KAAK,GAAG,MAAM,4BAA4B,CAAC,SAAS,EAAE,SAAS,EAAE,mCAA2B,CAAC,CAAC;IACpG,IAAI,CAAC;QACD,MAAM,SAAS,CAAC,yBAAyB,CAAC;YACtC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;YACxC,IAAI,EAAE,CAAC,KAAK,CAAC;SAChB,CAAC,CAAC;QACH,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;YACnB,EAAE,EAAE,iBAAK,CAAC,sBAAsB;YAChC,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EAAE,2BAA2B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;SAC9D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,IAAI,GAAG,YAAY,kCAAc,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;YAChE,+CAA+C;YAC/C,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;gBACnB,EAAE,EAAE,iBAAK,CAAC,sBAAsB;gBAChC,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,cAAc,KAAK,CAAC,SAAS,sDAAsD,SAAS,GAAG;aAC3G,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;YACrB,EAAE,EAAE,iBAAK,CAAC,2BAA2B;YACrC,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EAAE,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SAC9F,CAAC,CAAC;IACP,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { CliOptions, ConnectionInfo } from "@mongosh/arg-parser";
|
|
2
|
+
export declare function validateConfigKey(key: string): {
|
|
3
|
+
valid: boolean;
|
|
4
|
+
suggestion?: string;
|
|
5
|
+
};
|
|
2
6
|
export interface UserConfig extends CliOptions {
|
|
3
7
|
apiBaseUrl: string;
|
|
4
8
|
apiClientId?: string;
|
|
@@ -25,9 +29,11 @@ export declare const config: UserConfig;
|
|
|
25
29
|
export type DriverOptions = ConnectionInfo["driverOptions"];
|
|
26
30
|
export declare const defaultDriverOptions: DriverOptions;
|
|
27
31
|
export declare const driverOptions: Omit<import("@mongosh/arg-parser").DevtoolsConnectOptions, "productName" | "productDocsLink">;
|
|
28
|
-
export declare function
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
export declare function warnAboutDeprecatedOrUnknownCliArgs(args: Record<string, unknown>, { warn, exit }: {
|
|
33
|
+
warn: (msg: string) => void;
|
|
34
|
+
exit: (status: number) => void | never;
|
|
35
|
+
}): void;
|
|
36
|
+
export declare function registerKnownSecretsInRootKeychain(userConfig: Partial<UserConfig>): void;
|
|
31
37
|
export declare function setupUserConfig({ cli, env, defaults, }: {
|
|
32
38
|
cli: string[];
|
|
33
39
|
env: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAkGtE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CA6BtF;AAaD,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,EAAE,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;CACjC;AAED,eAAO,MAAM,iBAAiB,EAAE,UAiB/B,CAAC;AAEF,eAAO,MAAM,MAAM,YAIjB,CAAC;AAQH,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;AAC5D,eAAO,MAAM,oBAAoB,EAAE,aAWlC,CAAC;AAEF,eAAO,MAAM,aAAa,+FAGxB,CAAC;AAkHH,wBAAgB,mCAAmC,CAC/C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,KAAK,CAAA;CAAE,GACxF,IAAI,CAsCN;AAyBD,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAqBxF;AAED,wBAAgB,eAAe,CAAC,EAC5B,GAAG,EACH,GAAG,EACH,QAAQ,GACX,EAAE;IACC,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CACjC,GAAG,UAAU,CA+Cb;AAED,wBAAgB,iBAAiB,CAAC,EAC9B,MAAM,EACN,QAAQ,GACX,EAAE;IACC,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACpC,GAAG,aAAa,CAMhB"}
|
|
@@ -4,13 +4,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.driverOptions = exports.defaultDriverOptions = exports.config = exports.defaultUserConfig = void 0;
|
|
7
|
-
exports.
|
|
7
|
+
exports.validateConfigKey = validateConfigKey;
|
|
8
|
+
exports.warnAboutDeprecatedOrUnknownCliArgs = warnAboutDeprecatedOrUnknownCliArgs;
|
|
9
|
+
exports.registerKnownSecretsInRootKeychain = registerKnownSecretsInRootKeychain;
|
|
8
10
|
exports.setupUserConfig = setupUserConfig;
|
|
9
11
|
exports.setupDriverConfig = setupDriverConfig;
|
|
10
12
|
const path_1 = __importDefault(require("path"));
|
|
11
13
|
const os_1 = __importDefault(require("os"));
|
|
12
14
|
const yargs_parser_1 = __importDefault(require("yargs-parser"));
|
|
13
15
|
const arg_parser_1 = require("@mongosh/arg-parser");
|
|
16
|
+
const keychain_js_1 = require("./keychain.js");
|
|
17
|
+
const ts_levenshtein_1 = __importDefault(require("ts-levenshtein"));
|
|
14
18
|
// From: https://github.com/mongodb-js/mongosh/blob/main/packages/cli-repl/src/arg-parser.ts
|
|
15
19
|
const OPTIONS = {
|
|
16
20
|
string: [
|
|
@@ -95,6 +99,35 @@ const OPTIONS = {
|
|
|
95
99
|
"short-option-groups": false,
|
|
96
100
|
},
|
|
97
101
|
};
|
|
102
|
+
const ALL_CONFIG_KEYS = new Set(OPTIONS.string
|
|
103
|
+
.concat(OPTIONS.array)
|
|
104
|
+
.concat(OPTIONS.boolean)
|
|
105
|
+
.concat(Object.keys(OPTIONS.alias)));
|
|
106
|
+
function validateConfigKey(key) {
|
|
107
|
+
if (ALL_CONFIG_KEYS.has(key)) {
|
|
108
|
+
return { valid: true };
|
|
109
|
+
}
|
|
110
|
+
let minLev = Number.MAX_VALUE;
|
|
111
|
+
let suggestion = "";
|
|
112
|
+
// find the closest match for a suggestion
|
|
113
|
+
for (const validKey of ALL_CONFIG_KEYS) {
|
|
114
|
+
// check if there is an exact case-insensitive match
|
|
115
|
+
if (validKey.toLowerCase() === key.toLowerCase()) {
|
|
116
|
+
return { valid: false, suggestion: validKey };
|
|
117
|
+
}
|
|
118
|
+
// else, infer something using levenshtein so we suggest a valid key
|
|
119
|
+
const lev = ts_levenshtein_1.default.get(key, validKey);
|
|
120
|
+
if (lev < minLev) {
|
|
121
|
+
minLev = lev;
|
|
122
|
+
suggestion = validKey;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (minLev <= 2) {
|
|
126
|
+
// accept up to 2 typos
|
|
127
|
+
return { valid: false, suggestion };
|
|
128
|
+
}
|
|
129
|
+
return { valid: false };
|
|
130
|
+
}
|
|
98
131
|
function isConnectionSpecifier(arg) {
|
|
99
132
|
return (arg !== undefined &&
|
|
100
133
|
(arg.startsWith("mongodb://") ||
|
|
@@ -156,12 +189,17 @@ function getExportsPath() {
|
|
|
156
189
|
// are prefixed with `MDB_MCP_` and the keys match the UserConfig keys, but are converted
|
|
157
190
|
// to SNAKE_UPPER_CASE.
|
|
158
191
|
function parseEnvConfig(env) {
|
|
192
|
+
const CONFIG_WITH_URLS = new Set(["connectionString"]);
|
|
159
193
|
function setValue(obj, path, value) {
|
|
160
194
|
const currentField = path.shift();
|
|
161
195
|
if (!currentField) {
|
|
162
196
|
return;
|
|
163
197
|
}
|
|
164
198
|
if (path.length === 0) {
|
|
199
|
+
if (CONFIG_WITH_URLS.has(currentField)) {
|
|
200
|
+
obj[currentField] = value;
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
165
203
|
const numberValue = Number(value);
|
|
166
204
|
if (!isNaN(numberValue)) {
|
|
167
205
|
obj[currentField] = numberValue;
|
|
@@ -212,7 +250,10 @@ function parseCliConfig(args) {
|
|
|
212
250
|
// so we don't have a logger. For stdio, the warning will be received as a string in
|
|
213
251
|
// the client and IDEs like VSCode do show the message in the log window. For HTTP,
|
|
214
252
|
// it will be in the stdout of the process.
|
|
215
|
-
|
|
253
|
+
warnAboutDeprecatedOrUnknownCliArgs({ ...parsed, _: positionalArguments }, {
|
|
254
|
+
warn: (msg) => console.warn(msg),
|
|
255
|
+
exit: (status) => process.exit(status),
|
|
256
|
+
});
|
|
216
257
|
// if we have a positional argument that matches a connection string
|
|
217
258
|
// store it as the connection specifier and remove it from the argument
|
|
218
259
|
// list, so it doesn't get misunderstood by the mongosh args-parser
|
|
@@ -222,17 +263,38 @@ function parseCliConfig(args) {
|
|
|
222
263
|
delete parsed._;
|
|
223
264
|
return parsed;
|
|
224
265
|
}
|
|
225
|
-
function
|
|
266
|
+
function warnAboutDeprecatedOrUnknownCliArgs(args, { warn, exit }) {
|
|
226
267
|
let usedDeprecatedArgument = false;
|
|
268
|
+
let usedInvalidArgument = false;
|
|
269
|
+
const knownArgs = args;
|
|
227
270
|
// the first position argument should be used
|
|
228
271
|
// instead of --connectionString, as it's how the mongosh works.
|
|
229
|
-
if (
|
|
272
|
+
if (knownArgs.connectionString) {
|
|
230
273
|
usedDeprecatedArgument = true;
|
|
231
274
|
warn("The --connectionString argument is deprecated. Prefer using the first positional argument for the connection string or the MDB_MCP_CONNECTION_STRING environment variable.");
|
|
232
275
|
}
|
|
233
|
-
|
|
276
|
+
for (const providedKey of Object.keys(args)) {
|
|
277
|
+
if (providedKey === "_") {
|
|
278
|
+
// positional argument
|
|
279
|
+
continue;
|
|
280
|
+
}
|
|
281
|
+
const { valid, suggestion } = validateConfigKey(providedKey);
|
|
282
|
+
if (!valid) {
|
|
283
|
+
usedInvalidArgument = true;
|
|
284
|
+
if (suggestion) {
|
|
285
|
+
warn(`Invalid command line argument '${providedKey}'. Did you mean '${suggestion}'?`);
|
|
286
|
+
}
|
|
287
|
+
else {
|
|
288
|
+
warn(`Invalid command line argument '${providedKey}'.`);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
if (usedInvalidArgument || usedDeprecatedArgument) {
|
|
234
293
|
warn("Refer to https://www.mongodb.com/docs/mcp-server/get-started/ for setting up the MCP Server.");
|
|
235
294
|
}
|
|
295
|
+
if (usedInvalidArgument) {
|
|
296
|
+
exit(1);
|
|
297
|
+
}
|
|
236
298
|
}
|
|
237
299
|
function commaSeparatedToArray(str) {
|
|
238
300
|
if (str === undefined) {
|
|
@@ -252,6 +314,26 @@ function commaSeparatedToArray(str) {
|
|
|
252
314
|
}
|
|
253
315
|
return str;
|
|
254
316
|
}
|
|
317
|
+
function registerKnownSecretsInRootKeychain(userConfig) {
|
|
318
|
+
const keychain = keychain_js_1.Keychain.root;
|
|
319
|
+
const maybeRegister = (value, kind) => {
|
|
320
|
+
if (value) {
|
|
321
|
+
keychain.register(value, kind);
|
|
322
|
+
}
|
|
323
|
+
};
|
|
324
|
+
maybeRegister(userConfig.apiClientId, "user");
|
|
325
|
+
maybeRegister(userConfig.apiClientSecret, "password");
|
|
326
|
+
maybeRegister(userConfig.awsAccessKeyId, "password");
|
|
327
|
+
maybeRegister(userConfig.awsIamSessionToken, "password");
|
|
328
|
+
maybeRegister(userConfig.awsSecretAccessKey, "password");
|
|
329
|
+
maybeRegister(userConfig.awsSessionToken, "password");
|
|
330
|
+
maybeRegister(userConfig.password, "password");
|
|
331
|
+
maybeRegister(userConfig.tlsCAFile, "url");
|
|
332
|
+
maybeRegister(userConfig.tlsCRLFile, "url");
|
|
333
|
+
maybeRegister(userConfig.tlsCertificateKeyFile, "url");
|
|
334
|
+
maybeRegister(userConfig.tlsCertificateKeyFilePassword, "password");
|
|
335
|
+
maybeRegister(userConfig.username, "user");
|
|
336
|
+
}
|
|
255
337
|
function setupUserConfig({ cli, env, defaults, }) {
|
|
256
338
|
const userConfig = {
|
|
257
339
|
...defaults,
|
|
@@ -288,6 +370,7 @@ function setupUserConfig({ cli, env, defaults, }) {
|
|
|
288
370
|
throw new Error(`Invalid logger: ${loggerType}`);
|
|
289
371
|
}
|
|
290
372
|
}
|
|
373
|
+
registerKnownSecretsInRootKeychain(userConfig);
|
|
291
374
|
return userConfig;
|
|
292
375
|
}
|
|
293
376
|
function setupDriverConfig({ config, defaults, }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import { ErrorCodes, type MongoDBError } from "./errors.js";
|
|
3
|
+
import type { AnyConnectionState } from "./connectionManager.js";
|
|
4
|
+
import type { ToolBase } from "../tools/tool.js";
|
|
5
|
+
export type ConnectionErrorHandler = (error: MongoDBError<ErrorCodes.NotConnectedToMongoDB | ErrorCodes.MisconfiguredConnectionString>, additionalContext: ConnectionErrorHandlerContext) => ConnectionErrorUnhandled | ConnectionErrorHandled;
|
|
6
|
+
export type ConnectionErrorHandlerContext = {
|
|
7
|
+
availableTools: ToolBase[];
|
|
8
|
+
connectionState: AnyConnectionState;
|
|
9
|
+
};
|
|
10
|
+
export type ConnectionErrorUnhandled = {
|
|
11
|
+
errorHandled: false;
|
|
12
|
+
};
|
|
13
|
+
export type ConnectionErrorHandled = {
|
|
14
|
+
errorHandled: true;
|
|
15
|
+
result: CallToolResult;
|
|
16
|
+
};
|
|
17
|
+
export declare const connectionErrorHandler: ConnectionErrorHandler;
|
|
18
|
+
//# sourceMappingURL=connectionErrorHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectionErrorHandler.d.ts","sourceRoot":"","sources":["../../../src/common/connectionErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,MAAM,sBAAsB,GAAG,CACjC,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,qBAAqB,GAAG,UAAU,CAAC,6BAA6B,CAAC,EAChG,iBAAiB,EAAE,6BAA6B,KAC/C,wBAAwB,GAAG,sBAAsB,CAAC;AAEvD,MAAM,MAAM,6BAA6B,GAAG;IAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;IAAC,eAAe,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAChH,MAAM,MAAM,wBAAwB,GAAG;IAAE,YAAY,EAAE,KAAK,CAAA;CAAE,CAAC;AAC/D,MAAM,MAAM,sBAAsB,GAAG;IAAE,YAAY,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC;AAEpF,eAAO,MAAM,sBAAsB,EAAE,sBAmEpC,CAAC"}
|