Minecraft MongoDB Driver
Up-to-date MongoDB Java sync driver wrapped as a universal Forge/Fabric/Bukkit library for plugins like Grim.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
Minecraft MongoDB Driver
MongoDB Java Driver for Minecraft
The official MongoDB Java sync driver (`mongodb-driver-sync` plus its core and BSON dependencies) repackaged as a Bukkit/Spigot/Paper plugin and a Fabric/Forge/NeoForge mod.
The mod does nothing on its own. Other plugins/mods that want to talk to MongoDB pick this up via softdepend (or just by being on the same classloader) and use the driver via the standard `MongoClients.create(...)` API.
What's in the jar
The full sync-driver bundle:
- `org.mongodb:mongodb-driver-sync:5.3.1` — the API surface (`MongoClient`, `MongoCollection`, etc.) - `org.mongodb:mongodb-driver-core:5.3.1` — wire-protocol implementation, connection pooling, server discovery - `org.mongodb:bson:5.3.1` — BSON codecs and document model - `org.mongodb:bson-record-codec:5.3.1` — Java record support
Plus minimal loader stubs for Spigot, Forge 1.12, Forge 1.13–1.16, Forge 1.17–1.20, NeoForge 1.21+, and Fabric. Classes stay at canonical `com.mongodb.*` and `org.bson.*` paths — no relocation — so consumers find them with plain `Class.forName`.
Service files for BSON codecs are merged via Shadow's `mergeServiceFiles()` so codec auto-discovery works.
Compatibility
| Loader | MC versions | Notes | |---|---|---| | Bukkit / Spigot / Paper / Folia / Purpur | 1.8 → current | drop into `plugins/` | | Fabric | 1.16.1 → current | needs Fabric Loader 0.14+ | | Forge | 1.12 → 1.20 | universal jar, no Mixins | | NeoForge | 1.21 → current | drop into `mods/` |
Java 8+ required (driver 5.x baseline).
Using it from a plugin or mod
```kotlin compileOnly("org.mongodb:mongodb-driver-sync:5.3.1") ```
Probe and connect:
```java try { Class.forName("com.mongodb.client.MongoClients"); } catch (ClassNotFoundException e) { getLogger().warning("MongoDB backend disabled — install minecraft-mongodb-driver"); return; } MongoClient client = MongoClients.create("mongodb://user:pass@host:27017/?authSource=admin"); ```
On Paper 1.17+ add `softdepend: [minecraft-mongodb-driver]` to your `plugin.yml` so the classes are visible to your plugin's classloader.
Connection strings carry everything — auth source, replica set members, read preference, write concern. Put it all in the URI; don't try to set them via `MongoClientOptions` unless you're doing something unusual.
Versioning
The jar version tracks the upstream sync driver. `5.3.1+2026-04-25` ships driver-sync 5.3.1 plus matching core/bson; the suffix is the build date. Auto-bump runs daily against Maven Central.
License
Apache 2.0 (MongoDB, Inc.). The repackage adds no functional changes. Full text in `LICENSE`.
---
Issues, source: GitHub.