Skip to main content
Glama

stopMongoServer

Stop a running MongoDB-compatible server instance by specifying its port number to manage database resources effectively.

Instructions

Stop a running MongoDB-compatible server instance by port number

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
portYesPort of the server to stop

Implementation Reference

  • Handler implementation in the main MCP server entry point. Retrieves server from global 'servers' Map by port, calls stop(), deletes entry, returns success response.
    case 'stopMongoServer':
      const targetPort = args.port;
      const serverInfo = servers.get(targetPort);
      
      if (!serverInfo) {
        throw new Error(`No server running on port ${targetPort}`);
      }
      
      await serverInfo.server.stop();
      servers.delete(targetPort);
      
      return {
        content: [{
          type: 'text',
          text: `MongoDB server on port ${targetPort} stopped successfully.`
        }]
      };
  • Tool registration in TOOLS array used for tools/list response, including name, description, and input schema requiring 'port'.
    {
      name: 'stopMongoServer',
      description: 'Stop a running MongoDB-compatible server instance by port number',
      inputSchema: {
        type: 'object',
        properties: {
          port: { type: 'integer', description: 'Port of the server to stop' }
        },
        required: ['port']
      }
    },
  • Class method handler in MCPServerEnhanced class. Stops server instance from this.servers Map, includes verification and error handling.
    async stopMongoServer(args) {
        const { port } = args;
        
        const server = this.servers.get(port);
        if (!server) {
            throw new Error(`No server running on port ${port}`);
        }
        
        try {
            // Stop the server and wait for it to fully close
            await server.stop();
            
            // Verify the server is actually stopped
            const isListening = server.server && server.server.listening;
            if (isListening) {
                this.logger.warn(`Server on port ${port} may not have stopped completely`);
            }
            
        } catch (error) {
            this.logger.error(`Error stopping server on port ${port}:`, error);
            throw error;
        } finally {
            // Always remove from map, even if stop failed
            this.servers.delete(port);
        }
        
        return {
            success: true,
            message: `Server on port ${port} stopped`
        };
    }
  • Input schema definition in this.tools array for the stopMongoServer tool.
    {
        name: 'stopMongoServer',
        description: 'Stop a running MongoDB server',
        inputSchema: {
            type: 'object',
            properties: {
                port: { type: 'integer', description: 'Port of the server to stop' }
            },
            required: ['port']
        }
    },
  • Dispatch case in handleToolCall switch statement that invokes the stopMongoServer handler.
    case 'stopMongoServer':
        result = await this.stopMongoServer(args);

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/smallmindsco/MongTap'

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