Skip to main content
Glama

MCP MarkLogic Server

This is a Model Context Protocol (MCP) server implementation for MarkLogic, allowing you to interact with a MarkLogic database through MCP tools.

  1. The server provides the following operations:

Create Document

  • Create documents in MarkLogic with optional collections

  • Read documents by URI

  • Delete documents by URI

  • Search documents with query strings and optional collection filters

Installation

pip install mcp-marklogic

Related MCP server: mcp-graphql

Configuration

The server requires the following environment variables:

MARKLOGIC_HOST=localhost MARKLOGIC_PORT=8000 MARKLOGIC_USERNAME=admin MARKLOGIC_PASSWORD=admin

Usage

Once installed and configured, you can start the server:

mcp-marklogic

Available Tools

  1. create-document

    • Create a new document in MarkLogic

    • Parameters:

      • uri: Document URI (required)

      • content: Document content as JSON (required)

      • collections: List of collections to add the document to (optional)

  2. read-document

    • Read a document from MarkLogic

    • Parameters:

      • uri: Document URI (required)

  3. delete-document

    • Delete a document from MarkLogic

    • Parameters:

      • uri: Document URI (required)

  4. search-documents

    • Search for documents in MarkLogic

    • Parameters:

      • query: Search query string (required)

      • collections: List of collections to search in (optional)

Development

Setup

  1. Clone the repository

  2. Create a virtual environment and activate it

  3. Install dependencies:

    pip install -e .

Running Tests

pytest tests/

MarkLogic Setup

  1. Ensure you have MarkLogic Server installed and running

  2. Create a REST API instance on port 8000 if not already present

  3. Create a user with appropriate permissions:

    • Go to Admin Interface (usually http://localhost:8001)

    • Create role python-docs-role with:

      • Roles: rest-extension-user, rest-reader, rest-writer

      • Privileges: xdbc:eval, xdbc:invoke, xdmp:eval-in

    • Create user python-user with:

      • Password: pyth0n

      • Role: python-docs-role

License

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

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/karthiknarayankotha/marklogic-mcp'

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