README Documentation
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
pip install mcp-marklogic
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
-
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)
-
read-document
- Read a document from MarkLogic
- Parameters:
uri
: Document URI (required)
-
delete-document
- Delete a document from MarkLogic
- Parameters:
uri
: Document URI (required)
-
search-documents
- Search 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
pytest 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-role
with:- Roles:
rest-extension-user
,rest-reader
,rest-writer
- Privileges:
xdbc:eval
,xdbc:invoke
,xdmp:eval-in
- Roles:
- Create user
python-user
with:- Password:
pyth0n
- Role:
python-docs-role
- Password:
License
MIT
Quick Actions
Key Features
Model Context Protocol
Secure Communication
Real-time Updates
Open Source