kintai-plus-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KINTAI_PLUS_HOST | No | Connection host domain (atnd.ak4.jp or atnd-awj.ak4.jp), used together with KINTAI_PLUS_TOKEN and KINTAI_PLUS_COMPANY_ID when running without `login`. | |
| KINTAI_PLUS_TOKEN | No | API token for Kintai Plus, used when running without `login`. Not stored or reissued unless KINTAI_PLUS_PERSIST_ENV_TOKEN=true. Used together with KINTAI_PLUS_COMPANY_ID and KINTAI_PLUS_HOST. | |
| KINTAI_PLUS_LOG_LEVEL | No | Log level: debug / info / warn / error / silent (logs go to stderr only). | info |
| KINTAI_PLUS_READ_ONLY | No | Set to true to hide write tools (punch, man-hours). | false |
| KINTAI_PLUS_COMPANY_ID | No | Login company ID, used together with KINTAI_PLUS_TOKEN and KINTAI_PLUS_HOST when running without `login`. | |
| KINTAI_PLUS_AUTO_REFRESH | No | Set to false to disable automatic token reissue. | true |
| KINTAI_PLUS_REFRESH_DAYS | No | Reissue the token when fewer than this many days remain before expiry (1–30). | 15 |
| KINTAI_PLUS_CONFIRM_WRITES | No | Set to true to show a confirmation dialog before writes (Elicitation-capable clients only; writes fail on unsupported clients). The legacy name CONFIRM_WRITES is also still read. | false |
| KINTAI_PLUS_MIN_INTERVAL_MS | No | Minimum interval between API requests in milliseconds. | 300 |
| KINTAI_PLUS_CREDENTIALS_FILE | No | Path used for file-based storage (specifying it switches to file storage). | ~/.config/kintai-plus-mcp/credentials.json |
| KINTAI_PLUS_CREDENTIAL_STORE | No | Storage backend: auto (keychain -> file), keychain, or file. | auto |
| KINTAI_PLUS_INCLUDE_LOCATION | No | Set to true to return the location and IP address of punches. | false |
| KINTAI_PLUS_PERSIST_ENV_TOKEN | No | Set to true to store the token passed via environment variable and reissue it when expiry is unknown. The environment variable value may become invalid. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_my_profileA | Get the signed-in employee's own profile (従業員情報): staff ID, name, organization (所属), and permission role (company_admin 企業管理者 / admin 一般管理者 / employee 従業員). Also returns today's date in Japan time. |
| get_today_statusA | Get today's work status (今日の勤務状況) in Japan time: not_started (未出勤), working (勤務中), on_break (休憩中), or finished (退勤済み), with time worked so far (excluding breaks), break time, and today's punches. Use this before punching. |
| punchA | Record a punch (打刻) now: clock_in (出勤), clock_out (退勤), direct_in (直行), direct_out (直帰), break_start (休憩入), break_end (休憩戻). The type is required. The punch is recorded at the time Kintai Plus receives it and CANNOT be edited or deleted via the API (corrections need a request in the web UI), so confirm the type with the user if unsure. Punches that conflict with today's history (e.g. clock_in when already clocked in) are refused; pass force: true only if the user insists. |
| get_stampsA | Get your own punch history (打刻履歴) for a period: clock in (出勤), clock out (退勤), direct in/out (直行/直帰), break start/end (休憩入/休憩戻). Defaults to today. Long periods are fetched in chunks automatically (max 366 days). Location and IP address are omitted by default. |
| get_working_recordsA | Get your own daily working records (勤務実績): day category (労働日 / 所定休日 / 法定休日), start/end time, and punch times. The API does not return actual working minutes or breaks, so actual minutes are the elapsed time from start to end (breaks included) and break time is unknown. Defaults to the 1st of this month through today. Long periods are split into 31-day requests automatically (max 366 days). There is no overtime field; use summarize_working_hours for totals and an overtime estimate. |
| summarize_working_hoursA | Summarize your own working hours (勤務時間の集計) over a period: total actual working time (実働合計), work days (出勤日数), holiday work days (休日出勤日数), and an ESTIMATE of statutory overtime (法定時間外の目安), with a per-month breakdown. Defaults to the 1st of this month through today (max 366 days). Always tell the user the overtime figure is an estimate. |
| get_alertsB | Get your own attendance alerts (アラート) from Kintai Plus, such as missing punches (打刻忘れ), suspected absence (欠勤疑い), late arrival (遅刻), early leave (早退), overtime threshold (残業時間閾値超え), 36 agreement (36協定), and missing man-hours (工数未入力). Optionally filter by month. |
| check_attendance_issuesA | Check your own punches and working records for issues (打刻漏れチェック): missing clock out/in (退勤・出勤の打刻忘れ), break not ended (休憩戻なし), no punches on a workday, days over 12 hours, rest interval under 11 hours (勤務間インターバル), and holiday work. A missing punch is not reported when the working record already has that start or end time (for example after a correction in the web UI). When break time is unknown, elapsed time over 12 hours is info unless it still exceeds 12 hours after a 1-hour break. Defaults to the 1st of this month through yesterday (on the 1st, the previous month). Max 93 days. Overnight shifts are recognized. Leave and requests are not visible via the API, so "no punches" may simply be a day off. |
| list_projectsA | List the company's projects (プロジェクト) used for man-hour tracking (工数). Optionally filter by name/code and by the date the project is active on. Use the projectId with list_tasks and save_manhours. |
| list_tasksA | List the tasks (タスク) of a project for man-hour tracking. Finished tasks (終了) are excluded unless includeFinished is true. Estimated time (見積もり) is in minutes. |
| get_my_projectsA | List the projects you are a member of (参加プロジェクト), with names. Use these projectIds for man-hours. |
| get_manhoursA | Get your own man-hour records (工数) per day, project, and task, in minutes, with project/task names. Defaults to this month. closed (締め) / fixed (確定) days cannot be changed. Max 93 days. |
| save_manhoursA | Create or update your own man-hours (工数) for one day: minutes per project task. Only the listed tasks are overwritten; other tasks on that day are kept. To remove an entry, use delete_manhours. Use list_projects / get_my_projects and list_tasks to find IDs. Days that are closed (締め) or fixed (確定) cannot be changed. |
| delete_manhoursA | Delete your own man-hours (工数) for one day and project. If taskId is omitted, ALL tasks of that project on that day are deleted. Days that are closed (締め) or fixed (確定) cannot be changed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| end_of_day | 今日の勤務と工数を確認し、工数の入力漏れがあれば入力してから退勤を打刻する |
| log_manhours | 指定した日(既定は今日)の工数を、話した内容から入力する |
| monthly_review | 指定した月(既定は今月)の勤務時間・残業の目安・打刻漏れをまとめる |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Most tools target clearly distinct resources: punches vs. working records vs. man-hours vs. projects/tasks vs. alerts. The closest overlap is between get_alerts (attendance alerts) and check_attendance_issues (problem detection), but descriptions distinguish them (server-side alerts vs. computed checks). get_stamps vs get_working_records is also close but described distinctly.
Nearly all tools follow a consistent verb_noun snake_case pattern (get_today_status, list_projects, save_manhours, check_attendance_issues). Minor deviations: 'punch' and 'get_stamps' use a bare noun rather than verb_noun, but overall highly predictable.
14 tools is well-scoped for an attendance/man-hour domain covering status, punching, records, summaries, alerts, projects, tasks, and man-hour CRUD. Slightly heavy but each tool earns its place; no filler tools.
Strong coverage: punch lifecycle, status, history, working records, summaries, alerts, issue checks, and full man-hour CRUD (get/save/delete) with project/task lookups. Minor gaps include no way to correct punches via API (explicitly noted as a domain constraint) and no request/leave operations, but core workflows are complete.