GitHub Stars
1
User Rating
Not Rated
Forks
0
Issues
0
Views
2
Favorites
0
🔗 Seamless Integration with Nextcloud through REST/JSON APIs
Our custom-developed solution exposes Nextcloud’s CalDAV and CardDAV interfaces as modern, developer-friendly REST/JSON APIs, enabling seamless integration with virtually any application, regardless of platform or language.
No more dealing with legacy protocols — developers can now access, create, or update calendar events and contact records using simple HTTP requests and standard JSON payloads.
But that's not all.
This platform will also support MCP (Message-Centric Protocol), making it natively compatible with intelligent agents and AI-driven automation tools. Real-time updates, continuous event streams, and smart synchronization capabilities are now at your fingertips. ⚙️ Key Benefits:
📅 REST access to CalDAV: Read, create, update calendar events easily.
👥 REST access to CardDAV: Manage contacts in a fully interoperable way.
⚡ AI/Agent-ready: HTTP Stream-based support for live data streams via MCP.
🔗 Easy integration: Works with any REST-capable system (CRMs, ERPs, bots...).
🔐 Secure and efficient: Built on top of Nextcloud’s robust auth and permission system.
🚀 Empower your ecosystem
Whether you're developing business automation workflows, personal productivity tools, or AI assistants, this REST/JSON bridge opens up Nextcloud to a whole new world of integrations.
Features
- REST API for contacts and events management
- Comprehensive CardDAV/CalDAV integration with Nextcloud
- Model Context Protocol (MCP) server implementation
- Secure authentication handling
- Comprehensive test coverage
- Swagger UI documentation
Installation
- Clone the repository:
git clone https://gitlab.com/your-username/your-repo.git
cd your-repo
- Create virtual environment:
python -m venv venv
source venv/bin/activate # Linux/MacOS
# or
.\venv\Scripts\activate # Windows
- Install dependencies:
pip install -r requirements.txt
Configuration
The application requires configuration to connect to your Nextcloud instance. Look at the config.example.yaml file in the /src/mcp, /src/api and /src/nexcloud directories. Rename them in config.yaml and edit them according to your needs.
Usage
Run directly using the script:
python fastapi_server.py
The server will be available at http://localhost:<your port>
with the following endpoints:
- API Documentation:
http://localhost:<your port>/docs
- Contacts API:
http://localhost:<your port>/contacts
- Events API:
http://localhost:<your port>/events
- Status:
http://localhost:<your port>/status
API Documentation
The API provides comprehensive endpoints for managing contacts and events in Nextcloud.
Authentication
All API endpoints require HTTP Basic Authentication with your Nextcloud credentials.
Testing
Run all tests:
pytest tests/ -v
Or run individual test modules:
# Test contacts directly with Nextcloud (no FastAPI server needed)
python -m tests.test_contacts_nx_cli
# Test events directly with Nextcloud (no FastAPI server needed)
python -m tests.test_events_nx_cli
# Test contacts via the FastAPI server (requires server to be running)
python -m tests.test_contacts_api_cli
# Test events via the FastAPI server (requires server to be running)
python -m tests.test_events_api_cli
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/your-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin feature/your-feature
) - Create new Merge Request
License
License: MIT Author: harokku999@gmail.com