mongodb-mcp-server 0.0.5 → 0.0.7

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 (121) hide show
  1. package/.github/CODEOWNERS +3 -0
  2. package/.github/dependabot.yml +10 -0
  3. package/.github/workflows/code_health.yaml +9 -27
  4. package/.github/workflows/code_health_fork.yaml +106 -0
  5. package/.github/workflows/codeql.yml +34 -0
  6. package/.github/workflows/lint.yml +37 -0
  7. package/.github/workflows/prepare_release.yaml +12 -4
  8. package/.github/workflows/publish.yaml +6 -3
  9. package/.prettierrc.json +1 -1
  10. package/README.md +16 -0
  11. package/dist/common/atlas/apiClient.js +1 -5
  12. package/dist/common/atlas/apiClient.js.map +1 -1
  13. package/dist/config.js +3 -1
  14. package/dist/config.js.map +1 -1
  15. package/dist/errors.js +1 -1
  16. package/dist/errors.js.map +1 -1
  17. package/dist/index.js +2 -3
  18. package/dist/index.js.map +1 -1
  19. package/dist/logger.js +20 -1
  20. package/dist/logger.js.map +1 -1
  21. package/dist/server.js +44 -3
  22. package/dist/server.js.map +1 -1
  23. package/dist/session.js +50 -5
  24. package/dist/session.js.map +1 -1
  25. package/dist/telemetry/constants.js.map +1 -1
  26. package/dist/telemetry/telemetry.js +7 -6
  27. package/dist/telemetry/telemetry.js.map +1 -1
  28. package/dist/tools/atlas/{createAccessList.js → create/createAccessList.js} +1 -1
  29. package/dist/tools/atlas/create/createAccessList.js.map +1 -0
  30. package/dist/tools/atlas/{createDBUser.js → create/createDBUser.js} +1 -1
  31. package/dist/tools/atlas/create/createDBUser.js.map +1 -0
  32. package/dist/tools/atlas/{createFreeCluster.js → create/createFreeCluster.js} +5 -2
  33. package/dist/tools/atlas/create/createFreeCluster.js.map +1 -0
  34. package/dist/tools/atlas/{createProject.js → create/createProject.js} +1 -1
  35. package/dist/tools/atlas/create/createProject.js.map +1 -0
  36. package/dist/tools/atlas/metadata/connectCluster.js +97 -0
  37. package/dist/tools/atlas/metadata/connectCluster.js.map +1 -0
  38. package/dist/tools/atlas/{inspectAccessList.js → read/inspectAccessList.js} +1 -1
  39. package/dist/tools/atlas/read/inspectAccessList.js.map +1 -0
  40. package/dist/tools/atlas/{inspectCluster.js → read/inspectCluster.js} +1 -1
  41. package/dist/tools/atlas/read/inspectCluster.js.map +1 -0
  42. package/dist/tools/atlas/{listClusters.js → read/listClusters.js} +1 -1
  43. package/dist/tools/atlas/read/listClusters.js.map +1 -0
  44. package/dist/tools/atlas/{listDBUsers.js → read/listDBUsers.js} +1 -1
  45. package/dist/tools/atlas/read/listDBUsers.js.map +1 -0
  46. package/dist/tools/atlas/{listOrgs.js → read/listOrgs.js} +1 -1
  47. package/dist/tools/atlas/read/listOrgs.js.map +1 -0
  48. package/dist/tools/atlas/{listProjects.js → read/listProjects.js} +1 -1
  49. package/dist/tools/atlas/read/listProjects.js.map +1 -0
  50. package/dist/tools/atlas/tools.js +12 -10
  51. package/dist/tools/atlas/tools.js.map +1 -1
  52. package/dist/tools/mongodb/create/insertMany.js +1 -1
  53. package/dist/tools/mongodb/create/insertMany.js.map +1 -1
  54. package/dist/tools/mongodb/delete/deleteMany.js +1 -2
  55. package/dist/tools/mongodb/delete/deleteMany.js.map +1 -1
  56. package/dist/tools/mongodb/metadata/connect.js +59 -71
  57. package/dist/tools/mongodb/metadata/connect.js.map +1 -1
  58. package/dist/tools/mongodb/mongodbTool.js +37 -30
  59. package/dist/tools/mongodb/mongodbTool.js.map +1 -1
  60. package/dist/tools/mongodb/read/aggregate.js +1 -1
  61. package/dist/tools/mongodb/read/aggregate.js.map +1 -1
  62. package/dist/tools/mongodb/read/count.js +1 -2
  63. package/dist/tools/mongodb/read/count.js.map +1 -1
  64. package/dist/tools/mongodb/read/find.js +2 -4
  65. package/dist/tools/mongodb/read/find.js.map +1 -1
  66. package/dist/tools/mongodb/tools.js +4 -2
  67. package/dist/tools/mongodb/tools.js.map +1 -1
  68. package/dist/tools/mongodb/update/updateMany.js +2 -4
  69. package/dist/tools/mongodb/update/updateMany.js.map +1 -1
  70. package/dist/tools/tool.js +30 -6
  71. package/dist/tools/tool.js.map +1 -1
  72. package/package.json +3 -3
  73. package/src/common/atlas/apiClient.ts +3 -11
  74. package/src/config.ts +13 -8
  75. package/src/errors.ts +1 -1
  76. package/src/index.ts +3 -3
  77. package/src/logger.ts +26 -1
  78. package/src/server.ts +60 -5
  79. package/src/session.ts +69 -6
  80. package/src/telemetry/constants.ts +2 -2
  81. package/src/telemetry/telemetry.ts +9 -21
  82. package/src/telemetry/types.ts +28 -11
  83. package/src/tools/atlas/{createAccessList.ts → create/createAccessList.ts} +2 -2
  84. package/src/tools/atlas/{createDBUser.ts → create/createDBUser.ts} +3 -3
  85. package/src/tools/atlas/{createFreeCluster.ts → create/createFreeCluster.ts} +7 -4
  86. package/src/tools/atlas/{createProject.ts → create/createProject.ts} +3 -3
  87. package/src/tools/atlas/metadata/connectCluster.ts +114 -0
  88. package/src/tools/atlas/{inspectAccessList.ts → read/inspectAccessList.ts} +2 -2
  89. package/src/tools/atlas/{inspectCluster.ts → read/inspectCluster.ts} +3 -3
  90. package/src/tools/atlas/{listClusters.ts → read/listClusters.ts} +3 -3
  91. package/src/tools/atlas/{listDBUsers.ts → read/listDBUsers.ts} +3 -3
  92. package/src/tools/atlas/{listOrgs.ts → read/listOrgs.ts} +2 -2
  93. package/src/tools/atlas/{listProjects.ts → read/listProjects.ts} +3 -3
  94. package/src/tools/atlas/tools.ts +12 -10
  95. package/src/tools/mongodb/create/insertMany.ts +1 -1
  96. package/src/tools/mongodb/delete/deleteMany.ts +1 -2
  97. package/src/tools/mongodb/metadata/connect.ts +78 -75
  98. package/src/tools/mongodb/mongodbTool.ts +40 -30
  99. package/src/tools/mongodb/read/aggregate.ts +1 -1
  100. package/src/tools/mongodb/read/count.ts +1 -2
  101. package/src/tools/mongodb/read/find.ts +2 -4
  102. package/src/tools/mongodb/tools.ts +4 -2
  103. package/src/tools/mongodb/update/updateMany.ts +2 -4
  104. package/src/tools/tool.ts +40 -13
  105. package/tests/integration/helpers.ts +13 -3
  106. package/tests/integration/server.test.ts +46 -20
  107. package/tests/integration/tools/atlas/atlasHelpers.ts +7 -5
  108. package/tests/integration/tools/atlas/clusters.test.ts +68 -4
  109. package/tests/integration/tools/mongodb/metadata/connect.test.ts +85 -100
  110. package/tests/integration/tools/mongodb/mongodbHelpers.ts +32 -21
  111. package/tests/unit/telemetry.test.ts +200 -0
  112. package/dist/tools/atlas/createAccessList.js.map +0 -1
  113. package/dist/tools/atlas/createDBUser.js.map +0 -1
  114. package/dist/tools/atlas/createFreeCluster.js.map +0 -1
  115. package/dist/tools/atlas/createProject.js.map +0 -1
  116. package/dist/tools/atlas/inspectAccessList.js.map +0 -1
  117. package/dist/tools/atlas/inspectCluster.js.map +0 -1
  118. package/dist/tools/atlas/listClusters.js.map +0 -1
  119. package/dist/tools/atlas/listDBUsers.js.map +0 -1
  120. package/dist/tools/atlas/listOrgs.js.map +0 -1
  121. package/dist/tools/atlas/listProjects.js.map +0 -1
