mcp-mongo-server
Version:
A Model Context Protocol server for MongoDB connections
34 lines (33 loc) • 1.02 kB
JavaScript
import { MongoClient, ReadPreference } from "mongodb";
/**
* Initialize MongoDB connection
* @param url MongoDB connection string
* @param readOnly Whether to connect in read-only mode
* @returns Object containing client, db, connection status, and read-only mode
*/
export async function connectToMongoDB(url, readOnly) {
try {
const options = readOnly
? { readPreference: ReadPreference.SECONDARY }
: {};
const client = new MongoClient(url, options);
await client.connect();
const db = client.db();
console.warn(`Connected to MongoDB database: ${db.databaseName}`);
return {
client,
db,
isConnected: true,
isReadOnlyMode: readOnly,
};
}
catch (error) {
console.error("Failed to connect to MongoDB:", error);
return {
client: null,
db: null,
isConnected: false,
isReadOnlyMode: readOnly,
};
}
}