Commit Graph

7 Commits

Author SHA1 Message Date
Daniel Bauer
f32b4c9448 fix: implement pagination for schema resource fetching
The schema resource registration was only fetching the first page of
schemas from Cordra, causing schemas beyond the page limit to not be
registered as MCP resources.

Changes:
- Enhanced find() method to support pagination with page_size/page_num
- Modified schema registration to paginate through all results
- Updated return structure to include pagination metadata
- Added comprehensive test coverage for pagination scenarios
- Maintains backward compatibility with existing code

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-05 12:16:38 +02:00
Daniel Bauer
748d9b604f feat: add design object resource for repository configuration access
Add new MCP resource cordra://design to retrieve Cordra's central design object
containing repository configuration, type definitions, and system settings.

- Add CordraClient.get_design() method using /api/objects/design endpoint
- Add get_cordra_design() resource handler with proper MCP annotations
- Include comprehensive error handling for authentication failures
- Document administrative privilege requirements in descriptions
- Add complete test coverage for both client and server functionality

The design object provides AI systems access to understand the complete
data model and configuration structure of a Cordra repository.
2025-07-04 10:07:16 +02:00
Daniel Bauer
94340e2bb1 feat: add search tool for digital object discovery
Implement MCP tool to search Cordra repository using Lucene/Solr syntax.
Enables AI assistants to discover and filter digital objects by content,
type, and other metadata fields.

Features:
- Lucene/Solr compatible query syntax support
- Optional type filtering (e.g., Person, Document)
- Configurable result limits with sensible defaults
- Comprehensive error handling and validation
- JSON formatted results with proper indentation

Technical changes:
- Enhanced CordraClient.find() with type and limit parameters
- Added search_objects MCP tool with detailed annotations
- Removed unused tools module in favor of decorator approach
- Added 12 comprehensive unit tests covering all scenarios
2025-07-04 09:30:38 +02:00
Daniel Bauer
67f56a51ff feat: remove test tool. 2025-06-30 12:11:58 +02:00
Daniel Bauer
2fdf4184de feat: change variable name for base url 2025-06-30 12:07:09 +02:00
Daniel Bauer
96df10adb0 fix: update tests for module rename from mcp_cordra to cordra_mcp
- Updated all import statements in test files
- Added types-requests dependency for mypy type checking
- Fixed code formatting with ruff
2025-06-30 12:01:53 +02:00
Daniel Bauer
addfea8698 fix: update project name to 'cordra-mcp' in configuration files 2025-06-30 11:51:08 +02:00