Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Compares AI coding tool spend before and after a migration via MCP tools.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"teamspend": {
"command": "uvx",
"args": [
"teamspend-cli",
"teamspend-mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add teamspend -- uvx teamspend-cli teamspend-mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"teamspend": {
"command": "uvx",
"args": [
"teamspend-cli",
"teamspend-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"teamspend": {
"type": "stdio",
"command": "uvx",
"args": [
"teamspend-cli",
"teamspend-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub RudrenduPaul ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.6) เข้า registry 3 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Starreel
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว 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.
Turn a script into a finished, downloadable short-drama episode — via MCP or REST.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Install • Usage • Features • Compare • FAQ • Contributing
Your AI coding tools will never tell you if switching between them actually saved money. teamspend does, in one command.
The recording above uses claude-code-personal (credential-free, reads local session logs) so the install-to-first-run flow plays end to end with no admin API keys required; the live output shape is identical whichever adapter you point it at.
npx teamspend-cli --tools cursor,claude-code --before 2026-04-01:2026-04-30 --after 2026-06-01:2026-06-30
Six tools now, not two: Cursor, Claude Code, GitHub Copilot, OpenCode, and Codex CLI, plus a credential-free personal mode for anyone without admin access. More teams are running more than one AI coding tool at once, or moving between them, than ever before. Every one of those tools has a dashboard that's perfectly accurate about itself and structurally incapable of showing you anything else. teamspend is the missing piece: one real number, pulled straight from both tools' own APIs, showing exactly what changed.
npx teamspend-cli --tools cursor,claude-code --before 2026-04-01:2026-04-30 --after 2026-06-01:2026-06-30
Example output (shape shown below; your real numbers come from your own org's API data):
teamspend snapshot -- migration cost comparison Tools: cursor -> claude-code
BEFORE (cursor) Total spend: $2,140.00 (exact, usage-based) Active users: 14
AFTER (claude-code) Total spend: $1,860.00 (exact, usage-based) Active users: 14
DELTA: -$280.00 (-13.1%)
Full report: ./teamspend-snapshot-2026-07-11T142842.json
That's the whole product. One command, one honest number, zero spreadsheets.
$0 for a user with real token activity. teamspend detects that pattern and marks the number estimated rather than showing a misleading zero.fetch, native argument parsing, native file I/O.teamspend ships two independent, equally first-class packages -- pick whichever fits your toolchain, or install both. They talk to the same six data sources and compute the same before/after delta.
# npm -- JavaScript/TypeScript CLI + library
npm install -g teamspend-cli
pip install teamspend-cli
Both packages are named teamspend-cli (the older plain teamspend name was renamed to match this project's other packages, then fully unpublished from both registries as of 2026-08-03 -- same maintainer, same repo, but no longer installable under any version). Either way, the installed command is teamspend.
Give it the two API keys for the tools you're comparing:
export TEAMSPEND_CURSOR_TOKEN=<your Cursor Admin API key>
export TEAMSPEND_CLAUDE_CODE_TOKEN=
Both need org-admin-level access on their platform. If you can already see billing for your org, you have what you need.
teamspend --tools cursor,claude-code --before 2026-04-01:2026-04-30 --after 2026-06-01:2026-06-30
Add --json to print the full JSON report to stdout instead of the human-readable summary above -- useful for piping into another script or a CI step. The JSON report file on disk is written either way; --json only changes what prints to the terminal.
Comparing against GitHub Copilot instead? See "GitHub Copilot support" below -- it needs two more environment variables than Cursor/Claude Code do, for reasons that are worth reading before you point it at a real org.
Both CLIs accept the same comparison flags (--tools, --before, --after, --json, --before-csv, --after-csv, --breakdown, --help/-h, --version/-V) and print the same output shape. See the Commands section below for the full flag reference, python/README.md for the Python package's library API, and docs/getting-started.md for the full guide covering both distributions.
A tool that touches your team's spend and email data should earn that trust in the open. Here's what's actually true about this codebase, checked on every commit, not asserted in a marketing paragraph:
| Runtime dependencies | Zero |
| Package size | 56.8 kB packed, 193.1 kB unpacked |
| Cold install to first response | Under 1 second, measured with a cleared npm/npx cache |
| Tests | 102 passing (npm), 116 passing (PyPI), 97% line coverage on the TypeScript suite |
| Known vulnerabilities | Zero, per npm audit |
| File permissions | Report files are owner-only (0600) and auto-gitignored, since they hold per-user emails and spend |
date,user_email,cost_usd,is_estimated 2025-11-01,jane@example.com,12.50,false
npx teamspend-cli --tools cursor,claude-code --before 2025-11-01:2025-11-30 --after 2026-06-01:2026-06-30 --before-csv ./before.csv
export TEAMSPEND_COPILOT_TOKEN= export TEAMSPEND_COPILOT_ORG= export TEAMSPEND_COPILOT_SEAT_PRICE_USD=19 # optional, see below
npx teamspend-cli --tools cursor,copilot --before 2026-04-01:2026-04-30 --after 2026-06-01:2026-06-30
Credential: TEAMSPEND_COPILOT_TOKEN needs the read:org scope (a classic PAT) or the fine-grained "View Organization Copilot Metrics" permission, and the org must be on Copilot Business or Enterprise. TEAMSPEND_COPILOT_ORG is required too -- unlike Cursor's and Claude Code's admin APIs, GitHub's Copilot metrics endpoint is scoped to a specific org login in the URL path itself, not just the token.
How teamspend derives a dollar figure, honestly: GitHub's real, current Copilot usage metrics API (GET /orgs/{org}/copilot/metrics/reports/ users-1-day, confirmed against GitHub's own docs while building this -- the older /orgs/{org}/copilot/metrics endpoint some other tools still reference was sunset by GitHub on 2026-04-02 and no longer works) has no cost or spend field anywhere. Copilot Business/Enterprise is flat-seat billing ($19 or $39 per seat per month, bundling a matching monthly AI-credit allowance), and GitHub does not expose an org's actual contracted seat price through any API -- the same structural gap Cursor's and Claude Code's flat-seat billing tiers already have in this tool.
What the API *does* return per user is ai_credits_used. teamspend converts that to USD at GitHub's own published, fixed rate of 1 AI credit = $0.01 USD -- not invented, and not a negotiated per-org price. If you set TEAMSPEND_COPILOT_SEAT_PRICE_USD, that flat price is added once per active user for the whole comparison window (never once per day) to also reflect the license cost the credits-only figure excludes; if you don't set it, the reported number is credits-usage cost only and explicitly does not include the seat fee.
Because there is no vendor-reported cost field to begin with, every Copilot result -- with or without a seat price -- is marked isEstimated: true. This is a stronger caveat than Cursor's and Claude Code's suspicious-zero flag, which only fires on a specific zero-cost pattern: Copilot has no native dollar figure to trust in the first place, so teamspend never claims one. See docs/concepts.md for the full mechanics, including why one comparison window means one API call per calendar day rather than one call for the whole range.
OpenCode (formerly sst/opencode) has no admin, team, or billing API at all -- it's a local CLI with no organization-level usage endpoint, confirmed against its own README. There is nothing for TEAMSPEND_OPENCODE_TOKEN to authenticate, so it doesn't exist; teamspend instead reads OpenCode's own local session logs directly off disk (~/.local/share/opencode/storage/message/, or $OPENCODE_DATA_DIR if set), the same file format OpenCode itself writes and that [ccusage's OpenCode guide](https://ccusage.com/guide/openc
ตัดมาแค่ช่วงต้น อ่านต่อใน repo