Skip to content

Commit 148dcb2

Browse files
committed
Merge remote-tracking branch 'origin/main' into MCP-264
2 parents db381e1 + 38353c7 commit 148dcb2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+1709
-179
lines changed

.github/workflows/prepare-release.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ jobs:
3535
run: |
3636
echo "NEW_VERSION=$(npm version ${{ inputs.version }} --no-git-tag-version)" >> $GITHUB_OUTPUT
3737
npm run build:update-package-version
38+
39+
- name: Update server.json version and arguments
40+
run: |
41+
npm run generate:arguments
42+
3843
- name: Create release PR
3944
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # 7.0.8
4045
id: create-pr

.github/workflows/publish.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ jobs:
7575
environment: Production
7676
permissions:
7777
contents: write
78+
id-token: write
7879
needs:
7980
- check
8081
if: needs.check.outputs.VERSION_EXISTS == 'false'
@@ -95,8 +96,19 @@ jobs:
9596
run: npm publish --tag ${{ needs.check.outputs.RELEASE_CHANNEL }}
9697
env:
9798
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
99+
98100
- name: Publish git release
99101
env:
100102
GH_TOKEN: ${{ github.token }}
101103
run: |
102104
gh release create ${{ needs.check.outputs.VERSION }} --title "${{ needs.check.outputs.VERSION }}" --generate-notes --target ${{ github.sha }} ${{ (needs.check.outputs.RELEASE_CHANNEL != 'latest' && '--prerelease') || ''}}
105+
106+
- name: Install MCP Publisher
107+
run: |
108+
curl -L "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher
109+
110+
- name: Login to MCP Registry
111+
run: ./mcp-publisher login github-oidc
112+
113+
- name: Publish to MCP Registry
114+
run: ./mcp-publisher publish

Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ ENTRYPOINT ["mongodb-mcp-server"]
99
LABEL maintainer="MongoDB Inc <[email protected]>"
1010
LABEL description="MongoDB MCP Server"
1111
LABEL version=${VERSION}
12+
LABEL io.modelcontextprotocol.server.name="io.github.mongodb-js/mongodb-mcp-server"

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,7 @@ npx -y mongodb-mcp-server@latest --transport http --httpHost=0.0.0.0 --httpPort=
293293
- `atlas-list-db-users` - List MongoDB Atlas database users
294294
- `atlas-create-db-user` - Creates a MongoDB Atlas database user
295295
- `atlas-list-alerts` - List MongoDB Atlas Alerts for a Project
296+
- `atlas-get-performance-advisor` - Gets Atlas Performance Advisor recommendations (index suggestions, drop index suggestions, schema suggestions, slow query logs)
296297

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

@@ -368,6 +369,7 @@ The MongoDB MCP Server can be configured using multiple methods, with the follow
368369
| `exportCleanupIntervalMs` | `MDB_MCP_EXPORT_CLEANUP_INTERVAL_MS` | 120000 | Time in milliseconds between export cleanup cycles that remove expired export files. |
369370
| `atlasTemporaryDatabaseUserLifetimeMs` | `MDB_MCP_ATLAS_TEMPORARY_DATABASE_USER_LIFETIME_MS` | 14400000 | Time in milliseconds that temporary database users created when connecting to MongoDB Atlas clusters will remain active before being automatically deleted. |
370371
| `voyageApiKey` | `MDB_VOYAGE_API_KEY` | <not set> | API key for communicating with Voyage AI. Used for generating embeddings for Vector search. |
372+
| `previewFeatures` | `MDB_MCP_PREVIEW_FEATURES` | `[]` | An array of preview features to opt into. |
371373

372374
#### Logger Options
373375

@@ -489,6 +491,19 @@ You can disable telemetry using:
489491

490492
> **💡 Platform Note:** For Windows users, see [Environment Variables](#environment-variables) for platform-specific instructions.
491493
494+
#### Opting into Preview Features
495+
496+
The MongoDB MCP Server may offer functionality that is still in development and may change in future releases. These features are considered "preview features" and are not enabled by default. Generally, these features are well tested, but may not offer the complete functionality we intend to provide in the final release or we'd like to gather feedback before making them generally available. To enable one or more preview features, use the `previewFeatures` configuration option.
497+
498+
- For **environment variable** configuration, use a comma-separated string: `export MDB_MCP_PREVIEW_FEATURES="vectorSearch,feature1,feature2"`.
499+
- For **command-line argument** configuration, use a space-separated string: `--previewFeatures vectorSearch feature1 feature2`.
500+
501+
List of available preview features:
502+
503+
- `vectorSearch` - Enables tools or functionality related to Vector Search in MongoDB Atlas:
504+
- Index management, such as creating, listing, and dropping vector search indexes.
505+
- Querying collections using vector search capabilities. This requires a configured embedding model that will be used to generate vector representations of the query data.
506+
492507
### Atlas API Access
493508

494509
To use the Atlas API tools, you'll need to create a service account in MongoDB Atlas:

package-lock.json

Lines changed: 18 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
{
22
"name": "mongodb-mcp-server",
33
"description": "MongoDB Model Context Protocol Server",
4-
"version": "1.1.0",
4+
"version": "1.2.0",
55
"type": "module",
6+
"mcpName": "io.github.mongodb-js/mongodb-mcp-server",
67
"exports": {
78
".": {
89
"import": {
@@ -51,7 +52,8 @@
5152
"fix": "npm run fix:lint && npm run reformat",
5253
"fix:lint": "eslint . --fix",
5354
"reformat": "prettier --write .",
54-
"generate": "./scripts/generate.sh",
55+
"generate": "./scripts/generate.sh && npm run generate:arguments",
56+
"generate:arguments": "tsx scripts/generateArguments.ts",
5557
"test": "vitest --project eslint-rules --project unit-and-integration --coverage",
5658
"pretest:accuracy": "npm run build",
5759
"test:accuracy": "sh ./scripts/accuracy/runAccuracyTests.sh",
@@ -64,7 +66,7 @@
6466
"@ai-sdk/google": "^2.0.23",
6567
"@ai-sdk/openai": "^2.0.52",
6668
"@eslint/js": "^9.34.0",
67-
"@modelcontextprotocol/inspector": "^0.16.5",
69+
"@modelcontextprotocol/inspector": "^0.17.1",
6870
"@mongodb-js/oidc-mock-provider": "^0.11.3",
6971
"@redocly/cli": "^2.0.8",
7072
"@types/express": "^5.0.3",

0 commit comments

Comments
 (0)