mongodb-mcp-server 0.0.4 → 0.0.5

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 (149) hide show
  1. package/.github/workflows/code_health.yaml +53 -4
  2. package/.github/workflows/prepare_release.yaml +4 -4
  3. package/README.md +2 -0
  4. package/dist/common/atlas/apiClient.js +30 -2
  5. package/dist/common/atlas/apiClient.js.map +1 -1
  6. package/dist/config.js +2 -7
  7. package/dist/config.js.map +1 -1
  8. package/dist/index.js +10 -4
  9. package/dist/index.js.map +1 -1
  10. package/dist/logger.js +52 -27
  11. package/dist/logger.js.map +1 -1
  12. package/dist/packageInfo.js +6 -0
  13. package/dist/packageInfo.js.map +1 -0
  14. package/dist/server.js +71 -8
  15. package/dist/server.js.map +1 -1
  16. package/dist/session.js +17 -12
  17. package/dist/session.js.map +1 -1
  18. package/dist/telemetry/constants.js +15 -0
  19. package/dist/telemetry/constants.js.map +1 -0
  20. package/dist/telemetry/eventCache.js +53 -0
  21. package/dist/telemetry/eventCache.js.map +1 -0
  22. package/dist/telemetry/telemetry.js +96 -0
  23. package/dist/telemetry/telemetry.js.map +1 -0
  24. package/dist/telemetry/types.js +2 -0
  25. package/dist/telemetry/types.js.map +1 -0
  26. package/dist/tools/atlas/atlasTool.js +8 -3
  27. package/dist/tools/atlas/atlasTool.js.map +1 -1
  28. package/dist/tools/atlas/createAccessList.js +0 -1
  29. package/dist/tools/atlas/createAccessList.js.map +1 -1
  30. package/dist/tools/atlas/createDBUser.js +0 -1
  31. package/dist/tools/atlas/createDBUser.js.map +1 -1
  32. package/dist/tools/atlas/createFreeCluster.js +0 -1
  33. package/dist/tools/atlas/createFreeCluster.js.map +1 -1
  34. package/dist/tools/atlas/createProject.js +0 -1
  35. package/dist/tools/atlas/createProject.js.map +1 -1
  36. package/dist/tools/atlas/inspectAccessList.js +0 -1
  37. package/dist/tools/atlas/inspectAccessList.js.map +1 -1
  38. package/dist/tools/atlas/inspectCluster.js +0 -1
  39. package/dist/tools/atlas/inspectCluster.js.map +1 -1
  40. package/dist/tools/atlas/listClusters.js +0 -1
  41. package/dist/tools/atlas/listClusters.js.map +1 -1
  42. package/dist/tools/atlas/listDBUsers.js +0 -1
  43. package/dist/tools/atlas/listDBUsers.js.map +1 -1
  44. package/dist/tools/atlas/listOrgs.js +0 -1
  45. package/dist/tools/atlas/listOrgs.js.map +1 -1
  46. package/dist/tools/atlas/listProjects.js +10 -4
  47. package/dist/tools/atlas/listProjects.js.map +1 -1
  48. package/dist/tools/mongodb/metadata/collectionSchema.js +15 -13
  49. package/dist/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  50. package/dist/tools/mongodb/metadata/collectionStorageSize.js +32 -3
  51. package/dist/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  52. package/dist/tools/mongodb/metadata/connect.js +5 -6
  53. package/dist/tools/mongodb/metadata/connect.js.map +1 -1
  54. package/dist/tools/mongodb/metadata/dbStats.js +6 -1
  55. package/dist/tools/mongodb/metadata/dbStats.js.map +1 -1
  56. package/dist/tools/mongodb/metadata/explain.js +14 -7
  57. package/dist/tools/mongodb/metadata/explain.js.map +1 -1
  58. package/dist/tools/mongodb/metadata/logs.js +45 -0
  59. package/dist/tools/mongodb/metadata/logs.js.map +1 -0
  60. package/dist/tools/mongodb/mongodbTool.js +10 -11
  61. package/dist/tools/mongodb/mongodbTool.js.map +1 -1
  62. package/dist/tools/mongodb/read/aggregate.js +3 -3
  63. package/dist/tools/mongodb/read/aggregate.js.map +1 -1
  64. package/dist/tools/mongodb/read/collectionIndexes.js +24 -5
  65. package/dist/tools/mongodb/read/collectionIndexes.js.map +1 -1
  66. package/dist/tools/mongodb/read/find.js +3 -2
  67. package/dist/tools/mongodb/read/find.js.map +1 -1
  68. package/dist/tools/mongodb/tools.js +2 -0
  69. package/dist/tools/mongodb/tools.js.map +1 -1
  70. package/dist/tools/mongodb/update/renameCollection.js +28 -4
  71. package/dist/tools/mongodb/update/renameCollection.js.map +1 -1
  72. package/dist/tools/mongodb/update/updateMany.js +5 -7
  73. package/dist/tools/mongodb/update/updateMany.js.map +1 -1
  74. package/dist/tools/tool.js +39 -10
  75. package/dist/tools/tool.js.map +1 -1
  76. package/eslint.config.js +29 -10
  77. package/global.d.ts +1 -0
  78. package/package.json +6 -2
  79. package/scripts/apply.ts +9 -7
  80. package/scripts/filter.ts +3 -2
  81. package/src/common/atlas/apiClient.ts +48 -7
  82. package/src/config.ts +4 -10
  83. package/src/index.ts +10 -6
  84. package/src/logger.ts +66 -28
  85. package/src/packageInfo.ts +6 -0
  86. package/src/server.ts +103 -9
  87. package/src/session.ts +34 -17
  88. package/src/telemetry/constants.ts +15 -0
  89. package/src/telemetry/eventCache.ts +62 -0
  90. package/src/telemetry/telemetry.ts +137 -0
  91. package/src/telemetry/types.ts +60 -0
  92. package/src/tools/atlas/atlasTool.ts +7 -5
  93. package/src/tools/atlas/createAccessList.ts +0 -2
  94. package/src/tools/atlas/createDBUser.ts +0 -2
  95. package/src/tools/atlas/createFreeCluster.ts +0 -2
  96. package/src/tools/atlas/createProject.ts +0 -1
  97. package/src/tools/atlas/inspectAccessList.ts +0 -2
  98. package/src/tools/atlas/inspectCluster.ts +0 -2
  99. package/src/tools/atlas/listClusters.ts +0 -2
  100. package/src/tools/atlas/listDBUsers.ts +0 -2
  101. package/src/tools/atlas/listOrgs.ts +0 -2
  102. package/src/tools/atlas/listProjects.ts +12 -4
  103. package/src/tools/mongodb/metadata/collectionSchema.ts +16 -14
  104. package/src/tools/mongodb/metadata/collectionStorageSize.ts +41 -3
  105. package/src/tools/mongodb/metadata/connect.ts +5 -6
  106. package/src/tools/mongodb/metadata/dbStats.ts +6 -1
  107. package/src/tools/mongodb/metadata/explain.ts +20 -7
  108. package/src/tools/mongodb/metadata/logs.ts +55 -0
  109. package/src/tools/mongodb/mongodbTool.ts +12 -15
  110. package/src/tools/mongodb/read/aggregate.ts +3 -3
  111. package/src/tools/mongodb/read/collectionIndexes.ts +29 -5
  112. package/src/tools/mongodb/read/find.ts +3 -2
  113. package/src/tools/mongodb/tools.ts +2 -0
  114. package/src/tools/mongodb/update/renameCollection.ts +33 -4
  115. package/src/tools/mongodb/update/updateMany.ts +5 -7
  116. package/src/tools/tool.ts +51 -15
  117. package/tests/integration/helpers.ts +84 -107
  118. package/tests/integration/inMemoryTransport.ts +3 -2
  119. package/tests/integration/server.test.ts +47 -21
  120. package/tests/integration/tools/atlas/accessLists.test.ts +13 -15
  121. package/tests/integration/tools/atlas/atlasHelpers.ts +3 -8
  122. package/tests/integration/tools/atlas/clusters.test.ts +12 -13
  123. package/tests/integration/tools/atlas/dbUsers.test.ts +9 -9
  124. package/tests/integration/tools/atlas/orgs.test.ts +4 -4
  125. package/tests/integration/tools/atlas/projects.test.ts +10 -12
  126. package/tests/integration/tools/mongodb/create/createCollection.test.ts +19 -62
  127. package/tests/integration/tools/mongodb/create/createIndex.test.ts +41 -87
  128. package/tests/integration/tools/mongodb/create/insertMany.test.ts +35 -78
  129. package/tests/integration/tools/mongodb/delete/deleteMany.test.ts +25 -62
  130. package/tests/integration/tools/mongodb/delete/dropCollection.test.ts +22 -71
  131. package/tests/integration/tools/mongodb/delete/dropDatabase.test.ts +29 -63
  132. package/tests/integration/tools/mongodb/metadata/collectionSchema.test.ts +154 -0
  133. package/tests/integration/tools/mongodb/metadata/collectionStorageSize.test.ts +86 -0
  134. package/tests/integration/tools/mongodb/metadata/connect.test.ts +33 -23
  135. package/tests/integration/tools/mongodb/metadata/dbStats.test.ts +104 -0
  136. package/tests/integration/tools/mongodb/metadata/explain.test.ts +171 -0
  137. package/tests/integration/tools/mongodb/metadata/listCollections.test.ts +28 -56
  138. package/tests/integration/tools/mongodb/metadata/listDatabases.test.ts +32 -26
  139. package/tests/integration/tools/mongodb/metadata/logs.test.ts +83 -0
  140. package/tests/integration/tools/mongodb/mongodbHelpers.ts +165 -0
  141. package/tests/integration/tools/mongodb/read/aggregate.test.ts +99 -0
  142. package/tests/integration/tools/mongodb/read/collectionIndexes.test.ts +99 -0
  143. package/tests/integration/tools/mongodb/read/count.test.ts +31 -79
  144. package/tests/integration/tools/mongodb/read/find.test.ts +182 -0
  145. package/tests/integration/tools/mongodb/update/renameCollection.test.ts +194 -0
  146. package/tests/integration/tools/mongodb/update/updateMany.test.ts +238 -0
  147. package/tsconfig.jest.json +2 -1
  148. package/tsconfig.json +1 -1
  149. package/tsconfig.lint.json +8 -0
