cordra-mcp

cordra-mcp

Provides read-only access to Cordra digital object repositories, enabling AI assistants to explore schemas, retrieve objects, and search using Lucene queries.

Category
Visit Server

README

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"
      }
    }
  }
}

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured