Skip to main content

Official MonkDB MCP Server

Python PyPI version Stable Version Last Updated

An MCP (Modular Command Protocol) server for interacting with MonkDB, enabling Claude like LLMs to execute database-related tools such as querying, table inspection, and server health checks.

Features

Tools

  • run_select_query

    • Execute SQL queries on your MonkDB cluster.
    • Input: sql (string): The SQL query to execute.
    • Rejects non-select queries
  • list_tables

    • List all tables in monkdb schema.
  • health_check

    • Does a health check ping on MonkDB.
    • Returns either ok or an error message.
  • get_server_version

    • Returns the server version of MonkDB.
  • describe_table

    • Describe a table's columns in MonkDB.

Configuration

  1. Open the Claude Desktop configuration file located at:

    • On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • On Windows: %APPDATA%/Claude/claude_desktop_config.json
  2. Add the following:

{
  "mcpServers": {
    "mcp-monkdb": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "mcp-monkdb",
        "--python",
        "3.13",
        "mcp-monkdb"
      ],
      "env": {
        "MONKDB_HOST": "<monkdb-host>",
        "MONKDB_API_PORT": "<monkdb-port>",
        "MONKDB_USER": "<monkdb-user>",
        "MONKDB_PASSWORD": "<monkdb-password>",

        // Optional OTEL Configuration
        "MONKDB_OTEL_ENABLED": "true",
        "MONKDB_OTEL_EXPORTER_OTLP_ENDPOINT": "https://your-otel-endpoint:4318",
        "MONKDB_OTEL_SERVICE_NAME": "mcp-monkdb",
        "MONKDB_OTEL_AUTH_HEADER": "Authorization=Bearer your-token-here"
      }
    }
  }
}

Update the environment variables to point to your own MonkDB cluster.

  1. Locate the command entry for uv and replace it with the absolute path to the uv executable. This ensures that the correct version of uv is used when starting the server. On a mac, you can find this path using which uv.

  2. Restart Claude Desktop to apply the changes.

Note: you may also use poetry instead of uv.

{
  "mcpServers": {
    "mcp-monkdb": {
      "command": "poetry",
      "args": [
        "run",
        "python",
        "-m",
        "mcp_monkdb"
      ],
      "env": {
        "MONKDB_HOST": "<monkdb-host>",
        "MONKDB_API_PORT": "<monkdb-port>",
        "MONKDB_USER": "<monkdb-user>",
        "MONKDB_PASSWORD": "<monkdb-password>",

        // Optional OTEL Configuration
        "MONKDB_OTEL_ENABLED": "true",
        "MONKDB_OTEL_EXPORTER_OTLP_ENDPOINT": "https://your-otel-endpoint:4318",
        "MONKDB_OTEL_SERVICE_NAME": "mcp-monkdb",
        "MONKDB_OTEL_AUTH_HEADER": "Authorization=Bearer your-token-here"
      }
    }
  }
}

Environment Variables

The following environment variables are used to configure the MonkDB connection and optional OpenTelemetry (OTEL) tracing.

Required Variables

  • MONKDB_HOST: The hostname or IP address of your MonkDB server.
  • MONKDB_USER: The username for authentication.
  • MONKDB_PASSWORD: The password for authentication.
  • MONKDB_API_PORT: The API port of MonkDB (default is 4200).

Optional Variables

  • MONKDB_SCHEMA: The schema of MonkDB. Defaults to monkdb. Tables under this schema are protected by RBAC policies.

Optional OTEL Tracing Variables

To enable distributed tracing using OpenTelemetry:

  • MONKDB_OTEL_ENABLED: Set to true to enable tracing.
  • MONKDB_OTEL_EXPORTER_OTLP_ENDPOINT: The OTLP HTTP endpoint (e.g. http://localhost:4318 or https://your-collector.com:4318).
  • MONKDB_OTEL_SERVICE_NAME: Logical name for trace viewers (e.g., mcp-monkdb).
  • MONKDB_OTEL_AUTH_HEADER: (Optional) Auth header if your OTEL collector requires it.
    Format: Authorization=Bearer <token> or api-key=XYZ123.

Note
If you're using a local OTEL collector with no auth, MONKDB_OTEL_AUTH_HEADER can be omitted.

Example .env Configuration

MONKDB_HOST=xx.xx.xx.xxx
MONKDB_USER=testuser
MONKDB_PASSWORD=testpassword
MONKDB_API_PORT=4200
MONKDB_SCHEMA=monkdb

# OpenTelemetry tracing (optional)
MONKDB_OTEL_ENABLED=true
MONKDB_OTEL_EXPORTER_OTLP_ENDPOINT=https://my-otel-collector:4318
MONKDB_OTEL_SERVICE_NAME=mcp-monkdb
MONKDB_OTEL_AUTH_HEADER=Authorization=Bearer xyz123

These can also be configured directly inside your Claude Desktop config:

{
  "mcpServers": {
    "mcp-monkdb": {
      "command": "poetry",
      "args": ["run", "python", "-m", "mcp_monkdb"],
      "env": {
        "MONKDB_HOST": "<monkdb-host>",
        "MONKDB_API_PORT": "<monkdb-port>",
        "MONKDB_USER": "<monkdb-user>",
        "MONKDB_PASSWORD": "<monkdb-password>",
        "MONKDB_OTEL_ENABLED": "true",
        "MONKDB_OTEL_EXPORTER_OTLP_ENDPOINT": "https://your-otel-host:4318",
        "MONKDB_OTEL_SERVICE_NAME": "mcp-monkdb",
        "MONKDB_OTEL_AUTH_HEADER": "Authorization=Bearer your-token"
      }
    }
  }
}

Traced Operations

Operation ToolTraced? Captured Attributes
run_select_query ✅ monkdb.query, monkdb.query.type (select), monkdb.query.rows, status

Running tests

cd in to mcp_monkdb folder and then run the below command to execute unit tests.

python3 -m unittest discover -s tests 

Metadata

Release files for mcp-monkdb 0.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-monkdb 0.2.4
File Size Uploaded
mcp_monkdb-0.2.4.tar.gz 40.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-monkdb 0.2.4
File Interpreter ABI Platform
mcp_monkdb-0.2.4-py3-none-any.whl Python 3 none any Details

Total release size: 48.7 kB

Release files / mcp_monkdb-0.2.4.tar.gz

Download URL mcp_monkdb-0.2.4.tar.gz
Size 40.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d29d89e3c533358fd7c336adddfeb141ea5d8c338ea8bd7578b2c4cdbe6881c6
BLAKE2b-256 checksum
How to use checksums
865e96c2a9fb5aeb95b498bacedd15abcca3a347a13bbb53077669fd52bc0c30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.1 CPython/3.13.2 Darwin/25.1.0

Release files / mcp_monkdb-0.2.4-py3-none-any.whl

Download URL mcp_monkdb-0.2.4-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
144baa622d66481bbf9f06f64e2a23787cc476704a6408ebd8c909bc06f5baae
BLAKE2b-256 checksum
How to use checksums
4c9303b743936dbb7a1c64e83b8b3576593b36242dfea1947b39013cfd9bdd4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.1 CPython/3.13.2 Darwin/25.1.0

Release history Release notifications | RSS feed

This release

0.2.4 This release

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page