@@ -31,8 +31,7 @@ jobs:
31
31
  cache: "npm"
32
32
  - name: Install dependencies
33
33
  run: npm ci
34
- - name: Run style check
35
- run: npm run generate
34
+ - run: npm run generate
36
35
 
37
36
  run-tests:
38
37
  strategy:
@@ -44,6 +43,26 @@ jobs:
44
43
  - uses: GitHubSecurityLab/actions-permissions/monitor@v1
45
44
  if: matrix.os != 'windows-latest'
46
45
  - uses: actions/checkout@v4
46
+ - uses: actions/setup-node@v4
47
+ with:
48
+ node-version-file: package.json
49
+ cache: "npm"
50
+ - name: Install dependencies
51
+ run: npm ci
52
+ - name: Run tests
53
+ run: npm test
54
+ - name: Upload test results
55
+ if: always() && matrix.os == 'ubuntu-latest'
56
+ uses: actions/upload-artifact@v4
57
+ with:
58
+ name: test-results
59
+ path: coverage/lcov.info
60
+
61
+ run-atlas-tests:
62
+ runs-on: ubuntu-latest
63
+ steps:
64
+ - uses: GitHubSecurityLab/actions-permissions/monitor@v1
65
+ - uses: actions/checkout@v4
47
66
  - uses: actions/setup-node@v4
