Schedule it MCP by usefulapi

Read Schedule it events, resources, groups and labels; create and update events and resources.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
97%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~4,874Tokens (definiciones de herramientas)
~2.6 KBTamaño de respuesta típico
Impacto significativo en la atención (3.81% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "schedule-it": {
      "url": "https://schedule-it.usefulapi.io/mcp"
    }
  }
}

Puntos de conexión remotos

https://schedule-it.usefulapi.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (15)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢scheduleit_list_events(fields, date_from, date_to, title, resource_ids, ...)

List scheduled events and tasks (bookings, shifts, jobs). Without date_from/date_to Schedule It uses its default date range. Schedule It returns only a short summary of each event unless you name the fields you want: pass `fields` such as id,title,date_start,date_end,owner,notes,completed,priority,custom1 (get_event returns ALL fields of one event). `owner` holds the ids of the resources (people, rooms, equipment) the event is linked to. There is no paging: the reply holds up to `limit` events (default 100), so narrow with the filters instead. Do not call this repeatedly to watch for changes (use modified_after to fetch only what changed). GET /api/events.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "fields": {
      "description": "Comma-separated fields to return, e.g. id,title,date_start,date_end,owner.",
      "type": "string",
      "maxLength": 500,
      "pattern": "^[A-Za-z0-9_]+(,[A-Za-z0-9_]+)*$"
    },
    "date_from": {
      "description": "Events from this date (date_range_from).",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "date_to": {
      "description": "Events up to this date (date_range_to).",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "title": {
      "description": "Events whose title contains this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 250
    },
    "resource_ids": {
      "description": "Only events linked to these resources (see resource_match).",
      "minItems": 1,
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "resource_match": {
      "description": "With resource_ids: any = linked to at least one (default), all = linked to every one, none = linked to none of them.",
      "type": "string",
      "enum": [
        "any",
        "all",
        "none"
      ]
    },
    "event_ids": {
      "description": "Only these event ids.",
      "minItems": 1,
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "tasks_only": {
      "description": "true = only tasks, false = only events that are not tasks.",
      "type": "boolean"
    },
    "no_date_only": {
      "description": "true = only events with no date, false = only dated ones.",
      "type": "boolean"
    },
    "modified_after": {
      "description": "Only events added or changed after this date (yyyy-mm-dd) or date and time (yyyy-mm-dd hh:mm).",
      "type": "string"
    },
    "workspace_id": {
      "description": "Workspace id (Account Settings > Workspaces). Omit for the main workspace (id 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Most events to return, 1-1000 (default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢scheduleit_get_event(event_id)

One event or task by id with ALL its fields (title, dates, linked resources, notes, completion, priority, custom fields). GET /api/events/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "event_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Schedule It event id."
    }
  },
  "required": [
    "event_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡scheduleit_create_event(title, resource_ids, date_start, date_end, notes, ...)

WRITE: create a new event (booking, shift, job or task) in the Schedule It account, optionally linked to resources. It becomes visible to everyone with access to the schedule, and Schedule It may notify the linked resources according to the account's own notification settings. Confirm the title, dates and resources with the user first. POST /api/events.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 250,
      "description": "Event title."
    },
    "resource_ids": {
      "description": "Resources (people, rooms, equipment) the event is linked to (the `owner` field). On update this REPLACES the whole list.",
      "minItems": 1,
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "date_start": {
      "description": "Start, yyyy-mm-dd hh:mm[:ss].",
      "type": "string"
    },
    "date_end": {
      "description": "End, yyyy-mm-dd hh:mm[:ss].",
      "type": "string"
    },
    "notes": {
      "description": "Notes. On update an empty string clears them.",
      "type": "string",
      "maxLength": 20000
    },
    "custom_fields": {
      "description": "Custom field values keyed custom1..custom9 (the account's custom field labels are set in Schedule It). An empty string clears a field.",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "enum": [
          "custom1",
          "custom2",
          "custom3",
          "custom4",
          "custom5",
          "custom6",
          "custom7",
          "custom8",
          "custom9"
        ]
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 2000
      }
    },
    "completed": {
      "description": "Percent completed, 0-100.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "priority": {
      "description": "Priority number (Schedule It's priority scale).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "color_back": {
      "description": "Background colour, e.g. #FFFFFF.",
      "type": "string",
      "pattern": "^#[0-9A-Fa-f]{6}$"
    },
    "color_text": {
      "description": "Text colour, e.g. #66FF66.",
      "type": "string",
      "pattern": "^#[0-9A-Fa-f]{6}$"
    }
  },
  "required": [
    "title"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴scheduleit_update_event(event_id, title, resource_ids, date_start, date_end, ...)

WRITE: change fields of an existing event; only the fields you pass are changed, the rest stay as they are. Passing resource_ids replaces the whole list of linked resources; an empty string clears notes or a custom field. Changing dates or resources may notify people per the account's notification settings. POST /api/events/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "event_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Schedule It event id."
    },
    "title": {
      "description": "Event title.",
      "type": "string",
      "minLength": 1,
      "maxLength": 250
    },
    "resource_ids": {
      "description": "Resources (people, rooms, equipment) the event is linked to (the `owner` field). On update this REPLACES the whole list.",
      "minItems": 1,
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "date_start": {
      "description": "Start, yyyy-mm-dd hh:mm[:ss].",
      "type": "string"
    },
    "date_end": {
      "description": "End, yyyy-mm-dd hh:mm[:ss].",
      "type": "string"
    },
    "notes": {
      "description": "Notes. On update an empty string clears them.",
      "type": "string",
      "maxLength": 20000
    },
    "custom_fields": {
      "description": "Custom field values keyed custom1..custom9 (the account's custom field labels are set in Schedule It). An empty string clears a field.",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "enum": [
          "custom1",
          "custom2",
          "custom3",
          "custom4",
          "custom5",
          "custom6",
          "custom7",
          "custom8",
          "custom9"
        ]
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 2000
      }
    },
    "completed": {
      "description": "Percent completed, 0-100.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "priority": {
      "description": "Priority number (Schedule It's priority scale).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "color_back": {
      "description": "Background colour, e.g. #FFFFFF.",
      "type": "string",
      "pattern": "^#[0-9A-Fa-f]{6}$"
    },
    "color_text": {
      "description": "Text colour, e.g. #66FF66.",
      "type": "string",
      "pattern": "^#[0-9A-Fa-f]{6}$"
    }
  },
  "required": [
    "event_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴scheduleit_delete_event(event_id, confirm)

WRITE, DESTRUCTIVE: permanently delete one event or task. It cannot be undone through the API. Only call this when the user clearly asked for this event to be deleted. DELETE /api/events/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "event_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Schedule It event id to delete."
    },
    "confirm": {
      "type": "boolean",
      "const": true,
      "description": "Must be true: the user confirmed this event should be permanently deleted."
    }
  },
  "required": [
    "event_id",
    "confirm"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢scheduleit_list_resources(fields, name, group_ids, resource_ids, modified_after, ...)

List resources: the people, rooms, equipment or vehicles that events are scheduled against. Schedule It returns only a short summary unless you pass `fields` (for example id,name,email,data1; get_resource returns ALL fields of one). Resources belong to groups (`owner` = group ids). There is no paging; the reply holds up to `limit` resources (default 100). GET /api/resources.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "fields": {
      "description": "Comma-separated fields to return, e.g. id,name,email.",
      "type": "string",
      "maxLength": 500,
      "pattern": "^[A-Za-z0-9_]+(,[A-Za-z0-9_]+)*$"
    },
    "name": {
      "description": "Resources whose name contains this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 250
    },
    "group_ids": {
      "description": "Only resources in these groups.",
      "minItems": 1,
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "resource_ids": {
      "description": "Only these resource ids.",
      "minItems": 1,
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "modified_after": {
      "description": "Only resources added or changed after this date (yyyy-mm-dd) or date and time (yyyy-mm-dd hh:mm).",
      "type": "string"
    },
    "workspace_id": {
      "description": "Workspace id (Account Settings > Workspaces). Omit for the main workspace (id 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Most resources to return, 1-1000 (default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢scheduleit_get_resource(resource_id)

One resource by id with ALL its fields (name, email, groups, details 1-10, colours, skills). GET /api/resources/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "resource_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Schedule It resource id."
    }
  },
  "required": [
    "resource_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡scheduleit_create_resource(name, group_ids, email, details, color_back, ...)

WRITE: add a new resource (a person, room, piece of equipment) to the Schedule It account. It may count toward the account's licensed resources or users. Confirm the details with the user first. POST /api/resources.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 250,
      "description": "Resource name."
    },
    "group_ids": {
      "description": "Groups the resource belongs to (the `owner` field). On update this REPLACES the whole list.",
      "minItems": 1,
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "email": {
      "description": "Email address of the resource (an empty string clears it on update).",
      "type": "string",
      "maxLength": 250
    },
    "details": {
      "description": "Detail values keyed data1..data10 (for example data1 = job title; the labels are set in Schedule It). An empty string clears a field.",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "enum": [
          "data1",
          "data2",
          "data3",
          "data4",
          "data5",
          "data6",
          "data7",
          "data8",
          "data9",
          "data10"
        ]
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 2000
      }
    },
    "color_back": {
      "description": "Resource background colour, e.g. #A9F5A9.",
      "type": "string",
      "pattern": "^#[0-9A-Fa-f]{6}$"
    },
    "color_text": {
      "description": "Resource text colour.",
      "type": "string",
      "pattern": "^#[0-9A-Fa-f]{6}$"
    },
    "color_event_back": {
      "description": "Background colour of this resource's events.",
      "type": "string",
      "pattern": "^#[0-9A-Fa-f]{6}$"
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴scheduleit_update_resource(resource_id, name, group_ids, email, details, ...)

WRITE: change fields of an existing resource; only the fields you pass are changed. Passing group_ids replaces the whole list of groups; an empty string clears email or a detail field. POST /api/resources/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "resource_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Schedule It resource id."
    },
    "name": {
      "description": "Resource name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 250
    },
    "group_ids": {
      "description": "Groups the resource belongs to (the `owner` field). On update this REPLACES the whole list.",
      "minItems": 1,
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "email": {
      "description": "Email address of the resource (an empty string clears it on update).",
      "type": "string",
      "maxLength": 250
    },
    "details": {
      "description": "Detail values keyed data1..data10 (for example data1 = job title; the labels are set in Schedule It). An empty string clears a field.",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "enum": [
          "data1",
          "data2",
          "data3",
          "data4",
          "data5",
          "data6",
          "data7",
          "data8",
          "data9",
          "data10"
        ]
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 2000
      }
    },
    "color_back": {
      "description": "Resource background colour, e.g. #A9F5A9.",
      "type": "string",
      "pattern": "^#[0-9A-Fa-f]{6}$"
    },
    "color_text": {
      "description": "Resource text colour.",
      "type": "string",
      "pattern": "^#[0-9A-Fa-f]{6}$"
    },
    "color_event_back": {
      "description": "Background colour of this resource's events.",
      "type": "string",
      "pattern": "^#[0-9A-Fa-f]{6}$"
    }
  },
  "required": [
    "resource_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢scheduleit_list_groups(fields, name, group_ids, workspace_id, limit)

List resource groups (the categories resources are organised in, e.g. Staff, Rooms, Vehicles). Pass `fields` (e.g. id,name) for more than the short summary. GET /api/groups.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "fields": {
      "description": "Comma-separated fields to return, e.g. id,name.",
      "type": "string",
      "maxLength": 500,
      "pattern": "^[A-Za-z0-9_]+(,[A-Za-z0-9_]+)*$"
    },
    "name": {
      "description": "Groups whose name contains this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 250
    },
    "group_ids": {
      "description": "Only these group ids.",
      "minItems": 1,
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "workspace_id": {
      "description": "Workspace id (Account Settings > Workspaces). Omit for the main workspace (id 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Most groups to return, 1-1000 (default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢scheduleit_get_group(group_id)

One resource group by id with ALL its fields. GET /api/groups/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "group_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Schedule It group id."
    }
  },
  "required": [
    "group_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡scheduleit_create_group(name, color_back, position, min_resources, max_resources, ...)

WRITE: add a new resource group to the Schedule It account. POST /api/groups.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 250,
      "description": "Group name."
    },
    "color_back": {
      "description": "Group colour, e.g. #66FF66.",
      "type": "string",
      "pattern": "^#[0-9A-Fa-f]{6}$"
    },
    "position": {
      "description": "Position of the group in the schedule (positionv).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "min_resources": {
      "description": "Fewest resources an event needs from this group (0 = no minimum).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "max_resources": {
      "description": "Most resources an event can use from this group (0 = no limit).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "hide_from_main": {
      "description": "Hide the group from the main schedule view.",
      "type": "boolean"
    },
    "hide_from_event": {
      "description": "Hide the group from the event form.",
      "type": "boolean"
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴scheduleit_update_group(group_id, name, color_back, position, min_resources, ...)

WRITE: change fields of an existing resource group; only the fields you pass are changed. POST /api/groups/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "group_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Schedule It group id."
    },
    "name": {
      "description": "Group name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 250
    },
    "color_back": {
      "description": "Group colour, e.g. #66FF66.",
      "type": "string",
      "pattern": "^#[0-9A-Fa-f]{6}$"
    },
    "position": {
      "description": "Position of the group in the schedule (positionv).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "min_resources": {
      "description": "Fewest resources an event needs from this group (0 = no minimum).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "max_resources": {
      "description": "Most resources an event can use from this group (0 = no limit).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "hide_from_main": {
      "description": "Hide the group from the main schedule view.",
      "type": "boolean"
    },
    "hide_from_event": {
      "description": "Hide the group from the event form.",
      "type": "boolean"
    }
  },
  "required": [
    "group_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢scheduleit_list_labels(fields, limit)

List the labels that can be put on events (for example Confirmed, Urgent). Pass `fields` (e.g. id,name) for more than the short summary. GET /api/labels.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "fields": {
      "description": "Comma-separated fields to return, e.g. id,name.",
      "type": "string",
      "maxLength": 500,
      "pattern": "^[A-Za-z0-9_]+(,[A-Za-z0-9_]+)*$"
    },
    "limit": {
      "description": "Most labels to return, 1-1000 (default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢scheduleit_list_label_groups(fields, limit)

List label groups (the categories that labels are organised in). Pass `fields` (e.g. id,name) for more than the short summary. GET /api/labelgroups.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "fields": {
      "description": "Comma-separated fields to return, e.g. id,name.",
      "type": "string",
      "maxLength": 500,
      "pattern": "^[A-Za-z0-9_]+(,[A-Za-z0-9_]+)*$"
    },
    "limit": {
      "description": "Most label groups to return, 1-1000 (default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada15 herramientas