Skip to main content
Glama
mongodb-js

MongoDB MCP Server

Official
by mongodb-js

count

Count documents in a MongoDB collection, optionally filtering results with a query parameter to get specific document totals.

Instructions

Gets the number of documents in a MongoDB collection using db.collection.count() and query as an optional filter parameter

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
databaseYesDatabase name
collectionYesCollection name
queryNoA filter/query parameter. Allows users to filter the documents to count. Matches the syntax of the filter argument of db.collection.count().

Implementation Reference

  • The execute method implements the core logic of the 'count' tool: connects to the MongoDB provider, optionally checks index usage for the count operation, executes the count query, and returns a text result with the document count.
    protected async execute({ database, collection, query }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> { const provider = await this.ensureConnected(); // Check if count operation uses an index if enabled if (this.config.indexCheck) { await checkIndexUsage(provider, database, collection, "count", async () => { return provider.runCommandWithCheck(database, { explain: { count: collection, query, }, verbosity: "queryPlanner", }); }); } const count = await provider.count(database, collection, query); return { content: [ { text: `Found ${count} documents in the collection "${collection}"`, type: "text", }, ], }; }
  • Defines the input schema for the 'count' tool including the optional query filter (CountArgs), the tool name 'count', description, and combined argsShape inheriting from DbOperationArgs.
    export const CountArgs = { query: zEJSON() .optional() .describe( "A filter/query parameter. Allows users to filter the documents to count. Matches the syntax of the filter argument of db.collection.count()." ), }; export class CountTool extends MongoDBToolBase { public name = "count"; protected description = "Gets the number of documents in a MongoDB collection using db.collection.count() and query as an optional filter parameter"; protected argsShape = { ...DbOperationArgs, ...CountArgs, };
  • Exports the CountTool class from its implementation file, making it available for inclusion in the collection of MongoDB tools.
    export { CountTool } from "./read/count.js";
  • Collects all MongoDB tools (including CountTool via MongoDbTools) into the AllTools array for registration with the MCP server.
    ...MongoDbTools, ...AtlasTools, ...AtlasLocalTools,

Latest Blog Posts

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/mongodb-js/mongodb-mcp-server'

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