Craftboxx MCP by usefulapi

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

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
90%
命名品質
80%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~2,664Token(工具定義)
~1.3 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.08%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "craftboxx": {
      "url": "https://craftboxx.usefulapi.io/mcp"
    }
  }
}

遠端端點

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

它能做什麼

工具清單

工具(16)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢craftboxx_get_company

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

輸入結構描述

{
  "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.

輸入結構描述

{
  "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}.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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}.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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}.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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}.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本16 個工具