Skip to main content
Glama

Daylite MCP Server

MCP-Server für Daylite CRM – verbindet Claude Desktop mit deinen Daylite-Daten.

Features

CalDAV (Tasks & Termine)

  • Aufgaben auflisten, erstellen, bearbeiten, löschen

  • Termine auflisten, erstellen, bearbeiten, löschen

  • Kalender verwalten

REST API (CRM-Daten)

  • Kontakte: Suchen, anzeigen, erstellen, aktualisieren

  • Firmen: Suchen, anzeigen, erstellen, aktualisieren

  • Verkaufschancen (Opportunities): Verwalten mit Pipeline-Stufen

  • Projekte: Verwalten mit Pipeline-Stufen

  • Pipelines: Verfügbare Pipelines und Stufen anzeigen

  • Übergreifende Suche: Über alle Entitäten hinweg suchen

Related MCP server: Apple EventKit MCP Server

Setup

1. Projekt klonen & bauen

git clone https://github.com/wimwoeber/daylite-claude-connector.git
cd daylite-claude-connector
npm install
npm run build

2. Zugangsdaten konfigurieren

CalDAV (für Tasks & Termine)

In Daylite: Einstellungen → Kalender und Kontakte Integration → + Neue App-Anmeldung

REST API (für Kontakte, Firmen, Opportunities, Projekte)

  1. Gehe zu https://developer.daylite.app/reference/personal-token

  2. Klicke auf "here" um dich zu autorisieren

  3. Speichere den refresh_token sicher ab

3. Claude Desktop konfigurieren

In ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "daylite": {
      "command": "node",
      "args": ["/Users/DEIN_USER/daylite-claude-connector/build/index.js"],
      "env": {
        "DAYLITE_USERNAME": "dein-caldav-username",
        "DAYLITE_PASSWORD": "dein-caldav-passwort",
        "DAYLITE_REFRESH_TOKEN": "dein-refresh-token"
      }
    }
  }
}

Hinweis: Du kannst CalDAV und REST API unabhängig voneinander nutzen. Wenn nur DAYLITE_REFRESH_TOKEN gesetzt ist, stehen nur die REST-Tools zur Verfügung. Wenn nur DAYLITE_USERNAME und DAYLITE_PASSWORD gesetzt sind, nur die CalDAV-Tools.

4. Claude Desktop neu starten

Nach dem Neustart solltest du in den Entwicklereinstellungen sehen, dass der Daylite-Server läuft.

Verfügbare Tools

CalDAV

Tool

Beschreibung

daylite_list_tasks

Aufgaben auflisten

daylite_get_task

Aufgabe abrufen

daylite_create_task

Aufgabe erstellen

daylite_update_task

Aufgabe aktualisieren

daylite_delete_task

Aufgabe löschen

daylite_list_appointments

Termine auflisten

daylite_get_appointment

Termin abrufen

daylite_create_appointment

Termin erstellen

daylite_update_appointment

Termin aktualisieren

daylite_delete_appointment

Termin löschen

daylite_list_calendars

Kalender auflisten

REST API

Tool

Beschreibung

daylite_list_contacts

Kontakte auflisten

daylite_get_contact

Kontakt abrufen

daylite_create_contact

Kontakt erstellen

daylite_update_contact

Kontakt aktualisieren

daylite_list_companies

Firmen auflisten

daylite_get_company

Firma abrufen

daylite_create_company

Firma erstellen

daylite_update_company

Firma aktualisieren

daylite_list_opportunities

Verkaufschancen auflisten

daylite_get_opportunity

Verkaufschance abrufen

daylite_create_opportunity

Verkaufschance erstellen

daylite_update_opportunity

Verkaufschance aktualisieren

daylite_list_projects

Projekte auflisten

daylite_get_project

Projekt abrufen

daylite_create_project

Projekt erstellen

daylite_update_project

Projekt aktualisieren

daylite_search

Übergreifende Suche

daylite_list_pipelines

Pipelines anzeigen

Token-Rotation

Der REST API Client handhabt Token-Rotation automatisch:

  • Access Tokens laufen nach 1 Stunde ab

  • Der Client refresht automatisch über den Refresh Token

  • Neue Refresh Tokens werden automatisch übernommen

Lizenz

MIT

Available Tools

