SmartHR MCP by usefulapi

MCP server for SmartHR — employees, departments, dependents and employee invitations.

사용해야 할까요

품질 및 안전성

A
설명 품질
96%
스키마 완전성
94%
이름 품질
76%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (5)

  • LOWTool 'smarthr_list_maternity_childcare_leaves' name length outside 3-30 rangesmarthr_list_maternity_childcare_leaves에서
  • LOWTool 'smarthr_list_business_establishments' name length outside 3-30 rangesmarthr_list_business_establishments에서
  • LOWTool 'smarthr_list_employee_custom_fields' name length outside 3-30 rangesmarthr_list_employee_custom_fields에서
  • LOWTool 'smarthr_list_dependent_relations' name length outside 3-30 rangesmarthr_list_dependent_relations에서
  • LOWTool 'smarthr_list_employee_input_forms' name length outside 3-30 rangesmarthr_list_employee_input_forms에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~7,060토큰 (도구 정의)
~2.8 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 5.52%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

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

원격 엔드포인트

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

할 수 있는 일

도구 목록

도구 (23)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢smarthr_list_employees(q, emp_status, emp_code, employment_type_id, department_id, ...)

List employees (従業員) of the SmartHR tenant, with filters: free-text name/department/position search, status (employed, absent, retired), employee number, employment type, department, position, hire and resignation date ranges. Returns a compact record per employee; use `fields` for more. Sensitive data (bank accounts, insurance numbers, residence cards, salary, ID images) is never returned.

입력 스키마

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Free-text search over name, business name, department name and position name.",
      "type": "string",
      "maxLength": 500
    },
    "emp_status": {
      "description": "Only employees with this status.",
      "type": "string",
      "enum": [
        "employed",
        "absent",
        "retired"
      ]
    },
    "emp_code": {
      "description": "Exact employee number.",
      "type": "string",
      "maxLength": 500
    },
    "employment_type_id": {
      "description": "Employment type id(s), comma separated (from smarthr_list_employment_types).",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+(,[A-Za-z0-9_-]+)*$"
    },
    "department_id": {
      "description": "Department id(s), comma separated (from smarthr_list_departments).",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+(,[A-Za-z0-9_-]+)*$"
    },
    "position_id": {
      "description": "Position id(s), comma separated (from smarthr_list_positions).",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+(,[A-Za-z0-9_-]+)*$"
    },
    "id": {
      "description": "Employee id(s), comma separated.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+(,[A-Za-z0-9_-]+)*$"
    },
    "user_id": {
      "description": "User id(s), comma separated.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+(,[A-Za-z0-9_-]+)*$"
    },
    "entered_at_from": {
      "description": "Hired on or after this day (yyyy-mm-dd).",
      "type": "string"
    },
    "entered_at_to": {
      "description": "Hired on or before this day (yyyy-mm-dd).",
      "type": "string"
    },
    "resigned_at_from": {
      "description": "Resigned on or after this day (yyyy-mm-dd).",
      "type": "string"
    },
    "resigned_at_to": {
      "description": "Resigned on or before this day (yyyy-mm-dd).",
      "type": "string"
    },
    "sort": {
      "description": "Sort order: property names, several separated by commas, a leading \"-\" means descending, e.g. \"-updated_at\".",
      "type": "string",
      "pattern": "^-?[a-z_]+(,-?[a-z_]+)*$"
    },
    "fields": {
      "description": "Which employee fields to return (default: names, status, email, departments, positions, grade, job category, dates). Add address, tel_number, birth_at, custom_fields, contract_* and so on when needed. Bank, insurance, tax, salary and ID-document data are never available.",
      "maxItems": 47,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "id",
          "user_id",
          "biz_establishment_id",
          "emp_code",
          "emp_type",
          "employment_type",
          "emp_status",
          "last_name",
          "first_name",
          "last_name_yomi",
          "first_name_yomi",
          "business_last_name",
          "business_first_name",
          "business_last_name_yomi",
          "business_first_name_yomi",
          "preferred_last_name",
          "preferred_first_name",
          "preferred_last_name_yomi",
          "preferred_first_name_yomi",
          "birth_at",
          "gender",
          "tel_number",
          "address",
          "email",
          "emergency_relation_name",
          "emergency_last_name",
          "emergency_first_name",
          "emergency_tel_number",
          "position",
          "positions",
          "grade",
          "job_category",
          "occupation",
          "entered_at",
          "resigned_at",
          "resigned_reason",
          "recruitment_type",
          "department",
          "departments",
          "contract_type",
          "contract_start_on",
          "contract_end_on",
          "contract_renewal_type",
          "nationality_code",
          "custom_fields",
          "created_at",
          "updated_at"
        ]
      }
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smarthr_get_employee(id, fields)

