Craftboxx MCP by usefulapi

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

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
90%
命名の品質
80%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,664トークン数(ツール定義)
~1.3 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.08%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `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 件