@@ -0,0 +1,3 @@
1
+ * @mongodb-js/mcp-server-developers
2
+ **/atlas @blva @fmenezes
3
+ **/mongodb @nirinchev @gagik
@@ -0,0 +1,10 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "npm"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ - package-ecosystem: "github-actions"
8
+ directory: "/"
9
+ schedule:
10
+ interval: "weekly"
@@ -5,35 +5,13 @@ on:
5
5
  branches:
6
6
  - main
7
7
  pull_request:
8
- jobs:
9
- check-style:
10
- runs-on: ubuntu-latest
11
- steps:
12
- - uses: GitHubSecurityLab/actions-permissions/monitor@v1
13
- - uses: actions/checkout@v4
14
- - uses: actions/setup-node@v4
15
- with:
16
- node-version-file: package.json
17
- cache: "npm"
18
- - name: Install dependencies
19
- run: npm ci
20
- - name: Run style check
21
- run: npm run check
22
8
 
23
- check-generate:
24
- runs-on: ubuntu-latest
25
- steps:
26
- - uses: GitHubSecurityLab/actions-permissions/monitor@v1
27
- - uses: actions/checkout@v4
28
- - uses: actions/setup-node@v4
29
- with:
30
- node-version-file: package.json
31
- cache: "npm"
32
- - name: Install dependencies
33
- run: npm ci
34
- - run: npm run generate
9
+ permissions: {}
35
10
 
