{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.ni-c/caldav-mcp","description":"Read and write CalDAV calendars: events, tasks and journal entries over the open standard","title":"CalDAV calendars","repository":{"url":"https://github.com/ni-c/caldav-mcp","source":"github"},"version":"0.1.0","websiteUrl":"https://caldav-mcp.ni-c.de","packages":[{"registryType":"npm","identifier":"@ni-c/caldav-mcp","version":"0.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Root of the CalDAV server, e.g. https://dav.example.net. A calendar collection URL also works.","isRequired":true,"format":"string","name":"CALDAV_URL"},{"description":"Account name. Most hosted services want an app-specific password with it.","format":"string","name":"CALDAV_USERNAME"},{"description":"Password or app-specific password. Deleted from the environment once read.","format":"string","isSecret":true,"name":"CALDAV_PASSWORD"},{"description":"Bearer token, as an alternative to username and password. Not both.","format":"string","isSecret":true,"name":"CALDAV_TOKEN"},{"description":"Comma-separated calendars this server may touch, by path or final path segment. Default: all of them.","format":"string","name":"CALDAV_CALENDARS"},{"description":"IANA zone for timestamps that carry no offset, e.g. Europe/Berlin (default: UTC)","format":"string","name":"CALDAV_TIMEZONE"},{"description":"The address you are invited as, so respond_to_event can find your own attendee line","format":"string","name":"CALDAV_USER_EMAIL"},{"description":"Entries a listing returns by default, 1 to 500 (default: 100)","format":"number","name":"CALDAV_MAX_EVENTS"},{"description":"Set to true to register only the read tools (default: false)","format":"boolean","name":"CALDAV_READ_ONLY"},{"description":"Set to true to accept a self-signed certificate on the configured host only (default: false)","format":"boolean","name":"CALDAV_INSECURE_TLS"},{"description":"Set to true to allow a plain http:// URL to a host that is not loopback, which sends the credentials unencrypted (default: false)","format":"boolean","name":"CALDAV_ALLOW_PLAINTEXT"},{"description":"Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)","format":"string","name":"CALDAV_ALLOW_TOOLS"},{"description":"Comma-separated tool names or list_* prefixes to remove from whatever the allow list left","format":"string","name":"CALDAV_DENY_TOOLS"},{"description":"Deliberately unprefixed, and reaches every MCP server in the environment. Set to false to make guarded tools use the two-call token instead of a dialog (default: true)","format":"boolean","name":"ELICITATION"}]},{"registryType":"oci","identifier":"ghcr.io/ni-c/caldav-mcp:0.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Root of the CalDAV server, e.g. https://dav.example.net. A calendar collection URL also works.","isRequired":true,"format":"string","name":"CALDAV_URL"},{"description":"Account name. Most hosted services want an app-specific password with it.","format":"string","name":"CALDAV_USERNAME"},{"description":"Password or app-specific password. Deleted from the environment once read.","format":"string","isSecret":true,"name":"CALDAV_PASSWORD"},{"description":"Bearer token, as an alternative to username and password. Not both.","format":"string","isSecret":true,"name":"CALDAV_TOKEN"},{"description":"Comma-separated calendars this server may touch, by path or final path segment. Default: all of them.","format":"string","name":"CALDAV_CALENDARS"},{"description":"IANA zone for timestamps that carry no offset, e.g. Europe/Berlin (default: UTC)","format":"string","name":"CALDAV_TIMEZONE"},{"description":"The address you are invited as, so respond_to_event can find your own attendee line","format":"string","name":"CALDAV_USER_EMAIL"},{"description":"Entries a listing returns by default, 1 to 500 (default: 100)","format":"number","name":"CALDAV_MAX_EVENTS"},{"description":"Set to true to register only the read tools (default: false)","format":"boolean","name":"CALDAV_READ_ONLY"},{"description":"Set to true to accept a self-signed certificate on the configured host only (default: false)","format":"boolean","name":"CALDAV_INSECURE_TLS"},{"description":"Set to true to allow a plain http:// URL to a host that is not loopback, which sends the credentials unencrypted (default: false)","format":"boolean","name":"CALDAV_ALLOW_PLAINTEXT"},{"description":"Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)","format":"string","name":"CALDAV_ALLOW_TOOLS"},{"description":"Comma-separated tool names or list_* prefixes to remove from whatever the allow list left","format":"string","name":"CALDAV_DENY_TOOLS"},{"description":"Deliberately unprefixed, and reaches every MCP server in the environment. Set to false to make guarded tools use the two-call token instead of a dialog (default: true)","format":"boolean","name":"ELICITATION"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-05T21:12:23.024274Z","publishedAt":"2026-09-05T21:12:23.024274Z","updatedAt":"2026-09-05T21:12:23.024274Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.ni-c/caldav-mcp","description":"Read and write CalDAV calendars: events, tasks and journal entries over the open standard","title":"CalDAV calendars","repository":{"url":"https://github.com/ni-c/caldav-mcp","source":"github"},"version":"0.1.2","websiteUrl":"https://caldav-mcp.ni-c.de","packages":[{"registryType":"npm","identifier":"@ni-c/caldav-mcp","version":"0.1.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Root of the CalDAV server, e.g. https://dav.example.net. A calendar collection URL also works.","isRequired":true,"format":"string","name":"CALDAV_URL"},{"description":"Account name. Most hosted services want an app-specific password with it.","format":"string","name":"CALDAV_USERNAME"},{"description":"Password or app-specific password. Deleted from the environment once read.","format":"string","isSecret":true,"name":"CALDAV_PASSWORD"},{"description":"Bearer token, as an alternative to username and password. Not both.","format":"string","isSecret":true,"name":"CALDAV_TOKEN"},{"description":"Comma-separated calendars this server may touch, by path or final path segment. Default: all of them.","format":"string","name":"CALDAV_CALENDARS"},{"description":"IANA zone for timestamps that carry no offset, e.g. Europe/Berlin (default: UTC)","format":"string","name":"CALDAV_TIMEZONE"},{"description":"The address you are invited as, so respond_to_event can find your own attendee line","format":"string","name":"CALDAV_USER_EMAIL"},{"description":"Entries a listing returns by default, 1 to 500 (default: 100)","format":"number","name":"CALDAV_MAX_EVENTS"},{"description":"Set to true to register only the read tools (default: false)","format":"boolean","name":"CALDAV_READ_ONLY"},{"description":"Set to true to accept a self-signed certificate on the configured host only (default: false)","format":"boolean","name":"CALDAV_INSECURE_TLS"},{"description":"Set to true to allow a plain http:// URL to a host that is not loopback, which sends the credentials unencrypted (default: false)","format":"boolean","name":"CALDAV_ALLOW_PLAINTEXT"},{"description":"Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)","format":"string","name":"CALDAV_ALLOW_TOOLS"},{"description":"Comma-separated tool names or list_* prefixes to remove from whatever the allow list left","format":"string","name":"CALDAV_DENY_TOOLS"},{"description":"Deliberately unprefixed, and reaches every MCP server in the environment. Set to false to make guarded tools use the two-call token instead of a dialog (default: true)","format":"boolean","name":"ELICITATION"}]},{"registryType":"oci","identifier":"ghcr.io/ni-c/caldav-mcp:0.1.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Root of the CalDAV server, e.g. https://dav.example.net. A calendar collection URL also works.","isRequired":true,"format":"string","name":"CALDAV_URL"},{"description":"Account name. Most hosted services want an app-specific password with it.","format":"string","name":"CALDAV_USERNAME"},{"description":"Password or app-specific password. Deleted from the environment once read.","format":"string","isSecret":true,"name":"CALDAV_PASSWORD"},{"description":"Bearer token, as an alternative to username and password. Not both.","format":"string","isSecret":true,"name":"CALDAV_TOKEN"},{"description":"Comma-separated calendars this server may touch, by path or final path segment. Default: all of them.","format":"string","name":"CALDAV_CALENDARS"},{"description":"IANA zone for timestamps that carry no offset, e.g. Europe/Berlin (default: UTC)","format":"string","name":"CALDAV_TIMEZONE"},{"description":"The address you are invited as, so respond_to_event can find your own attendee line","format":"string","name":"CALDAV_USER_EMAIL"},{"description":"Entries a listing returns by default, 1 to 500 (default: 100)","format":"number","name":"CALDAV_MAX_EVENTS"},{"description":"Set to true to register only the read tools (default: false)","format":"boolean","name":"CALDAV_READ_ONLY"},{"description":"Set to true to accept a self-signed certificate on the configured host only (default: false)","format":"boolean","name":"CALDAV_INSECURE_TLS"},{"description":"Set to true to allow a plain http:// URL to a host that is not loopback, which sends the credentials unencrypted (default: false)","format":"boolean","name":"CALDAV_ALLOW_PLAINTEXT"},{"description":"Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)","format":"string","name":"CALDAV_ALLOW_TOOLS"},{"description":"Comma-separated tool names or list_* prefixes to remove from whatever the allow list left","format":"string","name":"CALDAV_DENY_TOOLS"},{"description":"Deliberately unprefixed, and reaches every MCP server in the environment. Set to false to make guarded tools use the two-call token instead of a dialog (default: true)","format":"boolean","name":"ELICITATION"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-06T00:31:18.555965Z","publishedAt":"2026-09-06T00:31:18.555965Z","updatedAt":"2026-09-06T00:31:18.555965Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.ni-c/caldav-mcp","description":"Read and write CalDAV calendars: events, tasks and journal entries over the open standard","title":"CalDAV calendars","repository":{"url":"https://github.com/ni-c/caldav-mcp","source":"github"},"version":"0.1.3","websiteUrl":"https://caldav-mcp.ni-c.de","packages":[{"registryType":"npm","identifier":"@ni-c/caldav-mcp","version":"0.1.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Root of the CalDAV server, e.g. https://dav.example.net. A calendar collection URL also works.","isRequired":true,"format":"string","name":"CALDAV_URL"},{"description":"Account name. Most hosted services want an app-specific password with it.","format":"string","name":"CALDAV_USERNAME"},{"description":"Password or app-specific password. Deleted from the environment once read.","format":"string","isSecret":true,"name":"CALDAV_PASSWORD"},{"description":"Bearer token, as an alternative to username and password. Not both.","format":"string","isSecret":true,"name":"CALDAV_TOKEN"},{"description":"Comma-separated calendars this server may touch, by path or final path segment. Default: all of them.","format":"string","name":"CALDAV_CALENDARS"},{"description":"IANA zone for timestamps that carry no offset, e.g. Europe/Berlin (default: UTC)","format":"string","name":"CALDAV_TIMEZONE"},{"description":"The address you are invited as, so respond_to_event can find your own attendee line","format":"string","name":"CALDAV_USER_EMAIL"},{"description":"Entries a listing returns by default, 1 to 500 (default: 100)","format":"number","name":"CALDAV_MAX_EVENTS"},{"description":"Set to true to register only the read tools (default: false)","format":"boolean","name":"CALDAV_READ_ONLY"},{"description":"Set to true to accept a self-signed certificate on the configured host only (default: false)","format":"boolean","name":"CALDAV_INSECURE_TLS"},{"description":"Set to true to allow a plain http:// URL to a host that is not loopback, which sends the credentials unencrypted (default: false)","format":"boolean","name":"CALDAV_ALLOW_PLAINTEXT"},{"description":"Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)","format":"string","name":"CALDAV_ALLOW_TOOLS"},{"description":"Comma-separated tool names or list_* prefixes to remove from whatever the allow list left","format":"string","name":"CALDAV_DENY_TOOLS"},{"description":"Deliberately unprefixed, and reaches every MCP server in the environment. Set to false to make guarded tools use the two-call token instead of a dialog (default: true)","format":"boolean","name":"ELICITATION"}]},{"registryType":"oci","identifier":"ghcr.io/ni-c/caldav-mcp:0.1.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Root of the CalDAV server, e.g. https://dav.example.net. A calendar collection URL also works.","isRequired":true,"format":"string","name":"CALDAV_URL"},{"description":"Account name. Most hosted services want an app-specific password with it.","format":"string","name":"CALDAV_USERNAME"},{"description":"Password or app-specific password. Deleted from the environment once read.","format":"string","isSecret":true,"name":"CALDAV_PASSWORD"},{"description":"Bearer token, as an alternative to username and password. Not both.","format":"string","isSecret":true,"name":"CALDAV_TOKEN"},{"description":"Comma-separated calendars this server may touch, by path or final path segment. Default: all of them.","format":"string","name":"CALDAV_CALENDARS"},{"description":"IANA zone for timestamps that carry no offset, e.g. Europe/Berlin (default: UTC)","format":"string","name":"CALDAV_TIMEZONE"},{"description":"The address you are invited as, so respond_to_event can find your own attendee line","format":"string","name":"CALDAV_USER_EMAIL"},{"description":"Entries a listing returns by default, 1 to 500 (default: 100)","format":"number","name":"CALDAV_MAX_EVENTS"},{"description":"Set to true to register only the read tools (default: false)","format":"boolean","name":"CALDAV_READ_ONLY"},{"description":"Set to true to accept a self-signed certificate on the configured host only (default: false)","format":"boolean","name":"CALDAV_INSECURE_TLS"},{"description":"Set to true to allow a plain http:// URL to a host that is not loopback, which sends the credentials unencrypted (default: false)","format":"boolean","name":"CALDAV_ALLOW_PLAINTEXT"},{"description":"Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)","format":"string","name":"CALDAV_ALLOW_TOOLS"},{"description":"Comma-separated tool names or list_* prefixes to remove from whatever the allow list left","format":"string","name":"CALDAV_DENY_TOOLS"},{"description":"Deliberately unprefixed, and reaches every MCP server in the environment. Set to false to make guarded tools use the two-call token instead of a dialog (default: true)","format":"boolean","name":"ELICITATION"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-07T10:12:23.454847Z","publishedAt":"2026-09-07T10:12:23.454847Z","updatedAt":"2026-09-07T10:12:23.454847Z","isLatest":true}}}],"metadata":{"count":3}}
