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"
}
}
}
}
Metadata
Release files for cordra-mcp 1.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cordra_mcp-1.4.0.tar.gz | 2.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cordra_mcp-1.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.1 MB
Release files / cordra_mcp-1.4.0.tar.gz
| Download URL | cordra_mcp-1.4.0.tar.gz |
|---|---|
| Size | 2.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fe8bb802186827377630d1780ae40900a670faf76770b57a314850742b249c98
|
|
BLAKE2b-256 checksum How to use checksums |
175077af19421006efe3eebf02d98eed4f74e0ca69eb93ecd66db2ab9d40e139
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 4, 2025.
Transparency logRelease files / cordra_mcp-1.4.0-py3-none-any.whl
| Download URL | cordra_mcp-1.4.0-py3-none-any.whl |
|---|---|
| Size | 10.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3be4c937e6a78169969516fa669ddace55e650f6637c09172151a69d31090647
|
|
BLAKE2b-256 checksum How to use checksums |
ea408161fdc13d87d6048e13a45bc51ade685abd6735c97ebe51b5bc0139f30b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 4, 2025.
Transparency log