Chris Coutinho
e8f1340133
fix(caldav): Fix caldav search() due to missing todos
2025-10-20 22:18:46 +02:00
Chris Coutinho
71f09a47ca
docs: Update CalendarClient docstrings [skip ci]
2025-10-20 00:54:35 +02:00
Chris Coutinho
f4dd68735c
test: Fix how categories are handled in calendar
2025-10-20 00:04:38 +02:00
Chris Coutinho
a143123acc
fix(caldav): Check that calendar exists after creation to avoid race condition
...
Verify that field preservation tests still operate
2025-10-19 23:44:39 +02:00
Chris Coutinho
1dc2ddfdb7
fix(caldav): Properly parse datetimes as vDDDTypes
2025-10-19 20:13:05 +02:00
Chris Coutinho
92e18825bc
feat(caldav): Add support for tasks
2025-10-19 18:02:43 +02:00
Chris Coutinho
c2f6c6ce0d
ci: Set cookbook recipe import timeout to 5min
2025-10-19 01:49:21 +02:00
Chris Coutinho
31ffeba69b
chore: Move timeout to recipe import
2025-10-18 23:12:31 +02:00
Chris Coutinho
6158a890af
feat(webdav): Add search and list favorite response tools
2025-10-18 22:02:26 +02:00
Chris Coutinho
37164dbdbc
chore: sort imports
2025-10-18 22:02:25 +02:00
Chris Coutinho
83917b3786
perf(notes): Improve notes search performance using async iterators
2025-10-18 22:02:19 +02:00
Chris Coutinho
8e7191e0ea
fix: Increase HTTP client timeout to 30s
...
The default 5s timeout was too short for Nextcloud Cookbook app to fetch and process recipes from external URLs, causing intermittent test failures with ReadTimeout errors.
Fixes intermittent CI failures in cookbook import tests.
2025-10-17 04:41:28 +02:00
Chris Coutinho
9de59db718
feat(cookbook): Add full Cookbook app support with 13 tools and 2 resources
...
- Import recipes from URLs using schema.org metadata
- Full CRUD operations for recipes
- Search, categorize, and organize recipes
- Manage keywords/tags and categories
- Configure app settings and trigger reindexing
2025-10-17 03:08:16 +02:00
Chris Coutinho
5db02313a1
test: Update share client to fix test, update passwords
2025-10-15 10:35:22 +02:00
Chris Coutinho
85f8522085
feat: Add Groups API client
2025-10-15 03:43:25 +02:00
Chris Coutinho
a38c795124
feat: add sharing API client and server tools
2025-10-15 02:59:26 +02:00
Chris Coutinho
7004104873
test: Fix multi-user tests
2025-10-15 02:11:17 +02:00
Chris Coutinho
7a4a31b52d
fix: Update user/groups API to OCS v2
2025-10-15 00:05:22 +02:00
Chris Coutinho
898c2e72ae
Merge remote-tracking branch 'origin/master' into feature/user-api
2025-10-14 23:43:03 +02:00
Chris Coutinho
13e4915e38
test: Remove unused pytest fixtures
2025-10-14 01:23:39 +02:00
Chris Coutinho
2b11718c43
test: continue working on oauth client
2025-10-14 01:23:30 +02:00
Chris Coutinho
33b962a7fc
test: Setup interactive browser test
2025-10-14 01:23:30 +02:00
Chris Coutinho
4d7e4b9a4b
feat(server): Experimental support for OAuth2/OIDC authentication
2025-10-14 01:22:15 +02:00
Chris Coutinho
961f23b5ea
feat(users): Initialize user API client
2025-09-11 09:42:42 +02:00
Chris Coutinho
e7a5caa0d6
Merge remote-tracking branch 'origin/master' into feature/deck
2025-09-11 00:37:58 +02:00
Chris Coutinho
167053578d
feat(deck): Initialize Deck app client/server
2025-09-11 00:10:25 +02:00
Pedro Ruiz
5d4902a73e
feat: Add WebDAV resource copy functionality
2025-09-10 22:15:16 +02:00
Pedro Ruiz
b55b9640c6
feat: Add WebDAV resource move/rename functionality
2025-09-10 22:12:17 +02:00
Chris Coutinho
4cf5f2a95a
feat(client): Preserve fields when modifying contacts/calendar resources
2025-08-30 19:19:20 +02:00
Chris Coutinho
0484167a22
refactor: Use _make_request where available
2025-08-30 14:27:53 +02:00
Chris Coutinho
84ad1958af
chore: Remove unnecessary logging
...
Migrate pre-commit tasks to local
2025-08-30 14:25:16 +02:00
Rémi Nivet
4f7023a16e
fix(client): Use paging to fetch all notes
2025-08-29 23:46:58 +02:00
Chris Coutinho
3836534205
fix(client): Strip cookies from responses to avoid falsely raising CSRF errors
2025-08-08 21:03:16 +02:00
Chris Coutinho
72cb62a101
test(contacts): Add unit/integration tests for a few tools
2025-08-03 14:36:16 +02:00
Chris Coutinho
70f01bf40a
Add files
2025-08-03 14:16:55 +02:00
Chris Coutinho
37b1057d2a
feat(contacts): Initialize Contacts App
2025-08-03 14:15:37 +02:00
Chris Coutinho
8956945e9d
chore: sort imports
2025-08-01 12:21:32 +02:00
Chris Coutinho
69fccb496a
Use self._make_request
2025-08-01 11:05:28 +02:00
Chris Coutinho
6bdbb6ea6c
Create sample calendar
2025-08-01 10:26:56 +02:00
Chris Coutinho
0b8a3aa646
Prepare calendar before running tests
2025-08-01 09:29:15 +02:00
Chris Coutinho
2bcfd3d7ee
fix(calendar): Fix iCalendar date vs datetime format
2025-08-01 08:34:51 +02:00
Chris Coutinho
75235d6013
Refactor datetime
2025-07-31 14:51:33 +02:00
Chris Coutinho
b81fe6dfa0
fix(calendar): Remove try/except in calendar API
2025-07-30 11:03:01 +02:00
Neovasky
83748a27da
fix: apply ruff formatting to pass CI checks
...
- Fixed line length issues in logger.warning calls
- Removed trailing spaces in docstrings
- Applied consistent formatting across all files
2025-07-28 11:52:10 -04:00
Neovasky
3ddeeab67f
fix(calendar): address PR feedback from maintainer
...
- Remove CHANGELOG.md changes (auto-generated from commits)
- Move all parameter descriptions into function docstrings for LLM context
- Remove unused caldav dependency (using httpx for CalDAV implementation)
- Move datetime imports to top of modules
- Remove load_dotenv from tests/conftest.py
- Clarify Event vs Meeting distinction in docstrings
- Handle 401 auth errors gracefully in calendar tests
Addresses all feedback from PR #95 review
2025-07-28 11:44:53 -04:00
Neovasky
2e078498b1
refactor(calendar): optimize logging for production readiness
...
- Change routine operation logs from info to debug level
- Simplify success messages for better readability
- Remove redundant calendar/path information from log messages
- Align logging style with repository standards
Following patterns established by repository maintainer in WebDAV client cleanup.
2025-07-27 00:46:57 -04:00
Neovasky
7291c930c4
feat(calendar): add comprehensive Calendar app support via CalDAV protocol
...
- Add complete CalDAV client implementation following NextCloud patterns
- Implement 11 comprehensive calendar MCP tools:
* nc_calendar_list_calendars - list available calendars
* nc_calendar_create_event - full event creation with recurrence, reminders, attendees
* nc_calendar_list_events - enhanced with advanced filtering capabilities
* nc_calendar_get_event - detailed event information retrieval
* nc_calendar_update_event - comprehensive event modification
* nc_calendar_delete_event - event removal
* nc_calendar_create_meeting - quick meeting creation with smart defaults
* nc_calendar_get_upcoming_events - upcoming events in next N days
* nc_calendar_find_availability - intelligent scheduling with conflict detection
* nc_calendar_bulk_operations - batch update/delete/move operations
* nc_calendar_manage_calendar - calendar creation and management
- Add CalDAV and iCalendar dependencies to support calendar operations
- Implement comprehensive integration tests (11 test cases covering all scenarios)
- Update documentation with complete calendar tools reference and usage examples
Resolves #74
2025-07-27 00:25:31 -04:00
Chris Coutinho
3ad07d05dd
feat: Update webdav client create_directory method to handle recursive directories
2025-07-26 13:27:21 +02:00
Neovasky
bf5879d408
test: add comprehensive WebDAV integration tests
...
- Add 8 core WebDAV operation tests covering CRUD operations
- Add complex attachment cleanup test for category changes
- Fix ruff formatting violations in webdav.py and server.py
- Address PR feedback requirements for expanded WebDAV functionality
Tests focus on WebDAV client functionality and run locally with docker-compose.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-07-26 02:28:13 -04:00
Neovasky
9e96999f02
feat(webdav): add complete file system support
...
- Add nc_webdav_list_directory tool for browsing any NextCloud directory
- Add nc_webdav_read_file tool with automatic text/binary content handling
- Add nc_webdav_write_file tool supporting text and base64 binary content
- Add nc_webdav_create_directory tool for creating directories
- Add nc_webdav_delete_resource tool for deleting files and directories
- Extend WebDAV client beyond Notes attachments to general file operations
- Add XML parsing for WebDAV PROPFIND responses with metadata extraction
- Improve type annotations throughout codebase for better IDE support
- Add comprehensive documentation with usage examples
This transforms the NextCloud MCP server from a limited Notes/Tables tool
into a full-featured file system interface, enabling complete NextCloud
file management through LLM interactions.
2025-07-25 03:15:52 -04:00