48
67
  with:
49
68
  node-version-file: package.json
@@ -55,10 +74,40 @@ jobs:
55
74
  MDB_MCP_API_CLIENT_ID: ${{ secrets.TEST_ATLAS_CLIENT_ID }}
56
75
  MDB_MCP_API_CLIENT_SECRET: ${{ secrets.TEST_ATLAS_CLIENT_SECRET }}
57
76
  MDB_MCP_API_BASE_URL: ${{ vars.TEST_ATLAS_BASE_URL }}
58
- run: npm test
77
+ run: npm test -- --testPathIgnorePatterns "tests/integration/tools/mongodb" --testPathIgnorePatterns "tests/integration/[^/]+\.ts"
78
+ - name: Upload test results
79
+ uses: actions/upload-artifact@v4
80
+ if: always()
81
+ with:
82
+ name: atlas-test-results
83
+ path: coverage/lcov.info
84
+ coverage:
85
+ runs-on: ubuntu-latest
86
+ needs: [run-tests, run-atlas-tests]
87
+ if: always()
88
+ steps:
89
+ - uses: actions/checkout@v4
90
+ - uses: actions/setup-node@v4
91
+ with:
92
+ node-version-file: package.json
93
+ cache: "npm"
94
+ - name: Install dependencies
95
+ run: npm ci
96
+ - name: Download test results
97
+ uses: actions/download-artifact@v4
98
+ with:
99
+ name: test-results
100
+ path: coverage/mongodb
101
+ - name: Download atlas test results
102
+ uses: actions/download-artifact@v4
103
+ with:
104
+ name: atlas-test-results
105
+ path: coverage/atlas
106
+ - name: Merge coverage reports
107
+ run: |
108
+ npx -y lcov-result-merger@5.0.1 "coverage/*/lcov.info" "coverage/lcov.info"
59
109
  - name: Coveralls GitHub Action