Get one employee (従業員) by id. Returns a compact record; use `fields` for more (address, phone, birth date, custom fields, contract dates). Sensitive data is never returned.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Employee id (from smarthr_list_employees)."
    },
    "fields": {
      "description": "Which employee fields to return (default: names, status, email, departments, positions, grade, job category, dates). Add address, tel_number, birth_at, custom_fields, contract_* and so on when needed. Bank, insurance, tax, salary and ID-document data are never available.",
      "maxItems": 47,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "id",
          "user_id",
          "biz_establishment_id",
          "emp_code",
          "emp_type",
          "employment_type",
          "emp_status",
          "last_name",
          "first_name",
          "last_name_yomi",
          "first_name_yomi",
          "business_last_name",
          "business_first_name",
          "business_last_name_yomi",
          "business_first_name_yomi",
          "preferred_last_name",
          "preferred_first_name",
          "preferred_last_name_yomi",
          "preferred_first_name_yomi",
          "birth_at",
          "gender",
          "tel_number",
          "address",
          "email",
          "emergency_relation_name",
          "emergency_last_name",
          "emergency_first_name",
          "emergency_tel_number",
          "position",
          "positions",
          "grade",
          "job_category",
          "occupation",
          "entered_at",
          "resigned_at",
          "resigned_reason",
          "recruitment_type",
          "department",
          "departments",
          "contract_type",
          "contract_start_on",
          "contract_end_on",
          "contract_renewal_type",
          "nationality_code",
          "custom_fields",
          "created_at",
          "updated_at"
        ]
      }
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smarthr_list_dependents(employee_id, page, per_page)

List the dependents (家族情報) registered for one employee: name, relation, birth date, living arrangement and support status. Pension numbers, income and documents are not returned.

입력 스키마

