ndb-mcp-server

rouxton/ndb-mcp-server

3.2

If you are the rightful owner of ndb-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The NDB MCP Server is a comprehensive Model Context Protocol server designed for Nutanix Database Service (NDB), enabling natural language interactions for database management.

Tools
  1. list_databases

    Get all databases with filtering options

  2. get_database

    Get specific database details

  3. provision_database

    Create a new database

  4. register_database

    Register existing database

  5. update_database

    Update database properties

NDB MCP Server

A Model Context Protocol server that enables Claude Desktop and other MCP-compatible AI assistants to manage Nutanix Database Service (NDB) environments through natural language.

Transform complex database operations into simple conversations: "Create a clone of the sales database for testing" or "Show me all databases with backup issues".

Quick Start

Prerequisites

  • Node.js 18.0.0 or later
  • NDB Environment with API access
  • Valid credentials with appropriate permissions

Installation

  1. Clone and setup:

    git clone https://github.com/rouxton/ndb-mcp-server.git
    cd ndb-mcp-server
    
    # Run the automated setup script
    ./scripts/setup.sh                                    # Unix/Linux/macOS
    # or
    PowerShell -ExecutionPolicy Bypass -File scripts/setup.ps1  # Windows PowerShell
    

    The setup script handles everything: dependencies, building, configuration, testing, and prepares for Claude Desktop integration.

  2. Configure Claude Desktop:

    ./scripts/configure-claude.sh                      # Unix/Linux/macOS
    # or  
    .\scripts\configure-claude.ps1                    # Windows PowerShell
    
  3. Start using:

    • Restart Claude Desktop to load the new configuration
    • Try asking Claude: "List all databases in NDB"

    Manual configuration (if needed):

    npm run configure         # Interactive configuration wizard
    npm run test:connection   # Test NDB connectivity
    npm run test:mcp         # Test MCP functionality
    

Example Conversations

šŸ—£ļø "Show me all PostgreSQL databases in production" šŸ“‹ Lists all PostgreSQL databases with production status and health indicators

šŸ—£ļø "Create a clone of the customer-data database for testing" šŸ”„ Creates a fresh clone using the latest snapshot, ready for development use

šŸ—£ļø "Take a snapshot of the critical-app database" šŸ“ø Creates an immediate backup snapshot with automatic retention policies

šŸ—£ļø "Check which time machines had backup failures" 🚨 Analyzes time machine health and reports any backup issues

What You Can Do

DatabasesClonesBackupsInfrastructure
List & monitorCreate & refreshSnapshots & recoveryCluster monitoring
Provision newManage lifecycleTime machine statusServer health
Register existingResource allocationRetention policiesAlerts & operations
Update propertiesCleanup & removalHealth monitoringCapacity planning

Documentation

šŸ“– - Detailed installation, configuration, and security

šŸ”§ - Complete documentation of all available tools

šŸ’” - Real-world scenarios and workflows

Architecture Overview

High-Level Architecture

ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”    ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”    ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│ Conversational  │◄──►│        MCP      │◄──►│       NDB       │
│      Agent      │    │      Server     │    │                 │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜    ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜    ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
        │                        │                        │
        │                        │                        │
    MCP Protocol           NDB REST API              Database
 (stdio/websocket)         (HTTP/HTTPS)             Operations

Core Components

  1. MCP Server Core (src/index.ts)

    • Protocol handling and tool registration
    • Request/response management
    • Error handling and logging
  2. NDB Client (src/ndb-client.ts)

    • HTTP client for NDB API
    • Authentication management
    • Request retries and error handling
  3. Tool Definitions (src/tools.ts)

    • 30+ tool implementations
    • Parameter validation
    • Response formatting
  4. Type Definitions (src/types.ts)

    • TypeScript interfaces
    • API response types
    • Configuration schemas
  5. Utilities (src/utils.ts)

    • Helper functions
    • Data transformations
    • Validation logic

Project Structure

ndb-mcp-server/
ā”œā”€ā”€ src/                     # Source code
│   ā”œā”€ā”€ index.ts            # Main server entry point
│   ā”œā”€ā”€ ndb-client.ts       # NDB API client
│   ā”œā”€ā”€ tools.ts            # MCP tool implementations
│   ā”œā”€ā”€ types.ts            # TypeScript type definitions
│   └── utils.ts            # Utility functions
ā”œā”€ā”€ docs/                    # Documentation
ā”œā”€ā”€ examples/                # Usage examples
ā”œā”€ā”€ scripts/                 # Setup and utility scripts
ā”œā”€ā”€ tests/                   # Test files (when implemented)
ā”œā”€ā”€ dist/                    # Compiled JavaScript (build output)
ā”œā”€ā”€ .env.example            # Environment template
ā”œā”€ā”€ package.json            # Dependencies and scripts
ā”œā”€ā”€ tsconfig.json           # TypeScript configuration
└── README.md               # Project overview

Support & Contributing

License

MIT License - see for details.


Ready to transform your database management with AI? šŸš€

Start with the for detailed instructions.