Skip to main content
Glama

Memory Bank MCP Server

by yywdandan
mongocr.ts1.15 kB
import * as crypto from 'crypto'; import { MongoMissingCredentialsError } from '../../error'; import { ns } from '../../utils'; import { type AuthContext, AuthProvider } from './auth_provider'; export class MongoCR extends AuthProvider { override async auth(authContext: AuthContext): Promise<void> { const { connection, credentials } = authContext; if (!credentials) { throw new MongoMissingCredentialsError('AuthContext must provide credentials.'); } const { username, password, source } = credentials; const { nonce } = await connection.commandAsync( ns(`${source}.$cmd`), { getnonce: 1 }, undefined ); const hashPassword = crypto .createHash('md5') .update(`${username}:mongo:${password}`, 'utf8') .digest('hex'); // Final key const key = crypto .createHash('md5') .update(`${nonce}${username}${hashPassword}`, 'utf8') .digest('hex'); const authenticateCommand = { authenticate: 1, user: username, nonce, key }; await connection.commandAsync(ns(`${source}.$cmd`), authenticateCommand, undefined); } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yywdandan/memory-bank-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server