Commit Graph

13 Commits

Author SHA1 Message Date
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
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
4102860d98 feat: linting 2025-06-30 11:52:10 +02:00
Daniel Bauer
9901f51f06 fix: linter and unit tests 2025-06-30 11:44:25 +02:00
daniel
4ef2f50e72 feat: better error handling. 2025-06-29 23:45:00 +02:00
daniel
53cbb53178 feat: replace CordraPy with http requests 2025-06-29 14:50:42 +02:00
daniel
cc06e1eace feat: add schema listing functionality
- Add find method to CordraClient for querying objects
- Implement cordra://schemas resource for listing available type schemas
- Add comprehensive unit tests for both client find method and server schema listing
- Handle CordraPy response format with results array extraction
- Support schema name extraction from returned objects
2025-06-29 14:28:08 +02:00
daniel
0f9d33c20b feat: add digital object resource 2025-06-29 13:59:22 +02:00
daniel
fed4c26f21 fix: cordapy response parsing 2025-06-29 13:54:15 +02:00
daniel
2cca4adeb8 feat: implement cordra client 2025-06-29 11:42:58 +02:00
daniel
d95151f9a4 feat: initialize Python MCP server project structure
- Add pyproject.toml with dependencies and dev tools
- Create src/mcp_cordra package structure
- Add tests directory
- Configure uv environment with lock file
- Add comprehensive .gitignore

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-28 19:42:10 +02:00