Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Unofficial MCP server for Leantime: 42 agent-first tools, backup/restore, dry-run validation
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผู้ทำยังไม่ได้ใส่วิธีติดตั้งใน registry ให้ดู README ของผู้ทำด้านล่าง
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 10 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub 4lador ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (2.9.0) เข้า registry 2 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Rust ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, City by Month
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Read-only city climate normals, daylight and month-by-month data. Every answer cites its page.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
mcp-name: io.github.4lador/leantime-mcpAn unofficial Model Context Protocol server for Leantime, designed agent-first: it lets LLM tools (opencode, Claude Code, Claude Desktop, Cursor, Codex, or any MCP client) work on your Leantime projects through 42 tools with dry-run validation, bulk operations, backup/restore and one-call project context.
It is an independent, open-source integration — stdio only, running locally with your own API key and your own instance. It does not aim to replace Leantime's official offerings; if you want vendor-supported integrations, use those.
~3 MB self-contained binary (rustls — no system OpenSSL), ~1.2 ms median startup and ~5 MB idle memory (VmRSS after handshake — measured on a Linux x86_64 dev machine, n=100 spawns).
Documentation: Quick start · Configuration · Safety · Tools · Troubleshooting · Harness setup · Backup & recovery · Migration from v1.x · CHANGELOG · CONTRIBUTING · SECURITY
An example session (abridged):
You: What's the status of the Acme launch project?
Agent calls
leantime_project_context— one call returning progress, health, sprint and milestones:
`json
{ "project": { "name": "Acme launch", "progress": { "percentDone": 64.5, "ticketsTotal": 279, "ticketsDone": 180 } },
"health": { "blocked": 0, "overdue": 7, "unassigned": 3, "openTotal": 99 },
"currentSprint": { "name": "Sprint 4", "status": "current", "daysRemaining": 6, "openTickets": 8 } }
`
Agent: Acme launch is at 64.5% (180 of 279 tickets done). 99 tickets are open — 7 overdue, 3 unassigned, none blocked. Sprint 4 ends in 6 days with 8 open tickets; the milestone in progress (PHASE 8) sits at 47.8%.
leantime_project_context — the whole project picture in one call (progress, health, sprint, milestones), under 4 KBdryRun: true on every mutation — same validations, from → to diffs on updates, no write requestsidempotencyKey on creation tools — a retried call with an already-succeeded key replays the original result instead of writing a duplicatetruncated on capped lists, changed/unchanged diffs on updates — agents see what a call actually didLEANTIME_MCP_PROFILE=readonly — a server-wide execution profile that removes write capabilities entirelyLEANTIME_MCP_BACKUP_RETENTION_DAYS), atomic backup writes, and a restore manifest mapping every old→new idLEANTIME_MCP_DESTRUCTIVE_POLICY=deny as an emergency stopLinux / macOS (x86_64, aarch64):
curl -fsSL https://raw.githubusercontent.com/4lador/leantime-mcp/main/install.sh | sh
Windows (PowerShell):
irm https://raw.githubusercontent.com/4lador/leantime-mcp/main/install.ps1 | iex
Both installers verify the published SHA-256 checksum before installing and abort on mismatch. Release binaries cover all 5 targets — Linux (x86_64, aarch64), Windows x86_64 and macOS (Intel, ARM) — on the releases page.
Via cargo (requires the Rust toolchain):
cargo install leantime-mcp # installs the leantmcp binary to ~/.cargo/bin
From source:
cargo build --release # → target/release/leantmcp
leantmcp url set https://your-instance.leantime.io # once
leantmcp key set # once — hidden prompt leantmcp setup # writes the config leantmcp doctor # verify everything end-to-end
Your Leantime API key: My Account → API Keys → Generate on your instance.
| Harness | Default scope | Config file |
|---|---|---|
| opencode | global | ~/.opencode/opencode.json |
| Claude Code | project | ./.mcp.json |
| Claude Desktop | global | claude_desktop_config.json (path per OS) |
| Cursor | global | ~/.cursor/mcp.json |
| Codex | global | ~/.codex/config.toml |
Every generated config is a bare command with no credentials — the binary resolves them from the keyring at startup. Project-scoped setups, --scope/--instance/--name options and multiple instances: see Harness setup.
Credentials live in named instance profiles — ~/.config/leantime/instances/ / (api-key, mode 0600, and instance-url), with a default file naming the default. The key is read from the keyring file or environment — it is not accepted as a command-line argument (shell history) and is not logged; key commands are CLI-only and are not exposed as MCP tools.
leantmcp url show # resolved URL + where it comes from
leantmcp key show # masked display (lt_h13…Fc3O) leantmcp key test # live validation against the instance leantmcp key rotate # mint a new key (same role), verify it live, replace the stored one leantmcp instance add … # multiple Leantime instances (see Harness setup)
LEANTIME_URL / LEANTIME_API_KEY environment variables remain available as per-run overrides; LEANTIME_INSTANCE selects a profile. Resolution order: env (explicit override) → LEANTIME_INSTANCE profile → the default file.
This software is provided without warranty (MIT). It drives Leantime with your API key on your behalf — back up your Leantime data before letting agents operate on it.
confirm: true required by default; LEANTIME_MCP_DESTRUCTIVE_POLICY=deny refuses them outright, allow skips the gate for CI). Project hiding/deletion is intentionally not exposed.dryRun: true — validations run, updates resolve from → to values (with status labels), bulk tools return per-item previews, and no write request is sent. Agent guidance is built into the tool descriptions on a three-tier policy: direct execution for explicit values, dry-run-then-confirm when the agent chose the values itself, dry-run mandated for bulk.editorId validated against the real user list, or an explicit unassigned: true).tools/list (no context-window cost) and calling one is refused with an actionable error. Read-only mode: leantmcp tools disable all && leantmcp tools enable readonly. State is stored per instance profile.leantime_backup_project (MCP) or leantmcp backup (CLI) snapshot a project cheaply — agents are instructed to use it before bulk modifications. See Backup & recovery.42 tools across 9 domains: projects & clients (8), tickets (10), comments (4), time tracking (4), milestones (6), sprints (4), users (1), bulk operations (3), backup & context (2). Updates use the patch API — only provided fields change. Descriptions follow a Markdown subset converted server-side; raw HTML in input is escaped.
Supported Markdown subset (for descriptions and comments)
| Markdown | Result |
|---|---|
# … #### | Headings (levels 5+ clamp to h4) |
| blank-line separated text | Paragraphs (single newlines become line breaks) |
- item / 1. item | Unordered / ordered lists (nesting supported) |
- [ ] x / - [x] x | Interactive checklists |
**bold**, *italic*, ~~strike~~ | Emphasis |
`code` and fenced ` blocks | Inline and block code |
[label](https://…) | Links (http/https/mailto only) |
> quote | Blockquote |
--- | Horizontal rule |
Raw HTML in descriptions is escaped before reaching Leantime — it renders as literal text.
All 42 tools (click to expand)
Projects & clients
| Tool | Description |
|---|---|
leantime_list_projects | List all projects |
leantime_get_project | Get project details |
leantime_get_project_progress | Get project progress metrics |
leantime_create_project | Create a project (Markdown details, clientId required) |
leantime_update_project | Update a project (patch — only provided fields change) |
leantime_find_projects | Search projects by name |
leantime_list_project_users | List users assigned to a project (valid editorId candidates) |
leantime_list_clients | List clients (clientId needed to create projects) |
Tickets
| Tool | Description |
|---|---|
leantime_list_tickets | List tickets with filters (status, milestone, sprint, user, type, search) |
leantime_get_ticket | Get ticket details |
leantime_create_ticket | Create a ticket (Markdown description, mandatory assignment, subtasks via dependingTicketId; dryRun supported) |
leantime_update_ticket | Update a ticket (patch — only provided fields change; dryRun supported) |
leantime_delete_ticket | Delete a ticket (confirm-gated) |
leantime_list_subtasks | List a ticket's subtasks |
leantime_my_tasks | Open tickets assigned to a user (default: the API key owner) |
leantime_get_ticket_options | Priorities, efforts, kanban columns and ticket types |
leantime_get_statuses | Get status labels for a project |
leantime_get_ticket_types | Get ticket types for a project |
Comments
| Tool | Description |
|---|---|
leantime_list_comments | List a ticket's discussion |
leantime_add_comment | Comment on a ticket (Markdown converted to rich HTML) |
leantime_update_comment | Edit a comment (Markdown) |
leantime_delete_comment | Delete a comment (confirm-gated) |
Time tracking
| Tool | Description |
|---|---|
leantime_log_time | Log hours on a ticket (add accumulates, set is idempotent; dryRun supported) |
leantime_get_ticket_time | Total and per-day booked time for a ticket |
leantime_list_timesheets | List time entries between two dates |
leantime_delete_timesheet_entry | Delete a time entry (confirm-gated) |
Milestones
| Tool | Description |
|---|---|
leantime_list_milestones | List milestones of a project |
leantime_get_milestone | Get milestone details |
leantime_create_milestone | Create a milestone (Markdown description, mandatory assignment; dryRun supported) |
leantime_update_milestone | Update a milestone (patch; dryRun supported) |
| `leantime_get_milestone_progres
ตัดมาแค่ช่วงต้น อ่านต่อใน repo