Enables document querying using MarkLogic's CTS query capabilities with pagination support for filtering collections and content
Provides TypeScript interfaces and client libraries for interacting with MarkLogic document operations programmatically
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.
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
Related MCP server: mcp-graphql
Configuration
The server requires the following environment variables:
Usage
Once installed and configured, you can start the server:
Available Tools
create-documentCreate 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)
read-documentRead a document from MarkLogic
Parameters:
uri: Document URI (required)
delete-documentDelete a document from MarkLogic
Parameters:
uri: Document URI (required)
search-documentsSearch for documents in MarkLogic
Parameters:
query: Search query string (required)collections: List of collections to search in (optional)
Development
Setup
Clone the repository
Create a virtual environment and activate it
Install dependencies:
pip install -e .
Running Tests
MarkLogic Setup
Ensure you have MarkLogic Server installed and running
Create a REST API instance on port 8000 if not already present
Create a user with appropriate permissions:
Go to Admin Interface (usually http://localhost:8001)
Create role
python-docs-rolewith:Roles:
rest-extension-user,rest-reader,rest-writerPrivileges:
xdbc:eval,xdbc:invoke,xdmp:eval-in
Create user
python-userwith:Password:
pyth0nRole:
python-docs-role
License
MIT