11
+ jobs:
36
12
  run-tests:
13
+ name: Run MongoDB tests
14
+ if: github.event.pull_request.user.login != 'dependabot[bot]' && github.event.pull_request.head.repo.full_name == github.repository
37
15
  strategy:
38
16
  matrix:
39
17
  os: [ubuntu-latest, macos-latest, windows-latest]
@@ -59,6 +37,8 @@ jobs:
59
37
  path: coverage/lcov.info
60
38
 
61
39
  run-atlas-tests:
40
+ name: Run Atlas tests
41
+ if: github.event.pull_request.user.login != 'dependabot[bot]' && github.event.pull_request.head.repo.full_name == github.repository
62
42
  runs-on: ubuntu-latest
63
43
  steps:
64
44
  - uses: GitHubSecurityLab/actions-permissions/monitor@v1
@@ -81,10 +61,12 @@ jobs:
81
61
  with:
82
62
  name: atlas-test-results
83
63
  path: coverage/lcov.info
64
+
84
65
  coverage:
66
+ name: Report Coverage
67
+ if: always() && github.event.pull_request.user.login != 'dependabot[bot]' && github.event.pull_request.head.repo.full_name == github.repository
85
68
  runs-on: ubuntu-latest
86
69
  needs: [run-tests, run-atlas-tests]
87
- if: always()
88
70
  steps:
89
71
  - uses: actions/checkout@v4
90
72
  - uses: actions/setup-node@v4
@@ -0,0 +1,106 @@
1
+ ---
2
+ name: Code Health (fork)
3
+ on:
4
+ pull_request_target:
5
+ branches:
6
+ - main
7
+
8
+ permissions: {}
9
+
10
+ jobs:
11
+ run-tests:
12
+ name: Run MongoDB tests
13
+ if: github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.head.repo.full_name != github.repository
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: GitHubSecurityLab/actions-permissions/monitor@v1
17
+ - uses: actions/checkout@v4
18
+ - uses: actions/setup-node@v4
19
+ with:
20
+ node-version-file: package.json
21
+ cache: "npm"
22
+ - name: Install dependencies
23
+ run: npm ci
24
+ - name: Run tests
25
+ run: npm test
26
+ - name: Upload test results
27
+ if: always()
28
+ uses: actions/upload-artifact@v4
29
+ with:
30
+ name: test-results
31
+ path: coverage/lcov.info
32
+
33
+ run-atlas-tests:
34
+ name: Run Atlas tests
35
+ if: github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.head.repo.full_name != github.repository
36
+ runs-on: ubuntu-latest
37
+ steps:
38
+ - uses: GitHubSecurityLab/actions-permissions/monitor@v1
39
+ - uses: actions/checkout@v4
40
+ - uses: actions/setup-node@v4
41
+ with:
42
+ node-version-file: package.json
43
+ cache: "npm"
44
+ - name: Install dependencies
45
+ run: npm ci
46
+ - name: Run tests
47
+ env:
48
+ MDB_MCP_API_CLIENT_ID: ${{ secrets.TEST_ATLAS_CLIENT_ID }}
49
+ MDB_MCP_API_CLIENT_SECRET: ${{ secrets.TEST_ATLAS_CLIENT_SECRET }}
50
+ MDB_MCP_API_BASE_URL: ${{ vars.TEST_ATLAS_BASE_URL }}
51
+ run: npm test -- --testPathIgnorePatterns "tests/integration/tools/mongodb" --testPathIgnorePatterns "tests/integration/[^/]+\.ts"
52
+ - name: Upload test results
53
+ uses: actions/upload-artifact@v4
54
+ if: always()
55
+ with:
56
+ name: atlas-test-results
57
+ path: coverage/lcov.info
58
+
59
+ coverage:
60
+ name: Report Coverage
61
+ if: always() && github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.head.repo.full_name != github.repository
62
+ runs-on: ubuntu-latest
63
+ needs: [run-tests, run-atlas-tests]
64
+ steps:
65
+ - uses: actions/checkout@v4
66
+ - uses: actions/setup-node@v4
67
+ with:
68
+ node-version-file: package.json
69
+ cache: "npm"
70
+ - name: Install dependencies
71
+ run: npm ci
72
+ - name: Download test results
73
+ uses: actions/download-artifact@v4
74
+ with:
75
+ name: test-results
76
+ path: coverage/mongodb
77
+ - name: Download atlas test results
78
+ uses: actions/download-artifact@v4
79
+ with:
80
+ name: atlas-test-results
81
+ path: coverage/atlas
82
+ - name: Merge coverage reports
83
+ run: |
84
+ npx -y lcov-result-merger@5.0.1 "coverage/*/lcov.info" "coverage/lcov.info"
85
+ - name: Coveralls GitHub Action
86
+ uses: coverallsapp/github-action@v2.3.6
87
+ with:
88
+ file: coverage/lcov.info
89
+ git-branch: ${{ github.head_ref || github.ref_name }}
90
+ git-commit: ${{ github.event.pull_request.head.sha || github.sha }}
91
+
92
+ merge-dependabot-pr:
93
+ name: Merge Dependabot PR
94
+ if: github.event.pull_request.user.login == 'dependabot[bot]'
95
+ runs-on: ubuntu-latest
96
+ permissions:
97
+ pull-requests: write
98
+ contents: write
99
+ needs:
100
+ - coverage
101
+ steps:
102
+ - name: Enable auto-merge for Dependabot PRs
103
+ run: gh pr merge --auto --squash "$PR_URL"
104
+ env:
105
+ PR_URL: ${{github.event.pull_request.html_url}}
106
+ GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
@@ -0,0 +1,34 @@
1
+ name: "CodeQL Advanced"
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ pull_request:
7
+ branches: ["main"]
8
+ schedule:
9
+ - cron: "35 4 * * 4"
10
+
11
+ jobs:
12
+ analyze:
13
+ name: Analyze (${{ matrix.language }})
14
+ runs-on: ubuntu-latest
15
+ permissions:
16
+ security-events: write
17
+
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ language:
22
+ - actions
23
+ - javascript-typescript
24
+ steps:
25
+ - name: Checkout repository
26
+ uses: actions/checkout@v4
27
+ - name: Initialize CodeQL
28
+ uses: github/codeql-action/init@v3
29
+ with:
30
+ languages: ${{ matrix.language }}
31
+ - name: Perform CodeQL Analysis
32
+ uses: github/codeql-action/analyze@v3
33
+ with:
34
+ category: "/language:${{matrix.language}}"
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: Lint
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+
9
+ permissions: {}
10
+
11
+ jobs:
12
+ check-style:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: GitHubSecurityLab/actions-permissions/monitor@v1
16
+ - uses: actions/checkout@v4
17
+ - uses: actions/setup-node@v4
18
+ with:
19
+ node-version-file: package.json
20
+ cache: "npm"
21
+ - name: Install dependencies
22
+ run: npm ci
23
+ - name: Run style check
24
+ run: npm run check
25
+
26
+ check-generate:
27
+ runs-on: ubuntu-latest
28
+ steps:
29
+ - uses: GitHubSecurityLab/actions-permissions/monitor@v1
30
+ - uses: actions/checkout@v4
31
+ - uses: actions/setup-node@v4
32
+ with:
33
+ node-version-file: package.json
34
+ cache: "npm"
35
+ - name: Install dependencies
36
+ run: npm ci
37
+ - run: npm run generate
@@ -10,16 +10,18 @@ on:
10
10
  required: true
