Artesa MCP by usefulapi

Read customers, assignments, staff, time entries and absences; create customers in Artesa.

使うべきか

品質と安全性

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

検出事項(1)

  • LOWTool 'artesa_list_assignment_status_types' name length outside 3-30 rangeartesa_list_assignment_status_types 内

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

コンテキストコスト

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

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

インストール

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

これを `claude_desktop_config.json` ファイルに追加してください:

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

リモートエンドポイント

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

できること

ツール一覧

ツール(18)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢artesa_list_customers(company_name, number, external_id, page, size)

List customers (private persons or companies that assignments are carried out for). Filter by company name, number or external id. Artesa API: GET /v2/customers.

入力スキーマ

{
  "type": "object",
  "properties": {
    "company_name": {
      "description": "Filter by company name.",
      "type": "string"
    },
    "number": {
      "description": "Filter by customer number.",
      "type": "string"
    },
    "external_id": {
      "description": "Filter by the external id from your other system.",
      "type": "string"
    },
    "page": {
      "description": "Zero-based page index (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 20 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢artesa_get_customer(customer_uuid)

Get one customer with its phones, emails, URLs and billing address. Artesa API: GET /v2/customers/{customerUuid}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "customer_uuid": {
      "type": "string",
      "minLength": 1,
      "description": "The customer uuid (from the matching list tool)."
    }
  },
  "required": [
    "customer_uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴artesa_create_customer(company_name, first_name, surname, external_id, emails, ...)

Create a new customer record (company or private person). Not safe to retry: a retry creates a second customer. Artesa API: POST /v2/customers.

入力スキーマ

{
  "type": "object",
  "properties": {
    "company_name": {
      "description": "Company name (leave empty for a private person).",
      "type": "string"
    },
    "first_name": {
      "description": "First name.",
      "type": "string"
    },
    "surname": {
      "description": "Surname.",
      "type": "string"
    },
    "external_id": {
      "description": "Id from your other system.",
      "type": "string"
    },
    "emails": {
      "description": "Email addresses.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": "e.g. main"
          },
          "emailAddress": {
            "type": "string",
            "description": "Email address."
          }
        },
        "required": [
          "label",
          "emailAddress"
        ]
      }
    },
    "telephones": {
      "description": "Phone numbers.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": "e.g. mobile"
          },
          "telephoneNumber": {
            "type": "string",
            "description": "Phone number."
          }
        },
        "required": [
          "label",
          "telephoneNumber"
        ]
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢artesa_list_assignments(customer_uuid, project_uuid, type_uuid, responsible_user_uuid, status_uuid, ...)

List assignments (orders/jobs) with their customer, project, type, responsible user and status. Artesa API: GET /v2/assignments.

入力スキーマ

{
  "type": "object",
  "properties": {
    "customer_uuid": {
      "description": "Only assignments of this customer uuid.",
      "type": "string"
    },
    "project_uuid": {
      "description": "Only assignments in this project uuid.",
      "type": "string"
    },
    "type_uuid": {
      "description": "Only assignments of this assignment type uuid.",
      "type": "string"
    },
    "responsible_user_uuid": {
      "description": "Only assignments for this responsible user uuid.",
      "type": "string"
    },
    "status_uuid": {
      "description": "Only assignments with this status uuid.",
      "type": "string"
    },
    "name": {
      "description": "Filter by assignment name.",
      "type": "string"
    },
    "number": {
      "description": "Filter by assignment number.",
      "type": "string"
    },
    "external_id": {
      "description": "Filter by external id.",
      "type": "string"
    },
    "page": {
      "description": "Zero-based page index (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 20 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢artesa_get_assignment(assignment_uuid)

Get one assignment with its details. Artesa API: GET /v2/assignments/{assignmentUuid}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "assignment_uuid": {
      "type": "string",
      "minLength": 1,
      "description": "The assignment uuid (from the matching list tool)."
    }
  },
  "required": [
    "assignment_uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢artesa_list_assignment_events(assignment_uuid, type_uuid, group_uuid, name, starts_from, ...)

List work steps (appointments and events) of assignments, optionally in a time window. Artesa API: GET /v2/assignment-events.

入力スキーマ

{
  "type": "object",
  "properties": {
    "assignment_uuid": {
      "description": "Only events of this assignment uuid.",
      "type": "string"
    },
    "type_uuid": {
      "description": "Only events of this assignment event type uuid.",
      "type": "string"
    },
    "group_uuid": {
      "description": "Only events in this assignment event group uuid.",
      "type": "string"
    },
    "name": {
      "description": "Filter by event name.",
      "type": "string"
    },
    "starts_from": {
      "description": "Events starting at or after this time, ISO 8601 (e.g. 2026-03-01T00:00:00Z).",
      "type": "string",
      "minLength": 1
    },
    "starts_to": {
      "description": "Events starting at or before this time, ISO 8601 (e.g. 2026-03-01T00:00:00Z).",
      "type": "string",
      "minLength": 1
    },
    "page": {
      "description": "Zero-based page index (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 20 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢artesa_get_assignment_event(assignment_event_uuid)

Get one assignment event (work step). Artesa API: GET /v2/assignment-events/{assignmentEventUuid}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "assignment_event_uuid": {
      "type": "string",
      "minLength": 1,
      "description": "The assignment event uuid (from the matching list tool)."
    }
  },
  "required": [
    "assignment_event_uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢artesa_list_projects(number, external_id, page, size)

List projects that group assignments. Artesa API: GET /v2/projects.

入力スキーマ

{
  "type": "object",
  "properties": {
    "number": {
      "description": "Filter by project number.",
      "type": "string"
    },
    "external_id": {
      "description": "Filter by external id.",
      "type": "string"
    },
    "page": {
      "description": "Zero-based page index (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 20 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢artesa_get_project(project_uuid)

Get one project. Artesa API: GET /v2/projects/{projectUuid}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "project_uuid": {
      "type": "string",
      "minLength": 1,
      "description": "The project uuid (from the matching list tool)."
    }
  },
  "required": [
    "project_uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢artesa_list_users(role_uuid, full_name, email, short_name, staff_number, ...)

List users (staff members) with their role. Filter by name, email or role. Artesa API: GET /v2/users.

入力スキーマ

{
  "type": "object",
  "properties": {
    "role_uuid": {
      "description": "Only users with this role uuid.",
      "type": "string"
    },
    "full_name": {
      "description": "Filter by full name.",
      "type": "string"
    },
    "email": {
      "description": "Filter by email address.",
      "type": "string"
    },
    "short_name": {
      "description": "Filter by short name.",
      "type": "string"
    },
    "staff_number": {
      "description": "Filter by staff number.",
      "type": "string"
    },
    "external_id": {
      "description": "Filter by external id.",
      "type": "string"
    },
    "page": {
      "description": "Zero-based page index (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 20 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢artesa_get_user(user_uuid)

Get one user (staff member). Artesa API: GET /v2/users/{userUuid}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "user_uuid": {
      "type": "string",
      "minLength": 1,
      "description": "The user uuid (from the matching list tool)."
    }
  },
  "required": [
    "user_uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢artesa_list_time_entries(user_uuid, assignment_uuid, event_uuid, type_uuid, day_status, ...)

List recorded time entries (work time) per user, assignment or event, optionally in a time window. Artesa API: GET /v2/time-entries.

入力スキーマ

{
  "type": "object",
  "properties": {
    "user_uuid": {
      "description": "Only entries of this user uuid.",
      "type": "string"
    },
    "assignment_uuid": {
      "description": "Only entries on this assignment uuid.",
      "type": "string"
    },
    "event_uuid": {
      "description": "Only entries on this assignment event uuid.",
      "type": "string"
    },
    "type_uuid": {
      "description": "Only entries of this time entry type uuid.",
      "type": "string"
    },
    "day_status": {
      "description": "Filter by the day status of the time sheet.",
      "type": "string"
    },
    "starts_from": {
      "description": "Entries starting at or after this time, ISO 8601 (e.g. 2026-03-01T00:00:00Z).",
      "type": "string",
      "minLength": 1
    },
    "starts_to": {
      "description": "Entries starting at or before this time, ISO 8601 (e.g. 2026-03-01T00:00:00Z).",
      "type": "string",
      "minLength": 1
    },
    "external_id": {
      "description": "Filter by external id.",
      "type": "string"
    },
    "page": {
      "description": "Zero-based page index (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 20 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢artesa_list_user_absences(user_uuid, type_uuid, status, starts_from, starts_to, ...)

List absences (holidays, sick days and similar) of users in a time window. Artesa API: GET /v2/user-absences.

入力スキーマ

{
  "type": "object",
  "properties": {
    "user_uuid": {
      "description": "Only absences of this user uuid.",
      "type": "string"
    },
    "type_uuid": {
      "description": "Only absences of this user absence type uuid.",
      "type": "string"
    },
    "status": {
      "description": "Filter by absence status.",
      "type": "string"
    },
    "starts_from": {
      "description": "Absences starting at or after this time, ISO 8601 (e.g. 2026-03-01T00:00:00Z).",
      "type": "string",
      "minLength": 1
    },
    "starts_to": {
      "description": "Absences starting at or before this time, ISO 8601 (e.g. 2026-03-01T00:00:00Z).",
      "type": "string",
      "minLength": 1
    },
    "page": {
      "description": "Zero-based page index (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 20 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢artesa_list_time_sheet_weeks(user_uuid, week_start, status, page, size)

List weekly time sheets per user, with their status. Artesa API: GET /v2/time-sheet-weeks.

入力スキーマ

{
  "type": "object",
  "properties": {
    "user_uuid": {
      "description": "Only time sheets of this user uuid.",
      "type": "string"
    },
    "week_start": {
      "description": "Week start date (yyyy-mm-dd).",
      "type": "string"
    },
    "status": {
      "description": "Filter by time sheet status.",
      "type": "string"
    },
    "page": {
      "description": "Zero-based page index (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 20 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢artesa_list_assignment_status_types(name, category, page, size)

List the assignment status types (Auftragsstatus) your company uses. Artesa API: GET /v2/assignment-status-types.

入力スキーマ

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Filter by status name.",
      "type": "string"
    },
    "category": {
      "description": "Filter by status category.",
      "type": "string"
    },
    "page": {
      "description": "Zero-based page index (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 20 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢artesa_list_assignment_types(page, size)

List the assignment types (Auftragstypen) your company uses. Artesa API: GET /v2/assignment-types.

入力スキーマ

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Zero-based page index (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 20 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢artesa_list_gangs(name, external_id, page, size)

List gangs (work crews or teams) of your company. Artesa API: GET /v2/gangs.

入力スキーマ

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Filter by gang name.",
      "type": "string"
    },
    "external_id": {
      "description": "Filter by external id.",
      "type": "string"
    },
    "page": {
      "description": "Zero-based page index (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 20 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢artesa_list_roles(page, size)

List the user roles (Benutzerrollen) of your company. Artesa API: GET /v2/roles.

入力スキーマ

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Zero-based page index (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Items per page, 1 to 20 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 18 件