Use CARDDAV_URL as address book URL
All checks were successful
Build And Test / publish (push) Successful in 49s
All checks were successful
Build And Test / publish (push) Successful in 49s
This commit is contained in:
@@ -51,10 +51,9 @@ CALDAV_PASSWORD=your-caldav-password
|
||||
# - Nextcloud: https://cloud.example.com/remote.php/dav
|
||||
# - Fastmail: https://carddav.fastmail.com/dav/addressbooks/user/you@fastmail.com
|
||||
# - Radicale: https://radicale.example.com/user/
|
||||
CARDDAV_URL=https://carddav.example.com/dav
|
||||
CARDDAV_URL=https://carddav.example.com/dav/addressbooks/users/user@example.com/contacts/
|
||||
CARDDAV_USERNAME=user@example.com
|
||||
CARDDAV_PASSWORD=your-carddav-password
|
||||
CONTACTS_ADDRESSBOOK_URL=https://carddav.example.com/dav/addressbooks/users/user@example.com/contacts/
|
||||
|
||||
# =============================================================================
|
||||
# Cache Configuration
|
||||
|
||||
@@ -91,13 +91,12 @@ ICS_CALENDAR_TIMEOUT=20
|
||||
ICS_CALENDARS=Team|https://example.com/team.ics,Family|https://example.com/family.ics
|
||||
ICS_CALENDAR_TIMEOUT=20
|
||||
|
||||
CARDDAV_URL=https://carddav.example.com/dav
|
||||
CARDDAV_URL=https://carddav.example.com/dav/addressbooks/users/you@example.com/contacts/
|
||||
CARDDAV_USERNAME=you@example.com
|
||||
CARDDAV_PASSWORD=your-password
|
||||
CONTACTS_ADDRESSBOOK_URL=https://carddav.example.com/dav/addressbooks/users/you@example.com/contacts/
|
||||
```
|
||||
|
||||
Contacts tools always use `CONTACTS_ADDRESSBOOK_URL` (full CardDAV address book URL). Listing address books is not exposed via MCP.
|
||||
Contacts tools always use `CARDDAV_URL` as the full CardDAV address book URL. Listing address books is not exposed via MCP.
|
||||
|
||||
ICS calendars are optional and read-only. Set `ICS_CALENDARS` to a comma-separated list of entries, each as `name|url` or just `url` if you want the name inferred.
|
||||
|
||||
|
||||
@@ -40,10 +40,6 @@ class Settings(BaseSettings):
|
||||
carddav_url: Optional[str] = Field(default=None, alias="CARDDAV_URL")
|
||||
carddav_username: Optional[str] = Field(default=None, alias="CARDDAV_USERNAME")
|
||||
carddav_password: Optional[SecretStr] = Field(default=None, alias="CARDDAV_PASSWORD")
|
||||
contacts_addressbook_url: Optional[str] = Field(
|
||||
default=None,
|
||||
alias="CONTACTS_ADDRESSBOOK_URL",
|
||||
)
|
||||
|
||||
# SQLite Cache
|
||||
sqlite_path: str = Field(default="/data/cache.db", alias="SQLITE_PATH")
|
||||
@@ -154,7 +150,6 @@ class Settings(BaseSettings):
|
||||
self.carddav_url,
|
||||
self.carddav_username,
|
||||
self.carddav_password,
|
||||
self.contacts_addressbook_url,
|
||||
])
|
||||
|
||||
def is_notification_configured(self) -> bool:
|
||||
|
||||
@@ -495,6 +495,6 @@ class ContactsService:
|
||||
def _resolve_addressbook_id(self, addressbook_id: Optional[str]) -> str:
|
||||
if addressbook_id:
|
||||
return addressbook_id
|
||||
if self.settings.contacts_addressbook_url:
|
||||
return self.settings.contacts_addressbook_url
|
||||
raise ValueError("CONTACTS_ADDRESSBOOK_URL must be set to use contacts tools")
|
||||
if self.settings.carddav_url:
|
||||
return self.settings.carddav_url
|
||||
raise ValueError("CARDDAV_URL must be set to use contacts tools")
|
||||
|
||||
Reference in New Issue
Block a user