# Kintai Plus (unofficial) (npm · kintai-plus-mcp)

Unofficial MCP server for Money Forward Cloud Kintai Plus (AKASHI): punches, records, man-hours

- Trust score: 85/100 (high trust)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- npm · `kintai-plus-mcp`: 85/100 (this document), [markdown](https://verifymcp.io/servers/atzzcokek-kintai-plus-mcp/kintai-plus-mcp.md), [page](https://verifymcp.io/servers/atzzcokek-kintai-plus-mcp/kintai-plus-mcp)

## Channel facts

- Registry: `npm`
- Package: `kintai-plus-mcp`
- Version: `1.1.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 0 of 16 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to atzzCokeK/kintai-plus-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 2 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 79/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3646 tokens (~191/item across 19 items; 16 tools + 3 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 17/100
  - Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 97% of tool parameters carry a description.
  - Structured output schemas are declared (6% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the Kintai Plus (unofficial) MCP server?

Kintai Plus (unofficial) runs locally as an npm package, launched with npx -y kintai-plus-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add atzzcokek-kintai-plus-mcp -- npx -y kintai-plus-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "atzzcokek-kintai-plus-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "kintai-plus-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "atzzcokek-kintai-plus-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "kintai-plus-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add atzzcokek-kintai-plus-mcp -- npx -y kintai-plus-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "atzzcokek-kintai-plus-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "kintai-plus-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add atzzcokek-kintai-plus-mcp --command npx --arg -y --arg kintai-plus-mcp
```

### Hermes

```yaml
mcp_servers:
  atzzcokek-kintai-plus-mcp:
    command: "npx"
    args: ["-y", "kintai-plus-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "atzzcokek-kintai-plus-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "kintai-plus-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add atzzcokek-kintai-plus-mcp -t stdio -c npx -a -y kintai-plus-mcp
```

### Other

```json
{
  "mcpServers": {
    "atzzcokek-kintai-plus-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "kintai-plus-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 85, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-04 (score 84, +27)

- [security improvement] Malware scan: unverified → pass
- [security improvement] Known CVEs: unverified → pass
- [functional improvement] Dependency health: unverified → 1.00

### 2026-11-03 (score 57, −12)

- [security regression] Known CVEs: pass → unverified
- [functional regression] Schema quality: 123 → 191
- [functional regression] Dependency health: 1.00 → unverified
- [functional improvement] Tool coverage: 91% → 97%
- [functional] First check of Tool coverage: 6
- [functional] Schema quality: good → excellent
- [functional] Package version: 0.1.3 → 1.1.0

### 2026-11-02 (score 69, −14)

- [security regression] Malware scan: pass → unverified
- [functional improvement] Stability: unverified → 0.07
- [functional] Package version: 0.1.2 → 0.1.3

### 2026-11-01 (score 83, +16)

- [security improvement] Malware scan: unverified → pass
- [functional improvement] Security disclosure: unverified → pass

### 2026-10-31 (score 67)

First indexed and scored.

## MCP tools (16)

### `get_my_profile` (~95 tokens)

Get my profile

Who is signed in, and what is today in Japan? Returns staff ID, name, organization (所属), and role (company_admin 企業管理者 / admin 一般管理者 / employee 従業員), plus today (YYYY-MM-DD) and timezone Asia/Tokyo. Call this to learn the role before assuming admin tools exist. For what to do before leaving or at month-end, use close_out instead.

### `get_today_status` (~146 tokens)

Get today's work status

Live status for today only (Japan time, Asia/Tokyo): not_started 未出勤 / working 勤務中 / on_break 休憩中 / finished 退勤済み, minutes worked so far (breaks excluded), break minutes, and today's punches. No arguments; "today" is never a date you pass. Call this immediately before punch to see which type is legal. For the end-of-day checklist (short breaks, man-hours, overtime, alerts), use close_out scope=day instead of chaining tools. Not 勤務処理 labels such as 欠勤 or 出張 — that admin tool is get_working_treatments.

### `close_out` (~442 tokens)

Close out my day or month

One read-only call for what you still need to do before closing a day or a month (1日の締め / 月末の締め). Returns a priority list: missing clock-out or break-end (退勤・休憩戻), a break shorter than the Labor Standards Act (over 6h worked needs 45 min, over 8h needs 60 min — a 3-minute lunch punch is not enough), man-hours missing or not matching time worked (工数), the monthly overtime estimate (法定時間外の目安), and alerts. Use this INSTEAD OF chaining get_today_status, check_attendance_issues, get_manhours, summarize_working_hours, and get_alerts. scope "day" (default) is one day, default today in Japan (Asia/Tokyo). scope "month" is that month through today, or the whole month if it has ended. Dates are YYYY-MM-DD. Months are YYYY-MM (01-12). When ok is true and items is empty, tell the user nothing else is required (headline says 対応は不要). Follow items in priority order. If action says 修正申請, do NOT call punch — the API cannot edit past stamps. This tool never punches or saves. Writes still need punch / save_manhours / delete_manhours after the user confirms.

Input parameters:

- `date` (string): scope=day only. YYYY-MM-DD in Japan time. Defaults to today. Future dates are rejected. Do not pass this with scope=month.
- `month` (string): scope=month only. YYYY-MM (month 01-12) in Japan time. Defaults to the current month. Future months are rejected. Do not pass this with scope=day.
- `scope` (string): day (default): one day. month: the whole month up to today, or through month-end if that month is already over.
- `thresholdHours` (integer): Monthly statutory-overtime estimate that counts as a problem, in hours. Default 45 (the standard 36-agreement month). The figure is still only an estimate.

Output parameters:

- `alerts` (object)
- `counts` (object)
- `date` (string)
- `disclaimer` (string)
- `from` (string)
- `headline` (string)
- `items` (array)
- `month` (string)
- `note` (string)
- `ok` (boolean)
- `overtime` (object)
- `readyToClose` (boolean)
- `scope` (string)
- `timezone` (string)
- `to` (string)
- `today` (string)
- `todayStatus` (object)

### `get_attendance_guide` (~146 tokens)

Explain attendance rules and punch types

Static rules for this server (not your live data): punch types (打刻種別: 出勤 clock_in, 退勤 clock_out, 直行 direct_in, 直帰 direct_out, 休憩入 break_start, 休憩戻 break_end), why a punch cannot be edited via the API (修正申請), and the statutory break (法定休憩: over 6h needs 45 min, over 8h needs 60 min). Same text as the kintai://guide resource. For today, call get_today_status. For the day or month checklist, call close_out. No arguments.

### `punch` (~341 tokens)

Punch the time clock

WRITE now (打刻). type is required: clock_in 出勤, clock_out 退勤, direct_in 直行, direct_out 直帰, break_start 休憩入, break_end 休憩戻. Recorded at the time Kintai Plus receives it. CANNOT be edited, deleted, or backdated — a mistake needs 修正申請 in the web UI, not another punch. Not idempotent: every successful call adds a stamp. Confirm the type with the user. Call get_today_status or close_out first. Conflicts with today (for example clock_in while already working, or clock_out while on a break) are refused; the error names the legal next type. force: true only when the user explicitly insists. If this tool is not listed, the server is read-only (KINTAI_PLUS_READ_ONLY) — tell the user, do not retry.

Input parameters:

- `confirm` (boolean): Set true to apply this write when the client cannot show a confirmation dialog. If confirmation is required and this is omitted, the tool returns a preview and changes nothing. Ignored when this call…
- `force` (boolean): Punch even if it conflicts with today's punch history. Use only when the user explicitly asks.
- `telework` (boolean): Mark as telework (テレワーク). Only valid with clock_in.
- `type` (string, required): Required. clock_in 出勤, clock_out 退勤, direct_in 直行, direct_out 直帰, break_start 休憩入, break_end 休憩戻. There is no default.

### `get_stamps` (~163 tokens)

Get my punch history

Raw punch history (打刻履歴) for yourself: clock_in 出勤, clock_out 退勤, direct_in/out 直行/直帰, break_start/end 休憩入/休憩戻. Defaults: from=today, to=from, Japan time (YYYY-MM-DD). Max 366 days, fetched in chunks. Use get_today_status for today's state in one glance, and close_out for what to fix. Use this when you need the timestamps. Location and IP are omitted unless KINTAI_PLUS_INCLUDE_LOCATION=true.

Input parameters:

- `from` (string): Start date (YYYY-MM-DD, Japan time). Defaults to today.
- `to` (string): End date, inclusive (YYYY-MM-DD). Defaults to `from`.

### `get_working_records` (~312 tokens)

Get my working records

Daily working records (勤務実績): day category (労働日 / 所定休日 / 法定休日), start/end, punch times. staffIds is optional and defaults to yourself (omit it for the signed-in person; the response then has no staffId, same as before). Admins may pass staff they manage (from list_staff), up to 50 per request. When the API returns net minutes, actualWorkingMinutes is that value. When it does not, actualWorkingMinutes stays the elapsed start-to-end and estimatedNetMinutes subtracts known breaks or, if breaks are missing, the statutory minimum (over 6h → 45 min, over 8h → 60 min). That second figure is an estimate (estimateNote). Defaults: the 1st of this month through today (Japan time, YYYY-MM-DD). Split into 31-day requests (max 366 days). No overtime field — summarize_working_hours for your totals, close_out for what you should fix, team_close_out for the team. Do not call this once per person to close a team.

Input parameters:

- `from` (string): Start date (YYYY-MM-DD). Defaults to the 1st of this month.
- `staffIds` (array): Staff IDs to include. Omit for yourself only. Admins: IDs from list_staff. Unknown IDs are rejected when the staff list is complete.
- `to` (string): End date, inclusive (YYYY-MM-DD). Defaults to today.

### `summarize_working_hours` (~165 tokens)

Summarize my working hours

Totals for yourself over a period: working minutes, work days (出勤日数), holiday-work days (休日出勤), and an ESTIMATE of statutory overtime (法定時間外の目安), per month. Defaults: the 1st of this month through today, Japan time, YYYY-MM-DD (max 366 days). Always repeat disclaimer to the user; the number is not an official overtime total. Team risk is find_overtime_risks (admin). What the employee should fix is close_out, which already includes this estimate.

Input parameters:

- `from` (string): Start date (YYYY-MM-DD). Defaults to the 1st of this month.
- `to` (string): End date, inclusive (YYYY-MM-DD). Defaults to today.

### `get_alerts` (~160 tokens)

Get my attendance alerts

Raw attendance alerts (アラート) Kintai Plus already raised for you: 打刻忘れ, 欠勤疑い, 遅刻, 早退, 残業時間閾値超え, 36協定, 工数未入力, 休憩不足, and others. The API cannot filter; month (YYYY-MM, Japan time) is applied here. Omit month for every month the API returns. close_out already folds the relevant alerts into a prioritized list — call get_alerts only when you need the raw rows.

Input parameters:

- `month` (string): Only alerts for this month (YYYY-MM, month 01-12, Japan time). Omit for all months returned by the API.

### `check_attendance_issues` (~227 tokens)

Check my attendance for issues

Raw punch issues for yourself (打刻漏れチェック): missing clock-out/in, break left open, no punches on a workday, days over 12 hours, rest under 11 hours (勤務間インターバル), holiday work. Does NOT check Labor Standards Act break length (6h/45min, 8h/60min), man-hours, or the monthly overtime trajectory — close_out does, in one call. A missing punch is suppressed when the working record already has that time. Defaults: the 1st of this month through yesterday (on the 1st, the previous month), Japan time, YYYY-MM-DD, max 93 days. Today is excluded because the day may still be open. Overnight shifts are recognized. Leave is invisible, so "no punches" may be a day off. Fixing punches is 修正申請 in the web UI, not punch.

Input parameters:

- `from` (string): Start date (YYYY-MM-DD).
- `to` (string): End date, inclusive (YYYY-MM-DD). Defaults to yesterday.

### `list_projects` (~126 tokens)

List projects

Search the company project list (プロジェクト) used for man-hours (工数). Prefer get_my_projects when logging your own time; use this to search by name or code, or to see projects you might not belong to. activeOn is YYYY-MM-DD (Japan time) and keeps projects whose period includes that date. projectId goes to list_tasks and save_manhours.

Input parameters:

- `activeOn` (string): Only projects whose period includes this date (YYYY-MM-DD).
- `query` (string): Case-insensitive text to match in name, short name, or code.

### `list_tasks` (~98 tokens)

List tasks of a project

Tasks (タスク) of one projectId from get_my_projects or list_projects. Call this before save_manhours so taskId is real. Finished tasks (終了) are hidden unless includeFinished is true. estimatedMinutes is minutes (estimatedHours is the same value as H:MM).

Input parameters:

- `includeFinished` (boolean): Include finished tasks. Default false.
- `projectId` (integer, required): Project ID from list_projects or get_my_projects.

### `get_my_projects` (~63 tokens)

Get my projects

Projects you belong to (参加プロジェクト), with names. Prefer this over list_projects when entering your own man-hours. If a name is missing, the project list could not be loaded; the projectId is still valid for list_tasks and save_manhours.

### `get_manhours` (~164 tokens)

Get my man-hours

Your man-hours (工数) per day, project, and task, in minutes, with names when the directory can be loaded. Defaults: from=the 1st of this month, to=the end of that month (Japan time, YYYY-MM-DD), max 93 days. closed (締め) or fixed (確定) days cannot be changed with save_manhours or delete_manhours. close_out says which days are missing or off; call this to see the entries before changing them.

Input parameters:

- `from` (string): Start date (YYYY-MM-DD). Defaults to the 1st of this month.
- `to` (string): End date, inclusive (YYYY-MM-DD). Defaults to the end of the month of `from`.

### `save_manhours` (~243 tokens)

Save my man-hours

WRITE. Create or update YOUR man-hours (工数) for one date (YYYY-MM-DD, Japan time): minutes per project task. Only the tasks you list are overwritten; other tasks that day are kept. Removing an entry is delete_manhours, not a zero. Confirm the project, task, and minutes with the user before calling. Idempotent for the same entries. Refuses a day that is closed (締め) or fixed (確定) — do not retry; it must be reopened in the web UI. Find IDs with get_my_projects (prefer it over list_projects) and list_tasks. close_out tells you which dates are missing. If this tool is not listed, the server is read-only (KINTAI_PLUS_READ_ONLY).

Input parameters:

- `confirm` (boolean): Set true to apply this write when the client cannot show a confirmation dialog. If confirmation is required and this is omitted, the tool returns a preview and changes nothing. Ignored when this call…
- `date` (string, required): Date to save (YYYY-MM-DD, Japan time). Required. No default.
- `entries` (array, required)

### `delete_manhours` (~234 tokens)

Delete my man-hours

WRITE. Delete YOUR man-hours (工数) for one date (YYYY-MM-DD, Japan time) and projectId. If taskId is omitted, ALL tasks of that project on that day are deleted — confirm that explicitly with the user. Idempotent: deleting what is already gone returns deleted:false and changes nothing. Closed (締め) or fixed (確定) days cannot be changed; do not retry. If this tool is not listed, the server is read-only (KINTAI_PLUS_READ_ONLY).

Input parameters:

- `confirm` (boolean): Set true to apply this write when the client cannot show a confirmation dialog. If confirmation is required and this is omitted, the tool returns a preview and changes nothing. Ignored when this call…
- `date` (string, required): Date (YYYY-MM-DD, Japan time). Required.
- `projectId` (integer, required): Project whose man-hours to delete. From get_manhours or get_my_projects.
- `taskId` (integer): One task to delete. Omit only when the user wants every task of this project on that day removed.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/atzzcokek-kintai-plus-mcp/kintai-plus-mcp#diagnostics

## Score history

- 2026-11-05: 85
- 2026-11-04: 84
- 2026-11-03: 57
- 2026-11-02: 69
- 2026-11-01: 83
- 2026-10-31: 67

## Common questions

### What is the Kintai Plus (unofficial) MCP server?

Kintai Plus (unofficial) is an MCP server listed in the public MCP registry as io.github.atzzCokeK/kintai-plus-mcp. Unofficial MCP server for Money Forward Cloud Kintai Plus (AKASHI): punches, records, man-hours. This page covers its npm package (kintai-plus-mcp).

### Is the Kintai Plus (unofficial) MCP server safe to use?

Kintai Plus (unofficial) scores 85 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Kintai Plus (unofficial) MCP server expose?

Kintai Plus (unofficial) exposes 16 tools: get_my_profile, get_today_status, close_out, get_attendance_guide, punch, and 11 more. Their descriptions and schemas cost roughly 3,125 tokens of context every time the server is loaded.

### Is the Kintai Plus (unofficial) MCP server still maintained?

Kintai Plus (unofficial) is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the Kintai Plus (unofficial) MCP server under?

Kintai Plus (unofficial) declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

### What did VerifyMCP test on the Kintai Plus (unofficial) MCP server?

VerifyMCP ran 16 checks on Kintai Plus (unofficial), covering Malware scan, Known CVEs, Install scripts, Dependency health and 12 more. Endpoint Security and Transport & Reachability do not apply to an npm package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- npm package: https://www.npmjs.com/package/kintai-plus-mcp
- Socket report: https://socket.dev/npm/package/kintai-plus-mcp
- Repository: https://github.com/atzzCokeK/kintai-plus-mcp
- Changelog RSS feed: https://verifymcp.io/servers/atzzcokek-kintai-plus-mcp/kintai-plus-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/atzzcokek-kintai-plus-mcp/kintai-plus-mcp/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/atzzcokek-kintai-plus-mcp/kintai-plus-mcp.json
- HTML version of this page: https://verifymcp.io/servers/atzzcokek-kintai-plus-mcp/kintai-plus-mcp