60
110
  uses: coverallsapp/github-action@v2.3.6
61
- if: matrix.os == 'ubuntu-latest'
62
111
  with:
63
112
  file: coverage/lcov.info
64
113
  git-branch: ${{ github.head_ref || github.ref_name }}
@@ -33,13 +33,13 @@ jobs:
33
33
  - name: Create release PR
34
34
  uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # 7.0.8
35
35
  with:
36
- title: "Release v${{ steps.bump-version.outputs.NEW_VERSION }}"
36
+ title: "Release ${{ steps.bump-version.outputs.NEW_VERSION }}"
37
37
  token: ${{ steps.app-token.outputs.token }}
38
- commit-message: "Bump version to v${{ steps.bump-version.outputs.NEW_VERSION }}"
38
+ commit-message: "Bump version to ${{ steps.bump-version.outputs.NEW_VERSION }}"
39
39
  body: |
40
- This PR bumps the package version to v${{ steps.bump-version.outputs.NEW_VERSION }}.
40
+ This PR bumps the package version to ${{ steps.bump-version.outputs.NEW_VERSION }}.
41
41
  Once merged, the new version will be published to npm.
42
42
  base: main
43
- branch: release/v${{ steps.bump-version.outputs.NEW_VERSION }}
43
+ branch: release/${{ steps.bump-version.outputs.NEW_VERSION }}
44
44
  author: "${{ steps.app-token.outputs.app-slug}}[bot] <${{ steps.app-token.outputs.app-email }}>"
45
45
  committer: "${{ steps.app-token.outputs.app-slug}}[bot] <${{ steps.app-token.outputs.app-email }}>"
package/README.md CHANGED
@@ -109,6 +109,8 @@ You may experiment asking `Can you connect to my mongodb instance?`.
109
109
  - `atlas-list-db-users` - List MongoDB Atlas database users
110
110
  - `atlas-create-db-user` - List MongoDB Atlas database users
111
111
 
