Skip to main content

MCP server for Cordra digital object repository

Project description

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.

Example

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 query
    • type - Optional filter by object type
    • limit - 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 query
    • type - 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 type parameter instead of including type: in query

Wrong (will fail):

  • name:John - Missing / prefix
  • author/name:Daniel - Missing leading /
  • type:Person - Use the type parameter 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"
      }
    }
  }
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cordra_mcp-1.4.0.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cordra_mcp-1.4.0-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file cordra_mcp-1.4.0.tar.gz.

File metadata

  • Download URL: cordra_mcp-1.4.0.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cordra_mcp-1.4.0.tar.gz
Algorithm Hash digest
SHA256 fe8bb802186827377630d1780ae40900a670faf76770b57a314850742b249c98
MD5 b33a60ca0dcc8ed1dbf50a058128fc7b
BLAKE2b-256 175077af19421006efe3eebf02d98eed4f74e0ca69eb93ecd66db2ab9d40e139

See more details on using hashes here.

Provenance

The following attestation bundles were made for cordra_mcp-1.4.0.tar.gz:

Publisher: ci.yml on dnlbauer/cordra-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cordra_mcp-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: cordra_mcp-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cordra_mcp-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3be4c937e6a78169969516fa669ddace55e650f6637c09172151a69d31090647
MD5 25eb706ac3b071fc8e1aff92680565d7
BLAKE2b-256 ea408161fdc13d87d6048e13a45bc51ade685abd6735c97ebe51b5bc0139f30b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cordra_mcp-1.4.0-py3-none-any.whl:

Publisher: ci.yml on dnlbauer/cordra-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page