dnlbauer/cordra-mcp
If you are the rightful owner of cordra-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Cordra MCP Server provides AI assistants with read-only access to explore and understand Cordra repositories, allowing for safe exploration of digital objects and their relationships.
Cordra MCP Server
Cordra is a configurable digital object repository system that stores digital objects as JSON documents with associated metadata and optional binary payloads. This Model Context Protocol (MCP) server provides AI assistants with read-only access to explore and understand Cordra repositories. This allows AI systems to quickly understand the data model and schema structure of a Cordra repository and to explore digital objects and their relationships.

Features
- Read-Only Access: All operations are strictly read-only, ensuring safe exploration without risk of data modification or corruption.
- Schema Discovery: Discover and retrieve schema definitions for each type in the repository.
- Individual Object Retrieval: Retrieve specific digital objects by their handle identifier with complete metadata.
MCP Architecture
Tools
-
list_types- List all available types in the Cordra repository.- Returns a JSON array of type names that are defined in the repository
- Types are returned in sorted order
-
get_type_schema- Retrieve the JSON schema definition for a specific type.type_name- The name of the type (e.g., "Person", "Document", "Project")- Returns the full schema definition as JSON
-
get_object- Retrieve a digital object by its complete ID/handle.object_id- Complete object ID (e.g., "test/abc123")
-
search_objects- Search for digital objects using a query string with pagination support.query- Lucene/Solr compatible search querytype- Optional filter by object typelimit- Number of results per page (default: 25)page_num- Page number to retrieve, 0-based (default: 0)
-
count_objects- Count the total number of objects matching a query.query- Lucene/Solr compatible search querytype- Optional filter by object type
-
get_design_object- Retrieve the Cordra design object containing repository configuration.- Includes type definitions, workflow configurations, and system settings
- Administrative privileges are typically required to access this object
Query Syntax
CRITICAL: JSON properties MUST be prefixed with /
✅ Correct Examples:
/title:*report*- Wildcard search in title field/author/name:Daniel- Nested property access/status:active AND /priority:high- Boolean operators- Use
typeparameter instead of includingtype:in query
❌ Wrong (will fail):
name:John- Missing/prefixauthor/name:Daniel- Missing leading/type:Person- Use thetypeparameter instead
Operators: * (wildcard), ? (single char), AND, OR, NOT, "phrases"
Configuration
The MCP server can be configured using environment variables:
CORDRA_BASE_URL- Cordra server URL (default:https://localhost:8443)CORDRA_USERNAME- Username for authentication (optional)CORDRA_PASSWORD- Password for authentication (optional)CORDRA_VERIFY_SSL- SSL certificate verification (default:true)CORDRA_TIMEOUT- Request timeout in seconds (default:30)LOGLEVEL- Logging level (default:INFO, options:DEBUG,INFO,WARNING,ERROR,CRITICAL)
Usage
Run the MCP server:
uv run mcp-cordra
Claude Code
You can add this MCP to Claude Code by registering it in the settings
of your project or creating a .mcp.json file in your workdir:
Example using the docker build:
{
"mcpServers": {
"cordra": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CORDRA_BASE_URL",
"ghcr.io/dnlbauer/cordra-mcp:latest"
],
"env": {
"CORDRA_BASE_URL": "https://cordra.example.de"
}
}
}
}
Example using the python package with uvx:
{
"mcpServers": {
"cordra": {
"command": "uvx",
"args": [
"cordra-mcp"
],
"env": {
"CORDRA_BASE_URL": "https://cordra.example.de"
}
}
}
}