112
+ NOTE: atlas tools are only available when you set credentials on [configuration](#configuration) section.
113
+
112
114
  #### MongoDB Database Tools
113
115
 
114
116
  - `connect` - Connect to a MongoDB instance
@@ -1,7 +1,9 @@
1
- import config from "../../config.js";
2
1
  import createClient from "openapi-fetch";
3
2
  import { ClientCredentials } from "simple-oauth2";
4
3
  import { ApiClientError } from "./apiClientError.js";
4
+ import { mongoLogId } from "mongodb-log-writer";
5
+ import logger from "../../logger.js";
6
+ import { packageInfo } from "../../packageInfo.js";
5
7
  const ATLAS_API_VERSION = "2025-03-12";
6
8
  export class ApiClient {
7
9
  constructor(options) {
@@ -37,7 +39,7 @@ export class ApiClient {
37
39
  ...options,
38
40
  baseUrl: options?.baseUrl || "https://cloud.mongodb.com/",
39
41
  userAgent: options?.userAgent ||
40
- `AtlasMCP/${config.version} (${process.platform}; ${process.arch}; ${process.env.HOSTNAME || "unknown"})`,
42
+ `AtlasMCP/${packageInfo.version} (${process.platform}; ${process.arch}; ${process.env.HOSTNAME || "unknown"})`,
41
43
  };
42
44
  this.client = createClient({
43
45
  baseUrl: this.options.baseUrl,
@@ -61,6 +63,10 @@ export class ApiClient {
61
63
  }
62
64
  this.client.use(this.errorMiddleware);
63
65
  }
66
+ hasCredentials() {
67
+ logger.info(mongoLogId(1000000), "api-client", `Checking if API client has credentials: ${!!(this.oauth2Client && this.accessToken)}`);
68
+ return !!(this.oauth2Client && this.accessToken);
69
+ }
64
70
  async getIpInfo() {
65
71
  const accessToken = await this.getAccessToken();
66
72
  const endpoint = "api/private/ipinfo";
@@ -78,6 +84,28 @@ export class ApiClient {
78
84
  }
79
85
  return (await response.json());
80
86
  }
87
+ async sendEvents(events) {
88
+ let endpoint = "api/private/unauth/telemetry/events";
89
+ const headers = {
90
+ Accept: "application/json",
91
+ "Content-Type": "application/json",
92
+ "User-Agent": this.options.userAgent,
93
+ };
94
+ const accessToken = await this.getAccessToken();
95
+ if (accessToken) {
96
+ endpoint = "api/private/v1.0/telemetry/events";
97
+ headers["Authorization"] = `Bearer ${accessToken}`;
98
+ }
99
+ const url = new URL(endpoint, this.options.baseUrl);
100
+ const response = await fetch(url, {
101
+ method: "POST",
102
+ headers,
103
+ body: JSON.stringify(events),
104
+ });
105
+ if (!response.ok) {
106
+ throw await ApiClientError.fromResponse(response);
107
+ }
108
+ }
81
109
  // DO NOT EDIT. This is auto-generated code.
82
110
  async listClustersForAllProjects(options) {
83
111
  const { data } = await this.client.GET("/api/atlas/v2/clusters", options);
@@ -1 +1 @@
1
- {"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../../src/common/atlas/apiClient.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,YAAkD,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAe,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAWvC,MAAM,OAAO,SAAS;IA4ClB,YAAY,OAA0B;QA/B9B,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,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,4BAA4B;YACzD,SAAS,EACL,OAAO,EAAE,SAAS;gBAClB,YAAY,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,GAAG;SAChH,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,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,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"}
1
+ {"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../../src/common/atlas/apiClient.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import path from "path";
2
2
  import os from "os";
3
3
  import argv from "yargs-parser";
4
- import packageJson from "../package.json" with { type: "json" };
5
4
  const defaults = {
6
5
  logPath: getLogPath(),
7
6
  connectOptions: {
@@ -11,17 +10,13 @@ const defaults = {
11
10
  timeoutMS: 30000,
12
11
  },
13
12
  disabledTools: [],
13
+ telemetry: "disabled",
14
14
  };
15
- const mergedUserConfig = {
15
+ export const config = {
16
16
  ...defaults,
17
17
  ...getEnvConfig(),
18
18
  ...getCliConfig(),
19
19
  };
20
- const config = {
21
- ...mergedUserConfig,
22
- version: packageJson.version,
23
- };
24
- export default config;
25
20
  function getLogPath() {
26
21
  const localDataPath = process.platform === "win32"
27
22
  ? path.join(process.env.LOCALAPPDATA || process.env.APPDATA || os.homedir(), "mongodb")
@@ -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":"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"}
package/dist/index.js CHANGED
@@ -3,18 +3,24 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
3
3
  import logger from "./logger.js";
4
4
  import { mongoLogId } from "mongodb-log-writer";
5
5
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
- import config from "./config.js";
6
+ import { config } from "./config.js";
7
7
  import { Session } from "./session.js";
8
8
  import { Server } from "./server.js";
9
+ import { packageInfo } from "./packageInfo.js";
9
10
  try {
10
- const session = new Session();
11
+ const session = new Session({
12
+ apiBaseUrl: config.apiBaseUrl,
13
+ apiClientId: config.apiClientId,
14
+ apiClientSecret: config.apiClientSecret,
15
+ });
11
16
  const mcpServer = new McpServer({
12
- name: "MongoDB Atlas",
13
- version: config.version,
17
+ name: packageInfo.mcpServerName,
18
+ version: packageInfo.version,
14
19
  });
15
20
  const server = new Server({
16
21
  mcpServer,
17
22
  session,
23
+ userConfig: config,
18
24
  });
19
25
  const transport = new StdioServerTransport();
20
26
  await server.connect(transport);
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,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,IAAI,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;QAC5B,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;KAC1B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACtB,SAAS;QACT,OAAO;KACV,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;IAEpG,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,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"}
package/dist/logger.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import fs from "fs/promises";
2
2
  import { MongoLogManager } from "mongodb-log-writer";
3
- import config from "./config.js";
4
3
  import redact from "mongodb-redact";
5
4
  class LoggerBase {
6
5
  info(id, context, message) {
@@ -34,20 +33,29 @@ class ConsoleLogger extends LoggerBase {
34
33
  console.error(`[${level.toUpperCase()}] ${id.__value} - ${context}: ${message}`);
35
34
  }
36
35
  }
37
- class Logger extends LoggerBase {
38
- constructor(logWriter, server) {
36
+ class DiskLogger extends LoggerBase {
37
+ constructor(logWriter) {
39
38
  super();
40
39
  this.logWriter = logWriter;
41
- this.server = server;
40
+ }
41
+ static async fromPath(logPath) {
42
+ await fs.mkdir(logPath, { recursive: true });
43
+ const manager = new MongoLogManager({
44
+ directory: logPath,
45
+ retentionDays: 30,
46
+ onwarn: console.warn,
47
+ onerror: console.error,
48
+ gzip: false,
49
+ retentionGB: 1,
50
+ });
51
+ await manager.cleanupOldLogFiles();
52
+ const logWriter = await manager.createLogWriter();
53
+ return new DiskLogger(logWriter);
42
54
  }
43
55
  log(level, id, context, message) {
44
56
  message = redact(message);
45
57
  const mongoDBLevel = this.mapToMongoDBLogLevel(level);
46
58
  this.logWriter[mongoDBLevel]("MONGODB-MCP", id, context, message);
47
- void this.server.server.sendLoggingMessage({
48
- level,
49
- data: `[${context}]: ${message}`,
50
- });
51
59
  }
52
60
  mapToMongoDBLogLevel(level) {
53
61
  switch (level) {
@@ -69,29 +77,46 @@ class Logger extends LoggerBase {
69
77
  }
70
78
  }
71
79
  }
72
- class ProxyingLogger extends LoggerBase {
73
- constructor() {
74
- super(...arguments);
75
- this.internalLogger = new ConsoleLogger();
80
+ class McpLogger extends LoggerBase {
81
+ constructor(server) {
82
+ super();
83
+ this.server = server;
84
+ }
85
+ log(level, _, context, message) {
86
+ void this.server.server.sendLoggingMessage({
87
+ level,
88
+ data: `[${context}]: ${message}`,
89
+ });
90
+ }
91
+ }
92
+ class CompositeLogger extends LoggerBase {
93
+ constructor(...loggers) {
94
+ super();
95
+ if (loggers.length === 0) {
96
+ // default to ConsoleLogger
97
+ this.loggers = [new ConsoleLogger()];
98
+ return;
99
+ }
100
+ this.loggers = [...loggers];
101
+ }
102
+ setLoggers(...loggers) {
103
+ if (loggers.length === 0) {
104
+ throw new Error("At least one logger must be provided");
105
+ }
106
+ this.loggers = [...loggers];
76
107
  }
77
108
  log(level, id, context, message) {
78
- this.internalLogger.log(level, id, context, message);
109
+ for (const logger of this.loggers) {
110
+ logger.log(level, id, context, message);
111
+ }
79
112
  }
80
113
  }
81
- const logger = new ProxyingLogger();
114
+ const logger = new CompositeLogger();
82
115
  export default logger;
83
- export async function initializeLogger(server) {
84
- await fs.mkdir(config.logPath, { recursive: true });
85
- const manager = new MongoLogManager({
86
- directory: config.logPath,
87
- retentionDays: 30,
88
- onwarn: console.warn,
89
- onerror: console.error,
90
- gzip: false,
91
- retentionGB: 1,
92
- });
93
- await manager.cleanupOldLogFiles();
94
- const logWriter = await manager.createLogWriter();
95
- logger["internalLogger"] = new Logger(logWriter, server);
116
+ export async function initializeLogger(server, logPath) {
117
+ const diskLogger = await DiskLogger.fromPath(logPath);
118
+ const mcpLogger = new McpLogger(server);
119
+ logger.setLoggers(mcpLogger, diskLogger);
120
+ return logger;
96
121
  }
97
122
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import packageJson from "../package.json" with { type: "json" };
2
+ export const packageInfo = {
3
+ version: packageJson.version,
4
+ mcpServerName: "MongoDB MCP Server",
5
+ };
6
+ //# sourceMappingURL=packageInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageInfo.js","sourceRoot":"","sources":["../src/packageInfo.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEhE,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,OAAO,EAAE,WAAW,CAAC,OAAO;IAC5B,aAAa,EAAE,oBAAoB;CACtC,CAAC"}
package/dist/server.js CHANGED
@@ -2,38 +2,101 @@ import { AtlasTools } from "./tools/atlas/tools.js";
2
2
  import { MongoDbTools } from "./tools/mongodb/tools.js";
3
3
  import logger, { initializeLogger } from "./logger.js";
4
4
  import { mongoLogId } from "mongodb-log-writer";
5
- import config from "./config.js";
5
+ import { ObjectId } from "mongodb";
6
+ import { Telemetry } from "./telemetry/telemetry.js";
7
+ import { CallToolRequestSchema } from "@modelcontextprotocol/sdk/types.js";
8
+ import assert from "assert";
6
9
  export class Server {
7
- constructor({ mcpServer, session }) {
8
- this.mcpServer = mcpServer;
10
+ constructor({ session, mcpServer, userConfig }) {
11
+ this.startTime = Date.now();
9
12
  this.session = session;
13
+ this.telemetry = new Telemetry(session);
14
+ this.mcpServer = mcpServer;
15
+ this.userConfig = userConfig;
10
16
  }
11
17
  async connect(transport) {
12
18
  this.mcpServer.server.registerCapabilities({ logging: {} });
13
19
  this.registerTools();
14
20
  this.registerResources();
15
- await initializeLogger(this.mcpServer);
21
+ // This is a workaround for an issue we've seen with some models, where they'll see that everything in the `arguments`
22
+ // object is optional, and then not pass it at all. However, the MCP server expects the `arguments` object to be if
23
+ // the tool accepts any arguments, even if they're all optional.
24
+ //
25
+ // see: https://github.com/modelcontextprotocol/typescript-sdk/blob/131776764536b5fdca642df51230a3746fb4ade0/src/server/mcp.ts#L705
26
+ // Since paramsSchema here is not undefined, the server will create a non-optional z.object from it.
27
+ const existingHandler = this.mcpServer.server["_requestHandlers"].get(CallToolRequestSchema.shape.method.value);
28
+ assert(existingHandler, "No existing handler found for CallToolRequestSchema");
29
+ this.mcpServer.server.setRequestHandler(CallToolRequestSchema, (request, extra) => {
30
+ if (!request.params.arguments) {
31
+ request.params.arguments = {};
32
+ }
33
+ return existingHandler(request, extra);
34
+ });
35
+ await initializeLogger(this.mcpServer, this.userConfig.logPath);
16
36
  await this.mcpServer.connect(transport);
17
- logger.info(mongoLogId(1000004), "server", `Server started with transport ${transport.constructor.name}`);
37
+ this.mcpServer.server.oninitialized = () => {
38
+ this.session.setAgentRunner(this.mcpServer.server.getClientVersion());
39
+ this.session.sessionId = new ObjectId().toString();
40
+ logger.info(mongoLogId(1000004), "server", `Server started with transport ${transport.constructor.name} and agent runner ${this.session.agentRunner?.name}`);
41
+ this.emitServerEvent("start", Date.now() - this.startTime);
42
+ };
43
+ this.mcpServer.server.onclose = () => {
44
+ const closeTime = Date.now();
45
+ this.emitServerEvent("stop", Date.now() - closeTime);
46
+ };
47
+ this.mcpServer.server.onerror = (error) => {
48
+ const closeTime = Date.now();
49
+ this.emitServerEvent("stop", Date.now() - closeTime, error);
50
+ };
18
51
  }
19
52
  async close() {
20
53
  await this.session.close();
21
54
  await this.mcpServer.close();
22
55
  }
56
+ /**
57
+ * Emits a server event
58
+ * @param command - The server command (e.g., "start", "stop", "register", "deregister")
59
+ * @param additionalProperties - Additional properties specific to the event
60
+ */
61
+ emitServerEvent(command, commandDuration, error) {
62
+ const event = {
63
+ timestamp: new Date().toISOString(),
64
+ source: "mdbmcp",
65
+ properties: {
66
+ ...this.telemetry.getCommonProperties(),
67
+ result: "success",
68
+ duration_ms: commandDuration,
69
+ component: "server",
70
+ category: "other",
71
+ command: command,
72
+ },
73
+ };
74
+ if (command === "start") {
75
+ event.properties.startup_time_ms = commandDuration;
76
+ }
77
+ if (command === "stop") {
78
+ event.properties.runtime_duration_ms = Date.now() - this.startTime;
79
+ if (error) {
80
+ event.properties.result = "failure";
81
+ event.properties.reason = error.message;
82
+ }
83
+ }
84
+ this.telemetry.emitEvents([event]).catch(() => { });
85
+ }
23
86
  registerTools() {
24
87
  for (const tool of [...AtlasTools, ...MongoDbTools]) {
25
- new tool(this.session).register(this.mcpServer);
88
+ new tool(this.session, this.userConfig, this.telemetry).register(this.mcpServer);
26
89
  }
27
90
  }
28
91
  registerResources() {
29
- if (config.connectionString) {
92
+ if (this.userConfig.connectionString) {
30
93
  this.mcpServer.resource("connection-string", "config://connection-string", {
31
94
  description: "Preconfigured connection string that will be used as a default in the `connect` tool",
32
95
  }, (uri) => {
33
96
  return {
34
97
  contents: [
35
98
  {
36
- text: `Preconfigured connection string: ${config.connectionString}`,
99
+ text: `Preconfigured connection string: ${this.userConfig.connectionString}`,
37
100
  uri: uri.href,
38
101
  },
39
102
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,MAAM,EAAE,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,OAAO,MAAM;IAIf,YAAY,EAAE,SAAS,EAAE,OAAO,EAA8C;QAC1E,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAoB;QAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,MAAM,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAExC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAS,CAAC,EAAE,QAAQ,EAAE,iCAAiC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAChH,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAEO,aAAa;QACjB,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,UAAU,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC;YAClD,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAEO,iBAAiB;QACrB,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,QAAQ,CACnB,mBAAmB,EACnB,4BAA4B,EAC5B;gBACI,WAAW,EAAE,sFAAsF;aACtG,EACD,CAAC,GAAG,EAAE,EAAE;gBACJ,OAAO;oBACH,QAAQ,EAAE;wBACN;4BACI,IAAI,EAAE,oCAAoC,MAAM,CAAC,gBAAgB,EAAE;4BACnE,GAAG,EAAE,GAAG,CAAC,IAAI;yBAChB;qBACJ;iBACJ,CAAC;YACN,CAAC,CACJ,CAAC;QACN,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/session.js CHANGED
@@ -1,18 +1,23 @@
1
1
  import { ApiClient } from "./common/atlas/apiClient.js";
2
- import config from "./config.js";
3
2
  export class Session {
4
- ensureAuthenticated() {
5
- if (!this.apiClient) {
6
- if (!config.apiClientId || !config.apiClientSecret) {
7
- throw new Error("Not authenticated make sure to configure MCP server with MDB_MCP_API_CLIENT_ID and MDB_MCP_API_CLIENT_SECRET environment variables.");
3
+ constructor({ apiBaseUrl, apiClientId, apiClientSecret } = {}) {
4
+ const credentials = apiClientId && apiClientSecret
5
+ ? {
6
+ clientId: apiClientId,
7
+ clientSecret: apiClientSecret,
8
8
  }
9
- this.apiClient = new ApiClient({
10
- baseUrl: config.apiBaseUrl,
11
- credentials: {
12
- clientId: config.apiClientId,
13
- clientSecret: config.apiClientSecret,
14
- },
15
- });
9
+ : undefined;
10
+ this.apiClient = new ApiClient({
11
+ baseUrl: apiBaseUrl,
12
+ credentials,
13
+ });
14
+ }
15
+ setAgentRunner(agentRunner) {
16
+ if (agentRunner?.name && agentRunner?.version) {
17
+ this.agentRunner = {
18
+ name: agentRunner.name,
19
+ version: agentRunner.version,
20
+ };
16
21
  }
17
22
  }
18
23
  async close() {
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,OAAO,OAAO;IAIhB,mBAAmB;QACf,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CACX,qIAAqI,CACxI,CAAC;YACN,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC;gBAC3B,OAAO,EAAE,MAAM,CAAC,UAAU;gBAC1B,WAAW,EAAE;oBACT,QAAQ,EAAE,MAAM,CAAC,WAAW;oBAC5B,YAAY,EAAE,MAAM,CAAC,eAAe;iBACvC;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACrC,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAwB,MAAM,6BAA6B,CAAC;AAS9E,MAAM,OAAO,OAAO;IAShB,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,KAAqB,EAAE;QACzE,MAAM,WAAW,GACb,WAAW,IAAI,eAAe;YAC1B,CAAC,CAAC;gBACI,QAAQ,EAAE,WAAW;gBACrB,YAAY,EAAE,eAAe;aAChC;YACH,CAAC,CAAC,SAAS,CAAC;QAEpB,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC;YAC3B,OAAO,EAAE,UAAU;YACnB,WAAW;SACd,CAAC,CAAC;IACP,CAAC;IAED,cAAc,CAAC,WAAuC;QAClD,IAAI,WAAW,EAAE,IAAI,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAG;gBACf,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,OAAO,EAAE,WAAW,CAAC,OAAO;aAC/B,CAAC;QACN,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACrC,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,15 @@
1
+ import { getMachineIdSync } from "native-machine-id";
2
+ import { packageInfo } from "../packageInfo.js";
3
+ /**
4
+ * Machine-specific metadata formatted for telemetry
5
+ */
6
+ export const MACHINE_METADATA = {
7
+ device_id: getMachineIdSync(),
8
+ mcp_server_version: packageInfo.version,
9
+ mcp_server_name: packageInfo.mcpServerName,
10
+ platform: process.platform,
11
+ arch: process.arch,
12
+ os_type: process.platform,
13
+ os_version: process.version,
14
+ };
15
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/telemetry/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,SAAS,EAAE,gBAAgB,EAAE;IAC7B,kBAAkB,EAAE,WAAW,CAAC,OAAO;IACvC,eAAe,EAAE,WAAW,CAAC,aAAa;IAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;IAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,OAAO,EAAE,OAAO,CAAC,QAAQ;IACzB,UAAU,EAAE,OAAO,CAAC,OAAO;CACrB,CAAC"}