Commit Graph

42 Commits

Author SHA1 Message Date
Daniel Bauer
6dcc039470 doc: document how to use the python package 2025-07-04 13:21:50 +02:00
Daniel Bauer
2ca87fb87f feat: publish to pypi 2025-07-04 13:11:17 +02:00
Daniel Bauer
99a1397164 doc: document how to use the docker build 2025-07-04 13:06:20 +02:00
Daniel Bauer
3272f527dd feat: add docker build 2025-07-04 12:57:08 +02:00
Daniel Bauer
0b61b09915 doc: update project metadata in pyproject.toml 2025-07-04 11:05:00 +02:00
Daniel Bauer
b9d1df6370 chore: bump version to 1.0.0 2025-07-04 10:18:49 +02:00
Daniel Bauer
e781c1d060 doc: add missing resources and tools to README 2025-07-04 10:14:54 +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
46e1a8057f feat: improve resource documentation 2025-07-03 21:19:22 +02:00
Daniel Bauer
e3551548e3 fix: ci/cd typo 2025-06-30 13:44:29 +02:00
Daniel Bauer
744efc7e57 Revert "feat: change settings prefix to avoid clashes with projects using cordra"
This reverts commit 35d304a6c4.
2025-06-30 13:14:21 +02:00
Daniel Bauer
0fd86775ac feat: remove .env parsing du to clashes with projects using .env 2025-06-30 13:12:46 +02:00
Daniel Bauer
35d304a6c4 feat: change settings prefix to avoid clashes with projects using cordra 2025-06-30 13:01:21 +02:00
Daniel Bauer
3c2a2334dc feat: add python 3.13 to tests 2025-06-30 13:00:59 +02:00
Daniel Bauer
485a0dd738 fix: remove ruff deprecation warning 2025-06-30 13:00:27 +02:00
Daniel Bauer
de485500a2 feat: add python 3.13 to pipeline 2025-06-30 12:37:21 +02:00
Daniel Bauer
90b0180212 feat: add ci/cd pipeline for github 2025-06-30 12:36:33 +02:00
Daniel Bauer
0c1670f573 feat: add License file 2025-06-30 12:31:08 +02:00
Daniel Bauer
c24c5368ff doc: update readme 2025-06-30 12:30:23 +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
23b5e66600 fix: frong script name 2025-06-30 12:04:08 +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
addfea8698 fix: update project name to 'cordra-mcp' in configuration files 2025-06-30 11:51:08 +02:00
Daniel Bauer
9901f51f06 fix: linter and unit tests 2025-06-30 11:44:25 +02:00
Daniel Bauer
f34d3e6e7c fix: add missing dependencies 2025-06-30 11:35:11 +02:00
Daniel Bauer
6faca65408 feat: init resources 2025-06-30 11:33:29 +02:00
daniel
33d3c96314 wip: temporary commit - code needs refactoring for better organization 2025-06-30 00:55:54 +02:00
daniel
4a2d79da83 feat: add mcp resource for getting a schema definition 2025-06-30 00:01:08 +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
bfdc1d75ae fix: improve type checking and linting configuration
- Add mypy configuration with cordra module overrides
- Fix newline issues in __init__.py and server.py
- Update dependencies to use CordraPy from GitHub
- Add setuptools dependency for CordraPy compatibility
- Configure pytest with asyncio support

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-29 11:29:40 +02:00
daniel
ba77019291 feat: add basic MCP server with ping tool 2025-06-29 10:20:59 +02:00
daniel
67dbb99501 chore: add .mcp.json to .gitignore
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-28 23:43:17 +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
daniel
2090c8e0c8 docs: add MCP Cordra server specification
Initial specification document outlining tools and capabilities
for integrating with Cordra document repository system.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-28 18:54:53 +02:00