11
11
  default: "patch"
12
12
 
13
+ permissions: {}
14
+
13
15
  jobs:
14
16
  create-pr:
15
17
  runs-on: ubuntu-latest
16
18
  steps:
19
+ - uses: GitHubSecurityLab/actions-permissions/monitor@v1
17
20
  - uses: mongodb-js/devtools-shared/actions/setup-bot-token@main
18
21
  id: app-token
19
22
  with:
20
23
  app-id: ${{ vars.DEVTOOLS_BOT_APP_ID }}
21
24
  private-key: ${{ secrets.DEVTOOLS_BOT_PRIVATE_KEY }}
22
- - uses: GitHubSecurityLab/actions-permissions/monitor@v1
23
25
  - uses: actions/checkout@v4
24
26
  - uses: actions/setup-node@v4
25
27
  with:
@@ -32,14 +34,20 @@ jobs:
32
34
  echo "NEW_VERSION=$(npm version ${{ inputs.version }} --no-git-tag-version)" >> $GITHUB_OUTPUT
33
35
  - name: Create release PR
34
36
  uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # 7.0.8
37
+ id: create-pr
35
38
  with:
36
- title: "Release ${{ steps.bump-version.outputs.NEW_VERSION }}"
39
+ title: "chore: release ${{ steps.bump-version.outputs.NEW_VERSION }}"
37
40
  token: ${{ steps.app-token.outputs.token }}
38
- commit-message: "Bump version to ${{ steps.bump-version.outputs.NEW_VERSION }}"
41
+ commit-message: "chore: release ${{ steps.bump-version.outputs.NEW_VERSION }}"
39
42
  body: |
40
43
  This PR bumps the package version to ${{ steps.bump-version.outputs.NEW_VERSION }}.
41
44
  Once merged, the new version will be published to npm.
42
45
  base: main
43
- branch: release/${{ steps.bump-version.outputs.NEW_VERSION }}
46
+ branch: chore_release_${{ steps.bump-version.outputs.NEW_VERSION }}
44
47
  author: "${{ steps.app-token.outputs.app-slug}}[bot] <${{ steps.app-token.outputs.app-email }}>"
45
48
  committer: "${{ steps.app-token.outputs.app-slug}}[bot] <${{ steps.app-token.outputs.app-email }}>"
49
+ - name: Set auto merge
50
+ env:
51
+ GH_TOKEN: ${{ steps.app-token.outputs.token }}
52
+ run: |
53
+ gh pr merge ${{ steps.create-pr.outputs.pull-request-number }} --auto --squash
@@ -4,11 +4,11 @@ on:
4
4
  push:
5
5
  branches:
6
6
  - main
7
- permissions:
8
- contents: write
7
+
9
8
  jobs:
10
9
  check:
11
10
  runs-on: ubuntu-latest
11
+ permissions: {}
12
12
  outputs:
13
13
  VERSION_EXISTS: ${{ steps.check-version.outputs.VERSION_EXISTS }}
14
14
  VERSION: ${{ steps.get-version.outputs.VERSION }}
@@ -45,7 +45,10 @@ jobs:
45
45
  publish:
46
46
  runs-on: ubuntu-latest
47
47
  environment: Production
48
- needs: check
48
+ permissions:
49
+ contents: write
50
+ needs:
51
+ - check
49
52
  if: needs.check.outputs.VERSION_EXISTS == 'false'
50
53
  steps:
51
54
  - uses: GitHubSecurityLab/actions-permissions/monitor@v1
package/.prettierrc.json CHANGED
@@ -27,7 +27,7 @@
27
27
  }
28
28
  },
29
29
  {
30
- "files": "*.yaml",
30
+ "files": ["*.yaml", "*.yml"],
31
31
  "options": {
32
32
  "tabWidth": 2,
33
33
  "printWidth": 80
package/README.md CHANGED
@@ -104,6 +104,7 @@ You may experiment asking `Can you connect to my mongodb instance?`.
104
104
  - `atlas-list-clusters` - Lists MongoDB Atlas clusters
105
105
  - `atlas-inspect-cluster` - Inspect a specific MongoDB Atlas cluster
106
106
  - `atlas-create-free-cluster` - Create a free MongoDB Atlas cluster
107
+ - `atlas-connect-cluster` - Connects to MongoDB Atlas cluster
107
108
  - `atlas-inspect-access-list` - Inspect IP/CIDR ranges with access to MongoDB Atlas clusters
108
109
  - `atlas-create-access-list` - Configure IP/CIDR access list for MongoDB Atlas clusters
109
110
  - `atlas-list-db-users` - List MongoDB Atlas database users
@@ -150,6 +151,7 @@ The MongoDB MCP Server can be configured using multiple methods, with the follow
150
151
  | `connectionString` | MongoDB connection string for direct database connections (optional users may choose to inform it on every tool call) |
151
152
  | `logPath` | Folder to store logs |
152
153
  | `disabledTools` | An array of tool names, operation types, and/or categories of tools that will be disabled. |
154
+ | `readOnly` | When set to true, only allows read and metadata operation types, disabling create/update/delete operations |
153
155
 
154
156
  #### `logPath`
155
157
 
@@ -181,6 +183,19 @@ Operation types:
181
183
  - `read` - Tools that read resources, such as find, aggregate, list clusters, etc.
182
184
  - `metadata` - Tools that read metadata, such as list databases, list collections, collection schema, etc.
183
185
 
186
+ #### Read-Only Mode
187
+
188
+ The `readOnly` configuration option allows you to restrict the MCP server to only use tools with "read" and "metadata" operation types. When enabled, all tools that have "create", "update" or "delete" operation types will not be registered with the server.
189
+
190
+ This is useful for scenarios where you want to provide access to MongoDB data for analysis without allowing any modifications to the data or infrastructure.
191
+
192
+ You can enable read-only mode using:
193
+
194
+ - **Environment variable**: `export MDB_MCP_READ_ONLY=true`
195
+ - **Command-line argument**: `--readOnly`
196
+
197
+ 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.
198
+
184
199
  ### Atlas API Access
185
200
 
186
201
  To use the Atlas API tools, you'll need to create a service account in MongoDB Atlas:
@@ -221,6 +236,7 @@ export MDB_MCP_API_CLIENT_SECRET="your-atlas-client-secret"
221
236
  export MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
222
237
 
223
238
  export MDB_MCP_LOG_PATH="/path/to/logs"
239
+
224
240
  ```
225
241
 
226
242
  #### Command-Line Arguments
@@ -1,8 +1,6 @@
1
1
  import createClient from "openapi-fetch";
2
2
  import { ClientCredentials } from "simple-oauth2";
3
3
  import { ApiClientError } from "./apiClientError.js";
4
- import { mongoLogId } from "mongodb-log-writer";
5
- import logger from "../../logger.js";
6
4
  import { packageInfo } from "../../packageInfo.js";
7
5
  const ATLAS_API_VERSION = "2025-03-12";
8
6
  export class ApiClient {
@@ -37,8 +35,7 @@ export class ApiClient {
37
35
  };
38
36
  this.options = {
39
37
  ...options,
40
- baseUrl: options?.baseUrl || "https://cloud.mongodb.com/",
41
- userAgent: options?.userAgent ||
38
+ userAgent: options.userAgent ||
42
39
  `AtlasMCP/${packageInfo.version} (${process.platform}; ${process.arch}; ${process.env.HOSTNAME || "unknown"})`,
43
40
  };
44
41
  this.client = createClient({
@@ -64,7 +61,6 @@ export class ApiClient {
64
61
  this.client.use(this.errorMiddleware);
65
62
  }
66
63
  hasCredentials() {
67
- logger.info(mongoLogId(1000000), "api-client", `Checking if API client has credentials: ${!!(this.oauth2Client && this.accessToken)}`);
68
64
  return !!(this.oauth2Client && this.accessToken);
69
65
  }
70
66
  async getIpInfo() {
@@ -1 +1 @@
1
- {"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../../src/common/atlas/apiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../../src/common/atlas/apiClient.ts"],"names":[],"mappings":"AAAA,OAAO,YAAoC,MAAM,eAAe,CAAC;AAEjE,OAAO,EAAe,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAavC,MAAM,OAAO,SAAS;IA4ClB,YAAY,OAAyB;QA/B7B,mBAAc,GAAG,KAAK,IAAI,EAAE;YAChC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBACzE,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,YAAkC,CAAC;QACtE,CAAC,CAAC;QAEM,mBAAc,GAAe;YACjC,SAAS,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;gBACzC,IAAI,UAAU,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBACtF,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,IAAI,CAAC;oBACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAChD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,WAAW,EAAE,CAAC,CAAC;oBAC9D,OAAO,OAAO,CAAC;gBACnB,CAAC;gBAAC,MAAM,CAAC;oBACL,kDAAkD;gBACtD,CAAC;YACL,CAAC;SACJ,CAAC;QAEe,oBAAe,GAAe;YAC3C,KAAK,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE;gBACzB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACf,MAAM,MAAM,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACtD,CAAC;YACL,CAAC;SACJ,CAAC;QAGE,IAAI,CAAC,OAAO,GAAG;YACX,GAAG,OAAO;YACV,SAAS,EACL,OAAO,CAAC,SAAS;gBACjB,YAAY,WAAW,CAAC,OAAO,KAAK,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,GAAG;SACrH,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,YAAY,CAAQ;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,OAAO,EAAE;gBACL,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;gBACpC,MAAM,EAAE,yBAAyB,iBAAiB,OAAO;aAC5D;SACJ,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC;YAC/E,IAAI,CAAC,YAAY,GAAG,IAAI,iBAAiB,CAAC;gBACtC,MAAM,EAAE;oBACJ,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ;oBACrC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY;iBAChD;gBACD,IAAI,EAAE;oBACF,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;oBAC/B,SAAS,EAAE,kBAAkB;iBAChC;aACJ,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAEM,cAAc;QACjB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,SAAS;QAGlB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEhD,MAAM,QAAQ,GAAG,oBAAoB,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACL,MAAM,EAAE,kBAAkB;gBAC1B,aAAa,EAAE,UAAU,WAAW,EAAE;gBACtC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;aACvC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,MAAM,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAE3B,CAAC;IACP,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAmB;QAChC,IAAI,QAAQ,GAAG,qCAAqC,CAAC;QACrD,MAAM,OAAO,GAA2B;YACpC,MAAM,EAAE,kBAAkB;YAC1B,cAAc,EAAE,kBAAkB;YAClC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;SACvC,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAChD,IAAI,WAAW,EAAE,CAAC;YACd,QAAQ,GAAG,mCAAmC,CAAC;YAC/C,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,WAAW,EAAE,CAAC;QACvD,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,MAAM,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,0BAA0B,CAAC,OAAgE;QAC7F,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAkD;QACjE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAkD;QAClE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAkD;QAClE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA+C;QAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,OAA6D;QACxF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2CAA2C,EAAE,OAAO,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,OAA8D;QAC1F,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE,OAAO,CAAC,CAAC;QAC9F,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,OAA8D;QAC1F,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,wDAAwD,EAAE,OAAO,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAiD;QAChE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAkD;QAClE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAkD;QAClE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uDAAuD,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA+C;QAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uDAAuD,EAAE,OAAO,CAAC,CAAC;QACzG,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAsD;QAC1E,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8CAA8C,EAAE,OAAO,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAuD;QAC5E,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE,OAAO,CAAC,CAAC;QACjG,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAuD;QAC5E,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,wEAAwE,EAAE,OAAO,CAAC,CAAC;IAChH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAuD;QAC3E,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,OAA6D;QACxF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IAChB,CAAC;CAGJ"}
package/dist/config.js CHANGED
@@ -2,6 +2,7 @@ import path from "path";
2
2
  import os from "os";
3
3
  import argv from "yargs-parser";
4
4
  const defaults = {
5
+ apiBaseUrl: "https://cloud.mongodb.com/",
5
6
  logPath: getLogPath(),
6
7
  connectOptions: {
7
8
  readConcern: "local",
@@ -10,7 +11,8 @@ const defaults = {
10
11
  timeoutMS: 30000,
11
12
  },
12
13
  disabledTools: [],
13
- telemetry: "disabled",
14
+ telemetry: "enabled",
15
+ readOnly: false,
14
16
  };
15
17
  export const config = {
16
18
  ...defaults,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,cAAc,CAAC;AAyBhC,MAAM,QAAQ,GAAe;IACzB,UAAU,EAAE,4BAA4B;IACxC,OAAO,EAAE,UAAU,EAAE;IACrB,cAAc,EAAE;QACZ,WAAW,EAAE,OAAO;QACpB,cAAc,EAAE,oBAAoB;QACpC,YAAY,EAAE,UAAU;QACxB,SAAS,EAAE,KAAM;KACpB;IACD,aAAa,EAAE,EAAE;IACjB,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,KAAK;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,GAAG,QAAQ;IACX,GAAG,YAAY,EAAE;IACjB,GAAG,YAAY,EAAE;CACpB,CAAC;AAEF,SAAS,UAAU;IACf,MAAM,aAAa,GACf,OAAO,CAAC,QAAQ,KAAK,OAAO;QACxB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC;QACvF,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;IAE9C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IAErE,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,oFAAoF;AACpF,yFAAyF;AACzF,uBAAuB;AACvB,SAAS,YAAY;IACjB,SAAS,QAAQ,CAAC,GAA4B,EAAE,IAAc,EAAE,KAAa;QACzE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtB,GAAG,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;gBAChC,OAAO;YACX,CAAC;YAED,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC/C,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;gBACtD,GAAG,CAAC,YAAY,CAAC,GAAG,YAAY,KAAK,MAAM,CAAC;gBAC5C,OAAO;YACX,CAAC;YAED,kCAAkC;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1D,OAAO;YACX,CAAC;YAED,GAAG,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;YAC1B,OAAO;QACX,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC;QAED,QAAQ,CAAC,GAAG,CAAC,YAAY,CAA4B,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CACnD,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAChD,CAAC;IACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,GAAG;aAChB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;aACvB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjD,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW;IACvC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AACtG,CAAC;AAED,+DAA+D;AAC/D,SAAS,YAAY;IACjB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC/B,KAAK,EAAE,CAAC,eAAe,CAAC;KAC3B,CAAmC,CAAC;AACzC,CAAC"}
package/dist/errors.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export var ErrorCodes;
2
2
  (function (ErrorCodes) {
3
3
  ErrorCodes[ErrorCodes["NotConnectedToMongoDB"] = 1000000] = "NotConnectedToMongoDB";
4
- ErrorCodes[ErrorCodes["InvalidParams"] = 1000001] = "InvalidParams";
4
+ ErrorCodes[ErrorCodes["MisconfiguredConnectionString"] = 1000001] = "MisconfiguredConnectionString";
5
5
  })(ErrorCodes || (ErrorCodes = {}));
6
6
  export class MongoDBError extends Error {
7
7
  constructor(code, message) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,mFAAiC,CAAA;IACjC,mEAAyB,CAAA;AAC7B,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IACnC,YACW,IAAgB,EACvB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAY;IAI3B,CAAC;CACJ"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,mFAAiC,CAAA;IACjC,mGAAyC,CAAA;AAC7C,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IACnC,YACW,IAAgB,EACvB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAY;IAI3B,CAAC;CACJ"}
package/dist/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
- import logger from "./logger.js";
4
- import { mongoLogId } from "mongodb-log-writer";
3
+ import logger, { LogId } from "./logger.js";
5
4
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
5
  import { config } from "./config.js";
7
6
  import { Session } from "./session.js";
@@ -26,7 +25,7 @@ try {
26
25
  await server.connect(transport);
27
26
  }
28
27
  catch (error) {
29
- logger.emergency(mongoLogId(1000004), "server", `Fatal error running server: ${error}`);
28
+ logger.emergency(LogId.serverStartFailure, "server", `Fatal error running server: ${error}`);
30
29
  process.exit(1);
31
30
  }
32
31
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,IAAI,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;KAC1C,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;QAC5B,IAAI,EAAE,WAAW,CAAC,aAAa;QAC/B,OAAO,EAAE,WAAW,CAAC,OAAO;KAC/B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACtB,SAAS;QACT,OAAO;QACP,UAAU,EAAE,MAAM;KACrB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAAC,OAAO,KAAc,EAAE,CAAC;IACtB,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,OAAS,CAAC,EAAE,QAAQ,EAAE,+BAA+B,KAAe,EAAE,CAAC,CAAC;IACpG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,IAAI,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;KAC1C,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;QAC5B,IAAI,EAAE,WAAW,CAAC,aAAa;QAC/B,OAAO,EAAE,WAAW,CAAC,OAAO;KAC/B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACtB,SAAS;QACT,OAAO;QACP,UAAU,EAAE,MAAM;KACrB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAAC,OAAO,KAAc,EAAE,CAAC;IACtB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,EAAE,+BAA+B,KAAe,EAAE,CAAC,CAAC;IACvG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
package/dist/logger.js CHANGED
@@ -1,6 +1,21 @@
1
1
  import fs from "fs/promises";
2
- import { MongoLogManager } from "mongodb-log-writer";
2
+ import { mongoLogId, MongoLogManager } from "mongodb-log-writer";
3
3
  import redact from "mongodb-redact";
4
+ export const LogId = {
5
+ serverStartFailure: mongoLogId(1000001),
6
+ serverInitialized: mongoLogId(1000002),
7
+ atlasCheckCredentials: mongoLogId(1001001),
8
+ atlasDeleteDatabaseUserFailure: mongoLogId(1001002),
9
+ telemetryDisabled: mongoLogId(1002001),
10
+ telemetryEmitFailure: mongoLogId(1002002),
11
+ telemetryEmitStart: mongoLogId(1002003),
12
+ telemetryEmitSuccess: mongoLogId(1002004),
13
+ toolExecute: mongoLogId(1003001),
14
+ toolExecuteFailure: mongoLogId(1003002),
15
+ toolDisabled: mongoLogId(1003003),
16
+ mongodbConnectFailure: mongoLogId(1004001),
17
+ mongodbDisconnectFailure: mongoLogId(1004002),
18
+ };
4
19
  class LoggerBase {
5
20
  info(id, context, message) {
6
21
  this.log("info", id, context, message);
@@ -83,6 +98,10 @@ class McpLogger extends LoggerBase {
83
98
  this.server = server;
84
99
  }
85
100
  log(level, _, context, message) {
101
+ // Only log if the server is connected
102
+ if (!this.server?.isConnected()) {
103
+ return;
104
+ }
86
105
  void this.server.server.sendLoggingMessage({
87
106
  level,
88
107
  data: `[${context}]: ${message}`,
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAAc,eAAe,EAAkB,MAAM,oBAAoB,CAAC;AACjF,OAAO,MAAM,MAAM,gBAAgB,CAAC;AAMpC,MAAe,UAAU;IAGrB,IAAI,CAAC,EAAc,EAAE,OAAe,EAAE,OAAe;QACjD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,EAAc,EAAE,OAAe,EAAE,OAAe;QAClD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,KAAK,CAAC,EAAc,EAAE,OAAe,EAAE,OAAe;QAClD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,EAAc,EAAE,OAAe,EAAE,OAAe;QACnD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,CAAC,EAAc,EAAE,OAAe,EAAE,OAAe;QACpD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,QAAQ,CAAC,EAAc,EAAE,OAAe,EAAE,OAAe;QACrD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,EAAc,EAAE,OAAe,EAAE,OAAe;QAClD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,CAAC,EAAc,EAAE,OAAe,EAAE,OAAe;QACtD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;CACJ;AAED,MAAM,aAAc,SAAQ,UAAU;IAClC,GAAG,CAAC,KAAe,EAAE,EAAc,EAAE,OAAe,EAAE,OAAe;QACjE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,OAAO,MAAM,OAAO,KAAK,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;CACJ;AAED,MAAM,UAAW,SAAQ,UAAU;IAC/B,YAA4B,SAAyB;QACjD,KAAK,EAAE,CAAC;QADgB,cAAS,GAAT,SAAS,CAAgB;IAErD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAe;QACjC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7C,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;YAChC,SAAS,EAAE,OAAO;YAClB,aAAa,EAAE,EAAE;YACjB,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,OAAO,EAAE,OAAO,CAAC,KAAK;YACtB,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,CAAC;SACjB,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAEnC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;QAElD,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,GAAG,CAAC,KAAe,EAAE,EAAc,EAAE,OAAe,EAAE,OAAe;QACjE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAEtD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAEO,oBAAoB,CAAC,KAAe;QACxC,QAAQ,KAAK,EAAE,CAAC;YACZ,KAAK,MAAM;gBACP,OAAO,MAAM,CAAC;YAClB,KAAK,SAAS;gBACV,OAAO,MAAM,CAAC;YAClB,KAAK,OAAO;gBACR,OAAO,OAAO,CAAC;YACnB,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO;gBACR,OAAO,OAAO,CAAC;YACnB,KAAK,UAAU,CAAC;YAChB,KAAK,OAAO,CAAC;YACb,KAAK,WAAW;gBACZ,OAAO,OAAO,CAAC;YACnB;gBACI,OAAO,MAAM,CAAC;QACtB,CAAC;IACL,CAAC;CACJ;AAED,MAAM,SAAU,SAAQ,UAAU;IAC9B,YAAoB,MAAiB;QACjC,KAAK,EAAE,CAAC;QADQ,WAAM,GAAN,MAAM,CAAW;IAErC,CAAC;IAED,GAAG,CAAC,KAAe,EAAE,CAAa,EAAE,OAAe,EAAE,OAAe;QAChE,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACvC,KAAK;YACL,IAAI,EAAE,IAAI,OAAO,MAAM,OAAO,EAAE;SACnC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,MAAM,eAAgB,SAAQ,UAAU;IAGpC,YAAY,GAAG,OAAqB;QAChC,KAAK,EAAE,CAAC;QAER,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,2BAA2B;YAC3B,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;YACrC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,UAAU,CAAC,GAAG,OAAqB;QAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,GAAG,CAAC,KAAe,EAAE,EAAc,EAAE,OAAe,EAAE,OAAe;QACjE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;CACJ;AAED,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;AACrC,eAAe,MAAM,CAAC;AAEtB,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAiB,EAAE,OAAe;IACrE,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAEzC,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}