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
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MarkLogic MCP Serversearch for documents containing 'customer feedback' in the 'reports' collection"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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