9 Commits

Author SHA1 Message Date
Daniel Bauer
1eb7285132 chore: update lockfile 2025-07-09 09:53:44 +02:00
Daniel Bauer
906e387192 ci: assert lock file has been updated 2025-07-09 09:53:19 +02:00
Daniel Bauer
0a03fec5b8 fix: synchronize version 2025-07-09 09:49:17 +02:00
Daniel Bauer
e541a27d9f ci: validate version and only publish when tagged 2025-07-09 09:46:49 +02:00
Daniel Bauer
20b2f1b219 doc: add example gif 2025-07-08 13:58:13 +02:00
Daniel Bauer
38e1118167 chore: update lock file for version 1.1.0
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-05 12:53:39 +02:00
Daniel Bauer
d04bfd2f90 Merge branch 'main' of github.com:dnlbauer/cordra-mcp 2025-07-05 12:48:18 +02:00
Daniel Bauer
2499654bf4 bump: version 1.1.0
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-05 12:48:02 +02:00
Daniel Bauer
3e8205c098 Merge pull request #1 from dnlbauer/fix-schema-pagination
Fix schema pagination and enhance search functionality
2025-07-05 12:43:55 +02:00
6 changed files with 30 additions and 7 deletions

View File

@@ -3,6 +3,7 @@ name: CI
on:
push:
branches: [ main ]
tags: [ 'v*' ]
pull_request:
branches: [ main ]
@@ -25,7 +26,7 @@ jobs:
run: uv python install ${{ matrix.python-version }}
- name: Install dependencies
run: uv sync --dev
run: uv sync --dev --locked
- name: Run ruff linting
run: uv run ruff check
@@ -35,6 +36,26 @@ jobs:
- name: Run tests
run: uv run pytest
- name: Validate version consistency
# Ensure that the version is consistent across files and matches the tag if applicable
run: |
PYPROJECT_VERSION=$(python3 -c "import tomllib; print(tomllib.load(open('pyproject.toml', 'rb'))['project']['version'])")
INIT_VERSION=$(python3 -c "import re; print(re.search(r'__version__ = \"(.+?)\"', open('src/cordra_mcp/__init__.py').read()).group(1))")
if [ "$PYPROJECT_VERSION" != "$INIT_VERSION" ]; then
echo "Version mismatch: pyproject.toml=$PYPROJECT_VERSION, __init__.py=$INIT_VERSION"
exit 1
fi
# Additionally check tag version if this is a tag build
if [[ "$GITHUB_REF" == refs/tags/v* ]]; then
TAG_VERSION=${GITHUB_REF#refs/tags/v}
if [ "$TAG_VERSION" != "$PYPROJECT_VERSION" ]; then
echo "Version mismatch: tag=$TAG_VERSION, pyproject.toml=$PYPROJECT_VERSION"
exit 1
fi
fi
docker:
runs-on: ubuntu-latest
@@ -42,7 +63,7 @@ jobs:
permissions:
contents: read
packages: write
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
if: startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/checkout@v4
@@ -63,7 +84,7 @@ jobs:
with:
images: ghcr.io/${{ github.repository_owner }}/cordra-mcp
tags: |
type=ref,event=branch
type=ref,event=tag
type=raw,value=latest
- name: Build and push Docker image
@@ -81,7 +102,7 @@ jobs:
needs: test
permissions:
id-token: write
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
if: startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/checkout@v4

View File

@@ -7,6 +7,8 @@ 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](example.gif)
## Features
- **Read-Only Access**: All operations are strictly read-only,

BIN
example.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

View File

@@ -1,6 +1,6 @@
[project]
name = "cordra-mcp"
version = "1.0.0"
version = "1.1.1"
description = "MCP server for Cordra digital object repository"
authors = [
{name = "Daniel Bauer", email = "github@dbauer.me"},

View File

@@ -1,3 +1,3 @@
"""MCP server for Cordra digital object repository."""
__version__ = "0.1.0"
__version__ = "1.1.1"

2
uv.lock generated
View File

@@ -113,7 +113,7 @@ wheels = [
[[package]]
name = "cordra-mcp"
version = "1.0.0"
version = "1.1.1"
source = { editable = "." }
dependencies = [
{ name = "mcp", extra = ["cli"] },