Craftboxx MCP by usefulapi

Read employees, assignments, timesheets and absences; create customers and projects in Craftboxx.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
90%
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

~2,664Tokens (definiciones de herramientas)
~1.3 KBTamaño de respuesta típico
Impacto significativo en la atención (2.08% 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": {
    "craftboxx": {
      "url": "https://craftboxx.usefulapi.io/mcp"
    }
  }
}

Puntos de conexión remotos

https://craftboxx.usefulapi.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (16)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢craftboxx_get_company

Get the company of the signed-in account (name, address, contact data). Craftboxx API: GET /my/company.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢craftboxx_list_employees(q, email, last_name, group_id, page, ...)

List employees (name, email, phone, group, skills, inactive flag). Craftboxx API: GET /employees.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Free-text search across the relevant fields.",
      "type": "string"
    },
    "email": {
      "description": "Filter by exact email.",
      "type": "string"
    },
    "last_name": {
      "description": "Filter by exact last name.",
      "type": "string"
    },
    "group_id": {
      "description": "Only employees of this group.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢craftboxx_get_employee(employee_id)

Get one employee by id. Craftboxx API: GET /employees/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "employee_id": {
      "description": "The employee id.",
      "type": [
        "string",
        "number"
      ]
    }
  },
  "required": [
    "employee_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢craftboxx_list_customers(q, name, customer_number, page, per_page)

List customers (name, customer number, info). Craftboxx API: GET /customers.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Free-text search across the relevant fields.",
      "type": "string"
    },
    "name": {
      "description": "Filter by exact name.",
      "type": "string"
    },
    "customer_number": {
      "description": "Filter by customer number.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢craftboxx_get_customer(customer_id)

Get one customer by id. Craftboxx API: GET /customers/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "customer_id": {
      "description": "The customer id.",
      "type": [
        "string",
        "number"
      ]
    }
  },
  "required": [
    "customer_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢craftboxx_list_projects(q, customer_id, title, project_nr, show_archived, ...)

List projects (title, project number, customer, sales volume). Craftboxx API: GET /projects.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Free-text search across the relevant fields.",
      "type": "string"
    },
    "customer_id": {
      "description": "Only projects of this customer.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "title": {
      "description": "Filter by exact title.",
      "type": "string"
    },
    "project_nr": {
      "description": "Filter by project number.",
      "type": "string"
    },
    "show_archived": {
      "description": "true = include archived items (hidden by default).",
      "type": "boolean"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢craftboxx_get_project(project_id)

Get one project by id. Craftboxx API: GET /projects/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "project_id": {
      "description": "The project id.",
      "type": [
        "string",
        "number"
      ]
    }
  },
  "required": [
    "project_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢craftboxx_list_assignments(q, start, end, employees, show_archived, ...)

List assignments (planned jobs/appointments: title, project, start, end, state, planned time). Filter by date range or employee. Craftboxx API: GET /assignments.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Free-text search across the relevant fields.",
      "type": "string"
    },
    "start": {
      "description": "Filter by start date-time (ISO 8601, e.g. 2026-11-01T00:00:00+01:00).",
      "type": "string"
    },
    "end": {
      "description": "Filter by end date-time (ISO 8601).",
      "type": "string"
    },
    "employees": {
      "description": "Only assignments of these employee ids.",
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      }
    },
    "show_archived": {
      "description": "true = include archived items (hidden by default).",
      "type": "boolean"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢craftboxx_get_assignment(assignment_id)

Get one assignment by id. Craftboxx API: GET /assignments/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "assignment_id": {
      "description": "The assignment id.",
      "type": [
        "string",
        "number"
      ]
    }
  },
  "required": [
    "assignment_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢craftboxx_list_timesheets(employee_id, start, end, page, per_page)

List timesheets (employee, start, end, working time, break time). Craftboxx API: GET /timesheets.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "employee_id": {
      "description": "Only timesheets of this employee.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "start": {
      "description": "Filter by start date-time (ISO 8601).",
      "type": "string"
    },
    "end": {
      "description": "Filter by end date-time (ISO 8601).",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢craftboxx_list_absences(employees, type_id, start, end, page, ...)

List absences such as holiday or sick leave (employee, type, start, end). Craftboxx API: GET /absences.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "employees": {
      "description": "Only absences of these employee ids.",
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      }
    },
    "type_id": {
      "description": "Only this absence type id (see craftboxx_list_absence_types).",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "start": {
      "description": "Filter by start date-time (ISO 8601).",
      "type": "string"
    },
    "end": {
      "description": "Filter by end date-time (ISO 8601).",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢craftboxx_list_absence_types(page, per_page)

List absence reasons (holiday, sick, ...). Craftboxx API: GET /absences/types.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢craftboxx_list_articles(q, manufacturer, page, per_page)

List articles in the material catalog (name, manufacturer, unit price, VAT rate). Craftboxx API: GET /articles.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Free-text search across the relevant fields.",
      "type": "string"
    },
    "manufacturer": {
      "description": "Filter by exact manufacturer.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢craftboxx_list_documentations(q, assignment_id, author_id, page, per_page)

List job documentations (reports written on assignments: title, state, type, author). Craftboxx API: GET /documentations.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Free-text search across the relevant fields.",
      "type": "string"
    },
    "assignment_id": {
      "description": "Only documentations of this assignment.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "author_id": {
      "description": "Only documentations written by this employee.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴craftboxx_create_customer(name, name_addon, customer_number, info)

WRITE: create a new customer. Each call creates a new record (not idempotent). Craftboxx API: POST /customers.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Customer name (required)."
    },
    "name_addon": {
      "description": "Name addition, such as a second line.",
      "type": "string"
    },
    "customer_number": {
      "description": "Your own customer number.",
      "type": "string"
    },
    "info": {
      "description": "Free-text note.",
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴craftboxx_create_project(title, customer_id, project_nr)

WRITE: create a new project for an existing customer. Each call creates a new record (not idempotent). Craftboxx API: POST /projects.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "description": "Project title (required)."
    },
    "customer_id": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Id of the customer (required, see craftboxx_list_customers)."
    },
    "project_nr": {
      "description": "Your own project number.",
      "type": "string"
    }
  },
  "required": [
    "title",
    "customer_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada16 herramientas