11 tools
daylite_create_appointmentB

Erstelle einen neuen Termin in Daylite.

ParametersJSON Schema
NameRequiredDescriptionDefault
dtendYesEndzeit (ISO 8601, z.B. 2025-06-15T11:00:00)
all_dayNoGanztägiger Termin (true/false)
dtstartYesStartzeit (ISO 8601, z.B. 2025-06-15T10:00:00)
summaryYesTitel des Termins
calendarNoName des Kalenders (optional)
locationNoOrt des Termins
descriptionNoBeschreibung des Termins

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits, but it only states 'create a new appointment'. There is no mention of side effects, authorization needs, or data persistence. The effect is implied but not specified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, but it lacks structure and fails to front-load key details beyond the basic action. It is not well-organized for quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 7 parameters (3 required) and no output schema, the description is too minimal. It does not explain typical use cases, return value, or how the parameters interact, leaving the agent without sufficient context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all parameters, so the baseline is 3. The description adds no additional meaning for the parameters beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Erstelle' = create) and resource ('Termin' = appointment), distinguishing it from sibling tools like 'daylite_create_task' which handles tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as when to use 'daylite_create_task' or other appointment-related tools. No prerequisites or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

daylite_create_taskB

Erstelle einen neuen Task in Daylite.

ParametersJSON Schema
NameRequiredDescriptionDefault
dueNoFälligkeitsdatum (ISO 8601, z.B. 2025-12-31 oder 2025-12-31T17:00:00)
summaryYesTitel des Tasks
calendarNoName des Kalenders (optional)
priorityNoPriorität (1=höchste, 5=mittel, 9=niedrigste, 0=nicht definiert)
descriptionNoBeschreibung/Details des Tasks

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description should disclose behavioral traits. It only says 'create a new task' without explaining side effects, permissions, or success/failure behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence. While it is not verbose, it is appropriately short for a simple create tool, though it could include more context without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 5 parameters and no output schema, yet the description provides no context about return values, error handling, or workflow. It feels incomplete for effective agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema; it does not elaborate on parameters or their usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'create' and the resource 'Task in Daylite', making the purpose unambiguous. It distinguishes from sibling tools like update or delete tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., daylite_create_appointment) or when not to use it. The description offers no context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

daylite_delete_appointmentA

Lösche einen Termin aus Daylite.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesDie CalDAV-URL des Termins (aus daylite_list_appointments)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description lacks details on irreversible nature, required permissions, or side effects. Only states the basic deletion action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, front-loaded sentence with no wasted words. Efficient and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete tool with one parameter and no output schema, the description is adequate but could mention permanence or confirmation. Lacks completeness in behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds value by specifying the URL comes from 'daylite_list_appointments', providing context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description explicitly states the action 'Lösche einen Termin' (delete an appointment) and the resource 'Daylite', clearly distinguishing it from sibling tools like create, update, list, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites or conditions for deletion, and no mention of when it should be avoided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

daylite_delete_taskB

Lösche einen Task aus Daylite.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesDie CalDAV-URL des Tasks (aus daylite_list_tasks)

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states 'delete' but does not mention whether the action is reversible, if it affects related data (e.g., subtasks), or any required permissions. The description adds minimal value beyond the tool's name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, but it is too brief to convey necessary context. For a delete tool, a slightly more descriptive but still concise statement would be helpful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks important context for a simple delete operation. It does not explain that the url parameter is obtained from daylite_list_tasks, nor does it differentiate this tool from other siblings. With no output schema, more context is expected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for the single required parameter 'url'. The description does not add additional meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Lösche einen Task aus Daylite' explicitly states the action (delete), the resource (a task), and the system (Daylite). It clearly distinguishes from sibling tools like create, update, or list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the other task tools. It does not mention prerequisites (e.g., needing the task URL from daylite_list_tasks) or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

daylite_get_appointmentA

Rufe einen einzelnen Daylite-Termin per URL ab.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesDie CalDAV-URL des Termins (aus daylite_list_appointments)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only states 'retrieve', lacking details on side effects, permissions, error handling, or rate limits. The agent must infer behavior without explicit guidance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence, five words in German, efficiently conveys the tool's purpose with no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and lack of output schema, the description is adequate for core functionality but does not specify return format or additional details, leaving some ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter. The tool description adds the mechanism (via URL) but no additional semantic value beyond what the schema already provides (URL from daylite_list_appointments). Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Retrieve a single Daylite appointment via URL' uses a specific verb (retrieve) and resource (single appointment), clearly distinguishing it from sibling tools like daylite_list_appointments (list) and daylite_create_appointment (create).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have a specific URL, and the parameter description mentions the URL comes from daylite_list_appointments, but it does not explicitly state when to use or avoid this tool versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

daylite_get_taskA

Rufe einen einzelnen Daylite-Task per URL ab.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesDie CalDAV-URL des Tasks (aus daylite_list_tasks)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must supply behavioral context. It only states the action but does not disclose whether the tool is read-only, idempotent, or has side effects. For a retrieval operation, this is a gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, front-loaded with the verb and resource. Every word is necessary, and there is no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool, the description covers the basic purpose but lacks guidance on expected output, prerequisites (beyond having the URL), and behavioral guarantees. It is adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'url' has 100% schema description coverage, which explains its origin. The tool description adds no additional semantics beyond the schema, meriting a baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('rufe einen einzelnen ... ab' meaning retrieve) and the resource ('Daylite-Task'). It distinguishes this tool from siblings like daylite_list_tasks (which lists multiple tasks) and daylite_get_appointment (different resource type).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have a specific task URL from 'daylite_list_tasks', but it does not provide when to use versus alternatives (e.g., when to use get vs list) nor exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

daylite_list_appointmentsB

Liste Termine aus Daylite auf. Optional filterbar nach Zeitraum.

ParametersJSON Schema
NameRequiredDescriptionDefault
calendarNoName des Kalenders (optional)
start_afterNoNur Termine nach diesem Zeitpunkt (ISO 8601, z.B. 2025-01-01T00:00:00Z)
start_beforeNoNur Termine vor diesem Zeitpunkt (ISO 8601, z.B. 2025-12-31T23:59:59Z)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the behavioral transparency burden. While 'list' implies a read operation, the description lacks details on side effects, pagination, limits, or what happens without filters. It does not add sufficient behavioral context beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, concise and front-loaded. It is efficient, though it could include more detail without losing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, and the description does not explain the return format or structure. For a list operation, the agent would need to know what is returned (e.g., an array of appointments). The description is incomplete despite the simple nature of the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are already documented. The description adds that filtering is optional and by time period, but does not provide additional meaning beyond what is in the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists appointments from Daylite with optional time period filtering. It uses a specific verb+resource and is distinct from sibling tools like daylite_create_appointment or daylite_list_tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for listing appointments with optional filtering, but does not provide explicit guidance on when to use versus alternatives. There is no mention of prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

daylite_list_calendarsA

Liste alle verfügbaren Daylite-Kalender auf.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It only states the action without disclosing behavioral traits such as whether it returns accessible calendars only, sorting, or any side effects. Minimal behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no unnecessary words. Concise and front-loaded. However, it could be slightly more structured with output hints.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and no output schema, the description is adequate but lacks details about the return value structure or any limitations. For a simple list tool, it's minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is 100%. The description adds no parameter info because none are needed, meeting the baseline for zero-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all available Daylite calendars, using a specific verb ('Liste') and resource ('Kalender'), and it distinguishes itself from sibling tools that deal with appointments/tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives. Since there are no calendar-specific siblings, it's implied for listing calendars before creating appointments, but no direct advice is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

daylite_list_tasksB

Liste alle Tasks/Aufgaben aus Daylite auf.

ParametersJSON Schema
NameRequiredDescriptionDefault
calendarNoName des Kalenders (optional, nutzt Standard-Kalender wenn leer)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must fully disclose behavioral traits. It only mentions listing all tasks and the optional calendar parameter, but does not clarify scope (e.g., per user or all), output format, pagination, or potential side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, concise and front-loaded. However, it could include more context without significant length increase.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description is insufficient. It does not explain return data, filtering behavior, or prerequisites, leaving gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add meaning beyond the schema's parameter description; the note about default calendar is already present in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List all tasks from Daylite' uses a specific verb ('list') and clearly identifies the resource ('tasks'), distinguishing it from siblings like create, delete, update, and list appointments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as daylite_list_appointments or daylite_list_calendars; no exclusion criteria or context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

