Skip to content

Commit 17b595b

Browse files
Luke-Sandersonjeroenvervaekecveticmnirinchev
authored
feat: Add Atlas Local Tools (#632)
Co-authored-by: Jeroen Vervaeke <[email protected]> Co-authored-by: Jeroen Vervaeke <[email protected]> Co-authored-by: Melanija Cvetic <[email protected]> Co-authored-by: Nikola Irinchev <[email protected]>
1 parent 8a5da23 commit 17b595b

34 files changed

+4074
-4291
lines changed

.github/workflows/code-health.yml

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ jobs:
3434
run: npm ci
3535
- name: Run tests
3636
run: npm test
37+
env:
38+
SKIP_ATLAS_TESTS: "true"
39+
SKIP_ATLAS_LOCAL_TESTS: "true"
3740
- name: Upload test results
3841
if: always() && matrix.os == 'ubuntu-latest'
3942
uses: actions/upload-artifact@v4
@@ -59,19 +62,41 @@ jobs:
5962
MDB_MCP_API_CLIENT_ID: ${{ secrets.TEST_ATLAS_CLIENT_ID }}
6063
MDB_MCP_API_CLIENT_SECRET: ${{ secrets.TEST_ATLAS_CLIENT_SECRET }}
6164
MDB_MCP_API_BASE_URL: ${{ vars.TEST_ATLAS_BASE_URL }}
62-
run: npm test -- tests/integration/tools/atlas
65+
run: npm test -- tests/integration/tools/atlas/
6366
- name: Upload test results
6467
uses: actions/upload-artifact@v4
6568
if: always()
6669
with:
6770
name: atlas-test-results
6871
path: coverage/lcov.info
6972

73+
run-atlas-local-tests:
74+
name: Run Atlas Local tests
75+
if: github.event_name == 'push' || (github.event.pull_request.user.login != 'dependabot[bot]' && github.event.pull_request.head.repo.full_name == github.repository)
76+
runs-on: ubuntu-latest
77+
steps:
78+
- uses: GitHubSecurityLab/actions-permissions/monitor@v1
79+
- uses: actions/checkout@v5
80+
- uses: actions/setup-node@v4
81+
with:
82+
node-version-file: package.json
83+
cache: "npm"
84+
- name: Install dependencies
85+
run: npm ci
86+
- name: Run tests
87+
run: npm test -- tests/integration/tools/atlas-local/
88+
- name: Upload test results
89+
uses: actions/upload-artifact@v4
90+
if: always()
91+
with:
92+
name: atlas-local-test-results
93+
path: coverage/lcov.info
94+
7095
coverage:
7196
name: Report Coverage
7297
if: always() && (github.event_name == 'push' || (github.event.pull_request.user.login != 'dependabot[bot]' && github.event.pull_request.head.repo.full_name == github.repository))
7398
runs-on: ubuntu-latest
74-
needs: [run-tests, run-atlas-tests]
99+
needs: [run-tests, run-atlas-tests, run-atlas-local-tests]
75100
steps:
76101
- uses: actions/checkout@v5
77102
- uses: actions/setup-node@v6
@@ -90,6 +115,11 @@ jobs:
90115
with:
91116
name: atlas-test-results
92117
path: coverage/atlas
118+
- name: Download atlas local test results
119+
uses: actions/download-artifact@v5
120+
with:
121+
name: atlas-local-test-results
122+
path: coverage/atlas-local
93123
- name: Merge coverage reports
94124
run: |
95125
npx -y [email protected] "coverage/*/lcov.info" "coverage/lcov.info"

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,13 @@ npx -y mongodb-mcp-server@latest --transport http --httpHost=0.0.0.0 --httpPort=
296296

297297
NOTE: atlas tools are only available when you set credentials on [configuration](#configuration) section.
298298

299+
#### MongoDB Atlas Local Tools
300+
301+
- `atlas-local-list-deployments` - Lists MongoDB Atlas Local deployments
302+
- `atlas-local-create-deployment` - Creates a MongoDB Atlas Local deployment
303+
- `atlas-local-connect-deployment` - Connects to a MongoDB Atlas Local deployment
304+
- `atlas-local-delete-deployment` - Deletes a MongoDB Atlas Local deployment
305+
299306
#### MongoDB Database Tools
300307

301308
- `connect` - Connect to a MongoDB instance

knip.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@
77
"eslint-rules/*.js"
88
],
99
"ignore": ["tests/integration/fixtures/curl.mjs", "tests/vitest.d.ts"],
10+
"ignoreDependencies": ["@mongodb-js/atlas-local"],
1011
"ignoreExportsUsedInFile": true
1112
}

0 commit comments

Comments
 (0)