{
  "type": "object",
  "properties": {
    "employee_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Employee id (from smarthr_list_employees)."
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "employee_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smarthr_list_maternity_childcare_leaves(employee_id, page, per_page)

List the maternity and childcare leave records (産休育休) of one employee: expected birth, leave start/end and scheduled return dates. Bank, insurance and memo data are not returned.

입력 스키마

{
  "type": "object",
  "properties": {
    "employee_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Employee id (from smarthr_list_employees)."
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "employee_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smarthr_list_departments(code, sort, page, per_page)

List departments (部署) with their hierarchy (parent, children), code and company.

입력 스키마

{
  "type": "object",
  "properties": {
    "code": {
      "description": "Exact department code.",
      "type": "string",
      "maxLength": 500
    },
    "sort": {
      "description": "Sort order: property names, several separated by commas, a leading \"-\" means descending, e.g. \"-updated_at\".",
      "type": "string",
      "pattern": "^-?[a-z_]+(,-?[a-z_]+)*$"
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smarthr_get_department(id)

Get one department (部署) by id, with its parent and children.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Department id (from smarthr_list_departments)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smarthr_list_positions(sort, page, per_page)

List positions / job titles (役職) with their rank and code.

입력 스키마

{
  "type": "object",
  "properties": {
    "sort": {
      "description": "Sort order: property names, several separated by commas, a leading \"-\" means descending, e.g. \"-updated_at\".",
      "type": "string",
      "pattern": "^-?[a-z_]+(,-?[a-z_]+)*$"
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smarthr_list_employment_types(page, per_page)

List employment types (雇用形態), e.g. full-timer, part-timer, contract worker, with their ids for filtering and writes.

입력 스키마

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smarthr_list_grades(page, per_page)

List grades (等級) with their rank.

입력 스키마

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smarthr_list_job_categories(page, per_page)

List job categories (職種).

입력 스키마

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smarthr_list_companies(page, per_page)

List the companies (会社) of the tenant: name, code, corporate number, address, phone.

입력 스키마

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smarthr_list_business_establishments(embed, page, per_page)

List business establishments (事業所): name, social insurance and labor insurance registration data, company.

입력 스키마

{
  "type": "object",
  "properties": {
    "embed": {
      "description": "Embed the related object instead of only its id.",
      "type": "string",
      "enum": [
        "soc_ins_owner",
        "lab_ins_owner",
        "company"
      ]
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smarthr_list_employee_custom_fields(embed, page, per_page)

List the definitions of the tenant's custom employee fields (カスタム従業員項目): name, type and, for dropdowns, the choices. Use them to read the values in custom_fields.

입력 스키마

{
  "type": "object",
  "properties": {
    "embed": {
      "description": "Embed the custom field group instead of only its id.",
      "type": "string",
      "enum": [
        "group"
      ]
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smarthr_list_dependent_relations(page, per_page)

List the relation types for dependents (続柄: spouse, child, parent...) with their ids, needed by smarthr_create_dependent.

입력 스키마

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smarthr_list_users(sort, embed, page, per_page)

List SmartHR users (login accounts): email, administrator flag, role, linked employee, and the invitation status (created, opened, accepted, answered). Use it to find the administrator id for smarthr_invite_employee.

입력 스키마

{
  "type": "object",
  "properties": {
    "sort": {
      "description": "Sort order: property names, several separated by commas, a leading \"-\" means descending, e.g. \"-updated_at\".",
      "type": "string",
      "pattern": "^-?[a-z_]+(,-?[a-z_]+)*$"
    },
    "embed": {
      "description": "Embed the related object instead of only its id.",
      "type": "string",
      "enum": [
        "crew",
        "biz_establishment",
        "biz_establishment_company",
        "department_company"
      ]
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smarthr_list_employee_input_forms(page, per_page)

List the employee information collection forms (従業員情報収集フォーム) that an invitation can use.

입력 스키마

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smarthr_list_webhooks(page, per_page)

List the configured webhooks (target URL, which employee and dependent events notify). Read-only; secret tokens and the query string of the target URL are never shown.

입력 스키마

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴smarthr_create_employee(emp_code, emp_status, last_name, first_name, last_name_yomi, ...)

WRITE: Register a new employee (従業員) in SmartHR. Nothing is sent to the employee; to invite them to fill in their own data use smarthr_invite_employee afterwards. Only the fields you give are set. The tenant plan may cap the number of employees (error plan_limit_exceeded). Returns the created employee as a compact record.

입력 스키마

{
  "type": "object",
  "properties": {
    "emp_code": {
      "description": "Employee number (社員番号).",
      "type": "string",
      "maxLength": 500
    },
    "emp_status": {
      "description": "Employment status: employed, absent (on leave) or retired.",
      "type": "string",
      "enum": [
        "employed",
        "absent",
        "retired"
      ]
    },
    "last_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Family name (required)."
    },
    "first_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Given name (required)."
    },
    "last_name_yomi": {
      "description": "Family name in katakana.",
      "type": "string",
      "maxLength": 100
    },
    "first_name_yomi": {
      "description": "Given name in katakana.",
      "type": "string",
      "maxLength": 100
    },
    "business_last_name": {
      "description": "Business name: family name.",
      "type": "string",
      "maxLength": 500
    },
    "business_first_name": {
      "description": "Business name: given name.",
      "type": "string",
      "maxLength": 500
    },
    "gender": {
      "description": "Legal gender (戸籍上の性別): male or female.",
      "type": "string",
      "enum": [
        "male",
        "female"
      ]
    },
    "birth_at": {
      "description": "Date of birth, yyyy-mm-dd.",
      "type": "string"
    },
    "email": {
      "description": "Work or contact email address.",
      "type": "string",
      "maxLength": 254
    },
    "tel_number": {
      "description": "Phone number.",
      "type": "string",
      "maxLength": 50
    },
    "address": {
      "type": "object",
      "properties": {
        "zip_code": {
          "description": "Postal code, e.g. 100-0001.",
          "type": "string",
          "maxLength": 20
        },
        "pref": {
          "description": "Prefecture, e.g. 東京都.",
          "type": "string",
          "maxLength": 50
        },
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100,
          "description": "City / ward."
        },
        "street": {
          "description": "Street and block number.",
          "type": "string",
          "maxLength": 100
        },
        "building": {
          "description": "Building and room.",
          "type": "string",
          "maxLength": 100
        },
        "country_number": {
          "description": "Country code (default Japan).",
          "type": "string",
          "maxLength": 5
        }
      },
      "required": [
        "city"
      ],
      "description": "Address; the city is required by SmartHR."
    },
    "entered_at": {
      "description": "Hire date, yyyy-mm-dd.",
      "type": "string"
    },
    "resigned_at": {
      "description": "Resignation date, yyyy-mm-dd.",
      "type": "string"
    },
    "resigned_reason": {
      "description": "Reason for leaving.",
      "type": "string",
      "maxLength": 500
    },
    "employment_type_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Employment type id (from smarthr_list_employment_types)."
    },
    "department_ids": {
      "description": "Department ids (from smarthr_list_departments); replaces the current departments.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "positions": {
      "description": "Position (job title) NAMES, e.g. [\"部長\"]; a name that does not exist yet may be created by SmartHR.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "grade": {
      "description": "Grade name (等級).",
      "type": "string",
      "maxLength": 500
    },
    "job_category": {
      "description": "Job category name (職種).",
      "type": "string",
      "maxLength": 500
    },
    "occupation": {
      "description": "Job description (業務内容).",
      "type": "string",
      "maxLength": 500
    },
    "biz_establishment_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Business establishment id (from smarthr_list_business_establishments)."
    }
  },
  "required": [
    "last_name",
    "first_name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴smarthr_update_employee(id, emp_code, emp_status, last_name, first_name, ...)

WRITE: Change fields of one existing employee (partial update: only the fields you give change; others stay). Typical uses: set the status to absent or retired with the resignation date, correct a name, email or phone, move the employee to other departments (department_ids replaces the current list), change positions. SmartHR does not allow clearing a name that is already filled in. Returns the updated employee as a compact record.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Employee id (from smarthr_list_employees)."
    },
    "emp_code": {
      "description": "Employee number (社員番号).",
      "type": "string",
      "maxLength": 500
    },
    "emp_status": {
      "description": "Employment status: employed, absent (on leave) or retired.",
      "type": "string",
      "enum": [
        "employed",
        "absent",
        "retired"
      ]
    },
    "last_name": {
      "description": "Family name (戸籍上の姓).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "first_name": {
      "description": "Given name (戸籍上の名).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "last_name_yomi": {
      "description": "Family name in katakana.",
      "type": "string",
      "maxLength": 100
    },
    "first_name_yomi": {
      "description": "Given name in katakana.",
      "type": "string",
      "maxLength": 100
    },
    "business_last_name": {
      "description": "Business name: family name.",
      "type": "string",
      "maxLength": 500
    },
    "business_first_name": {
      "description": "Business name: given name.",
      "type": "string",
      "maxLength": 500
    },
    "gender": {
      "description": "Legal gender (戸籍上の性別): male or female.",
      "type": "string",
      "enum": [
        "male",
        "female"
      ]
    },
    "birth_at": {
      "description": "Date of birth, yyyy-mm-dd.",
      "type": "string"
    },
    "email": {
      "description": "Work or contact email address.",
      "type": "string",
      "maxLength": 254
    },
    "tel_number": {
      "description": "Phone number.",
      "type": "string",
      "maxLength": 50
    },
    "address": {
      "type": "object",
      "properties": {
        "zip_code": {
          "description": "Postal code, e.g. 100-0001.",
          "type": "string",
          "maxLength": 20
        },
        "pref": {
          "description": "Prefecture, e.g. 東京都.",
          "type": "string",
          "maxLength": 50
        },
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100,
          "description": "City / ward."
        },
        "street": {
          "description": "Street and block number.",
          "type": "string",
          "maxLength": 100
        },
        "building": {
          "description": "Building and room.",
          "type": "string",
          "maxLength": 100
        },
        "country_number": {
          "description": "Country code (default Japan).",
          "type": "string",
          "maxLength": 5
        }
      },
      "required": [
        "city"
      ],
      "description": "Address; the city is required by SmartHR."
    },
    "entered_at": {
      "description": "Hire date, yyyy-mm-dd.",
      "type": "string"
    },
    "resigned_at": {
      "description": "Resignation date, yyyy-mm-dd.",
      "type": "string"
    },
    "resigned_reason": {
      "description": "Reason for leaving.",
      "type": "string",
      "maxLength": 500
    },
    "employment_type_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Employment type id (from smarthr_list_employment_types)."
    },
    "department_ids": {
      "description": "Department ids (from smarthr_list_departments); replaces the current departments.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "positions": {
      "description": "Position (job title) NAMES, e.g. [\"部長\"]; a name that does not exist yet may be created by SmartHR.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "grade": {
      "description": "Grade name (等級).",
      "type": "string",
      "maxLength": 500
    },
    "job_category": {
      "description": "Job category name (職種).",
      "type": "string",
      "maxLength": 500
    },
    "occupation": {
      "description": "Job description (業務内容).",
      "type": "string",
      "maxLength": 500
    },
    "biz_establishment_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Business establishment id (from smarthr_list_business_establishments)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴smarthr_create_department(name, parent_id, code, position, company_id)

WRITE: Create a department (部署). Give the parent department id to nest it. Returns the created department.

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Department name (no slash)."
    },
    "parent_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Parent department id (from smarthr_list_departments); omit for a top-level department."
    },
    "code": {
      "description": "Department code.",
      "type": "string",
      "maxLength": 500
    },
    "position": {
      "description": "Display order among siblings.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "company_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Company id (from smarthr_list_companies); needed when the tenant has several companies."
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴smarthr_update_department(id, name, parent_id, code, position)

WRITE: Rename or move one department (partial update: only the fields you give change). Returns the updated department.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Department id (from smarthr_list_departments)."
    },
    "name": {
      "description": "New name (no slash). Omit to keep the current name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "parent_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "New parent department id."
    },
    "code": {
      "description": "New code.",
      "type": "string",
      "maxLength": 500
    },
    "position": {
      "description": "New display order among siblings.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴smarthr_create_dependent(employee_id, last_name, first_name, last_name_yomi, first_name_yomi, ...)

WRITE: Register a dependent (家族情報) for an employee. Needs the relation id from smarthr_list_dependent_relations. Returns the created dependent without pension number, income or documents.

입력 스키마

{
  "type": "object",
  "properties": {
    "employee_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Employee id (from smarthr_list_employees)."
    },
    "last_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Family name."
    },
    "first_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Given name."
    },
    "last_name_yomi": {
      "description": "Family name in katakana.",
      "type": "string",
      "maxLength": 100
    },
    "first_name_yomi": {
      "description": "Given name in katakana.",
      "type": "string",
      "maxLength": 100
    },
    "birth_at": {
      "type": "string",
      "description": "Date of birth, yyyy-mm-dd."
    },
    "gender": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Gender: male or female."
    },
    "relation_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Relation id (from smarthr_list_dependent_relations)."
    },
    "live_together_type": {
      "type": "string",
      "enum": [
        "living_together",
        "living_separately"
      ],
      "description": "Living with the employee or separately."
    },
    "is_spouse": {
      "description": "True for a spouse.",
      "type": "boolean"
    },
    "tax_law_support_type": {
      "type": "string",
      "enum": [
        "unsupported",
        "unsupported_same_living_spouse",
        "supported",
        "special_spousal_exemption",
        "unknown"
      ],
      "description": "Tax-law dependent status (required: SmartHR would otherwise default it to supported). Use unknown when not decided."
    },
    "social_insurance_support_type": {
      "type": "string",
      "enum": [
        "unsupported",
        "supported",
        "unknown"
      ],
      "description": "Social-insurance dependent status (required: SmartHR would otherwise default it to supported). Use unknown when not decided."
    },
    "job": {
      "description": "Occupation.",
      "type": "string",
      "maxLength": 500
    },
    "tel_number": {
      "description": "Phone number.",
      "type": "string",
      "maxLength": 50
    },
    "address": {
      "type": "object",
      "properties": {
        "zip_code": {
          "description": "Postal code, e.g. 100-0001.",
          "type": "string",
          "maxLength": 20
        },
        "pref": {
          "description": "Prefecture, e.g. 東京都.",
          "type": "string",
          "maxLength": 50
        },
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100,
          "description": "City / ward."
        },
        "street": {
          "description": "Street and block number.",
          "type": "string",
          "maxLength": 100
        },
        "building": {
          "description": "Building and room.",
          "type": "string",
          "maxLength": 100
        },
        "country_number": {
          "description": "Country code (default Japan).",
          "type": "string",
          "maxLength": 5
        }
      },
      "required": [
        "city"
      ],
      "description": "Address; the city is required by SmartHR."
    }
  },
  "required": [
    "employee_id",
    "last_name",
    "first_name",
    "birth_at",
    "gender",
    "relation_id",
    "live_together_type",
    "tax_law_support_type",
    "social_insurance_support_type"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴smarthr_invite_employee(id, inviter_user_id, crew_input_form_id)

WRITE, SENDS AN EMAIL: Invite an employee to SmartHR. SmartHR emails the address stored on the employee (the employee must have one) an invitation to create their login and, with an input form, to fill in their own data. Asking again re-sends it (and updates the invited address if it changed). An employee who already accepted cannot be invited again. Confirm with the user before calling.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Employee id (from smarthr_list_employees); the employee needs an email address."
    },
    "inviter_user_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "User id of the inviting administrator (from smarthr_list_users, an administrator)."
    },
    "crew_input_form_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Employee information collection form id (from smarthr_list_employee_input_forms); its mail format is used."
    }
  },
  "required": [
    "id",
    "inviter_user_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 23개