daylite_update_appointmentC

Aktualisiere einen bestehenden Daylite-Termin.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesDie CalDAV-URL des Termins (aus daylite_list_appointments)
dtendNoNeue Endzeit (ISO 8601)
dtstartNoNeue Startzeit (ISO 8601)
summaryNoNeuer Titel
locationNoNeuer Ort
descriptionNoNeue Beschreibung

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full burden for behavioral transparency. It only states 'update existing' without disclosing whether it performs partial or full updates, required permissions, side effects, or return behavior. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no redundant information. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of annotations and output schema, the description is too brief to provide complete context. It lacks details on idempotency, partial updates, expected input format (e.g., ISO 8601 hinted in schema but not in description), and return value. For a tool with 6 parameters and no structured output, this is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already describes all parameters adequately. The description adds no additional semantic value beyond the schema, achieving the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: updating an existing Daylite appointment. The verb 'Aktualisiere' and resource 'bestehenden Daylite-Termin' are specific. While it distinguishes from create, delete, and list tools, it does not explicitly differentiate from update_task, but the resource types are different.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidelines are provided. The description does not mention when to use this tool versus alternatives (e.g., daylite_create_appointment for new appointments) or any prerequisites (e.g., obtaining the URL from daylite_list_appointments).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

daylite_update_taskB

Aktualisiere einen bestehenden Daylite-Task.

ParametersJSON Schema
NameRequiredDescriptionDefault
dueNoNeues Fälligkeitsdatum (ISO 8601)
urlYesDie CalDAV-URL des Tasks (aus daylite_list_tasks)
statusNoNeuer Status
summaryNoNeuer Titel
priorityNoNeue Priorität (1=höchste, 5=mittel, 9=niedrigste)
completedNoTask als erledigt markieren (true)
descriptionNoNeue Beschreibung

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations and a minimal description, the tool's behavior beyond 'update' is not disclosed. It does not mention error handling, partial update semantics, or whether it returns the updated task.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence, front-loaded with the key action, and contains no unnecessary words. It efficiently conveys the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, no output schema, and no annotations, the description is too sparse. It lacks details on update behavior, partial updates, and dependencies between parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter descriptions already present. The tool description adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Aktualisiere einen bestehenden Daylite-Task' clearly states the action (update) and the resource (existing Daylite task), distinguishing it from sibling tools that create, delete, get, or list tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as daylite_create_task or daylite_update_appointment. There are no prerequisites or context for using the tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updatesv1.0.0
    • First observeddaylite_create_appointment
    • First observeddaylite_create_task
    • First observeddaylite_delete_appointment
    • First observeddaylite_delete_task
    • First observeddaylite_get_appointment
    • First observeddaylite_get_task
    • First observeddaylite_list_appointments
    • First observeddaylite_list_calendars
    • First observeddaylite_list_tasks
    • First observeddaylite_update_appointment
    • First observeddaylite_update_task

TDQS

A3.7/5.0

Scored across 11 tools

Disambiguation5/5

All tools are clearly divided between appointments and tasks, with no overlapping purposes. Each tool's description specifies exactly which resource and action it performs.

Naming Consistency5/5

All tools follow the pattern 'daylite_<verb>_<resource>' with consistent verb choices (create, delete, get, list, update) and resource names (appointment, task, calendars).

Tool Count5/5

11 tools cover the core CRUD operations for two main resource types (appointments and tasks) plus listing calendars. This is appropriate for a focused connector without being excessive.

Completeness5/5

For appointments and tasks, the full lifecycle (create, read, update, delete, list) is provided. The inclusion of list_calendars supports appointment creation. No obvious gaps within the stated domain.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides Claude with full access to Apple Calendar on macOS for event management, smart scheduling, and schedule analytics. It enables natural language event creation, conflict detection, and template-based scheduling through AppleScript integration.
    13 npm
    1
    MIT
  • F
    license
    Not graded
    quality
    F
    maintenance
    Provides Claude Desktop with access to Apple Calendar and Reminders on macOS for managing schedules and tasks through natural language. It supports comprehensive operations like creating, editing, and searching events and reminders, along with a custom hashtag-based tagging system.
    3
    -