ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

LeaveSheet: WH-347 payroll and PTO accrual

โดย tresor4kรุ่น 0.1.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.tresor4k/leavesheet-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

WH-347 certified payroll columns 5-9, fringe 6B reconciliation and PTO accrual balances.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: บัญชี การเงิน และภาษี

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "leavesheet": {
      "command": "npx",
      "args": [
        "-y",
        "leavesheet-mcp"
      ]
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add leavesheet -- npx -y leavesheet-mcp

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "leavesheet": {
      "command": "npx",
      "args": [
        "-y",
        "leavesheet-mcp"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "leavesheet": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "leavesheet-mcp"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub tresor4k ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด บัญชี การเงิน และภาษีi

  • ดาวมากกว่า 0% ของอีก 2913 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 56% ของอีก 2913 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 2913 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

LeaveSheet: WH-347 payroll and PTO accrual ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.0) เข้า registry 25 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Finance Toolkit, SolidInvoice, Korea Tax Calculator

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Finance Toolkit

โดย JerBouma

500+ transparent financial methods calculated from raw statements, not third-party endpoints.

บนเครื่องหรือคลาวด์★ 5,496MITอัปเดต เมื่อวาน
ติดตั้ง

SolidInvoice

โดย SolidInvoice

Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.

รันบนคลาวด์★ 981MITอัปเดต 8 วันที่ผ่านมา
ติดตั้ง

Korea Tax Calculator

โดย UpstageAI

Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.

รันบนเครื่อง★ 97MITอัปเดต เมื่อวานซืน
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

leavesheet-mcp

MCP server (stdio) for two payroll calculations used by LeaveSheet / TableTemplates:

  • U.S. DOL WH-347 certified payroll form, revised version (Rev. January 2025): columns 2 and 5-9 for a crew week, fringe paid to each plan, column 6B reconciliation.
  • PTO accrual: leave balance at a date, with hire date, annual cap, tenure tiers, carryover cap, approved and pending requests, holidays and half days.

The calculations are a line-by-line JavaScript port of the open-source Go packages codeberg.org/tresor2k/tabletemplates-go/wh347, .../pto and the wh347 command (.../cmd/wh347). The test suite checks the output byte for byte against those Go engines on 28 golden cases. No network access, no data stored.

Install

Requires Node.js 22 or later.

{

"mcpServers": { "leavesheet": { "command": "npx", "args": ["-y", "leavesheet-mcp"] } } }

Tools

ToolWhat it returns
wh347_payroll_linesPer worker: ST/OT/total hours (col. 5), 6A rates (OT = base x 1.5), 6B fringe credit, 6C cash in lieu, 7A gross for the project, 7B gross for all work, 8 deductions, 9 net pay, sanity flag; crew totals per fringe plan and the 6B reconciliation. Same JSON as wh347 --json.
wh347_fringe_reconcileSum of column 6B vs. fringe paid to the four plans (health and welfare, pension, vacation/holiday, training); reconciles when the gap is under 0.005.
pto_accrualMonths worked this year, years of service, effective rate, accrued days (capped), carryover (capped), days taken, days pending, days left, plus the workdays of each request.
Inputs

wh347_payroll_lines and wh347_fringe_reconcile take { "workers": [...] }, one entry per worker-week on one project. Field names follow the CSV columns of the wh347 command: worker, type (J, RA or empty), base_rate, fringe_health_welfare, fringe_pension, fringe_vacation, fringe_training, st_hours and ot_hours (arrays of up to 7 daily values), cash_in_lieu_rate, gross_all_work (column 7B; omit it to use 7A), fica, federal_tax, state_tax, other_deductions. Omitted numbers are 0; negative numbers are rejected. csv_line in the output is the line the worker would have in the equivalent CSV (header = line 1).

pto_accrual takes policy (period: monthly or annual, rate, annual_cap, carryover_max, optional tier1_years/tier1_bonus, tier2_years/tier2_bonus), hire_date, as_of, carryover, requests (start, end, start_half, end_half, status: pending, approved, denied or cancelled), holidays (dates) and us_federal_holidays_years (adds the 11 U.S. federal holidays, observed dates, of the listed years). Dates are YYYY-MM-DD.

Example

wh347_payroll_lines input:

{ "workers": [{ "worker": "John Mason", "type": "J", "base_rate": 30,

"fringe_health_welfare": 4, "fringe_pension": 2, "st_hours": [8, 8, 8, 8, 8], "ot_hours": [4], "other_deductions": 310 }] }

Output:

{

"form": "WH-347 (Rev. January 2025)", "lines": [ { "csv_line": 2, "worker": "John Mason", "worker_type": "J", "st_hours": 40, "ot_hours": 4, "total_hours": 44, "rate_6a_st": 30, "rate_6a_ot": 45, "fringe_6b": 264, "cash_in_lieu_6c": 0, "gross_project_7a": 1380, "gross_all_work_7b": 1380, "gross_all_work_7b_entered": false, "deductions_8": 310, "net_pay_9": 1070, "sanity": "ok" } ], "plan_totals": { "health_welfare": 176, "pension": 88, "vacation": 0, "training": 0 }, "plan_totals_sum": 264, "fringe_column_6b_sum": 264, "reconciles": true, "source": "TableTemplates LeaveSheet WH-347 engine (port of codeberg.org/tresor2k/tabletemplates-go/wh347)", "reference_url": "https://tabletemplates.com/certified-payroll-software/", "disclaimer": "Calculator output only: not legal or payroll advice, not an official DOL tool." }

pto_accrual with a monthly policy of 1.25 days (+0.25 after 2 years, cap 15, carryover cap 5), hired 2023-04-03, 9 days carried over, one approved request from 2026-06-29 to 2026-07-07 and the 2026 federal holidays, as of 2026-07-31:

{

"balance": { "months_worked": 7, "years_of_service": 3.328767123287671, "effective_rate": 1.5, "accrued": 10.5, "carryover": 5, "taken": 6, "pending": 0, "left": 9.5, "is_negative": false }, "request_days": [6], "source": "TableTemplates LeaveSheet PTO engine (port of codeberg.org/tresor2k/tabletemplates-go/pto)", "reference_url": "https://tabletemplates.com/pto-tracking-software/", "disclaimer": "Calculator output only: not legal or payroll advice; state paid-leave laws are not encoded." }

(July 3, 2026 is the observed Independence Day, so the 7 weekdays of the request count as 6.)

Limits

  • Not an official DOL tool, not legal or payroll advice. The WH-347 tool does not look up prevailing wage rates, classify work, or compute taxes: rates and deductions are entered. The ST/OT split is entered, not computed.
  • WH-347 amounts are rounded to cents in the output only (halves toward +infinity), never inside the calculation. PTO values are not rounded.
  • PTO: month-granular accrual (the hire month counts in full), years of service = days / 365, accrual restarts on January 1; the carryover is the value you enter, capped by the policy. State paid-leave laws are not encoded; the only built-in holidays are the U.S. federal ones.

Development

npm install

npm test # parity with the Go engines + stdio smoke test node scripts/gen-golden.mjs # regenerate test/golden.json (needs Go 1.24 and the Go sources)

License: MIT.

ถาม PopNx