Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
SignUpGenius for Claude — sign-ups, slots, groups, and RSVPs. Free accounts or Pro API key.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
SIGNUPGENIUS_EMAIL, SIGNUPGENIUS_PASSWORD, SIGNUPGENIUS_USER_KEY, SIGNUPGENIUS_NAME, SIGNUPGENIUS_BASE_URL, SIGNUPGENIUS_LEGACY_BASE_URL, SIGNUPGENIUS_LOGIN_URL, SIGNUPGENIUS_DISABLE_FETCHPROXY, SIGNUPGENIUS_SESSION_CACHE, SIGNUPGENIUS_SESSION_FILE, FETCHPROXY_WS_PORT, FETCHPROXY_WS_HOST, FETCHPROXY_IDENTITY_DIRค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"signupgenius": {
"command": "npx",
"args": [
"-y",
"signupgenius-mcp"
],
"env": {
"SIGNUPGENIUS_EMAIL": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_PASSWORD": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_USER_KEY": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_NAME": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_BASE_URL": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_LEGACY_BASE_URL": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_LOGIN_URL": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_DISABLE_FETCHPROXY": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_SESSION_CACHE": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_SESSION_FILE": "ใส่ค่าของคุณ",
"FETCHPROXY_WS_PORT": "ใส่ค่าของคุณ",
"FETCHPROXY_WS_HOST": "ใส่ค่าของคุณ",
"FETCHPROXY_IDENTITY_DIR": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add signupgenius --env SIGNUPGENIUS_EMAIL='ใส่ค่าของคุณ' --env SIGNUPGENIUS_PASSWORD='ใส่ค่าของคุณ' --env SIGNUPGENIUS_USER_KEY='ใส่ค่าของคุณ' --env SIGNUPGENIUS_NAME='ใส่ค่าของคุณ' --env SIGNUPGENIUS_BASE_URL='ใส่ค่าของคุณ' --env SIGNUPGENIUS_LEGACY_BASE_URL='ใส่ค่าของคุณ' --env SIGNUPGENIUS_LOGIN_URL='ใส่ค่าของคุณ' --env SIGNUPGENIUS_DISABLE_FETCHPROXY='ใส่ค่าของคุณ' --env SIGNUPGENIUS_SESSION_CACHE='ใส่ค่าของคุณ' --env SIGNUPGENIUS_SESSION_FILE='ใส่ค่าของคุณ' --env FETCHPROXY_WS_PORT='ใส่ค่าของคุณ' --env FETCHPROXY_WS_HOST='ใส่ค่าของคุณ' --env FETCHPROXY_IDENTITY_DIR='ใส่ค่าของคุณ' -- npx -y signupgenius-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"signupgenius": {
"command": "npx",
"args": [
"-y",
"signupgenius-mcp"
],
"env": {
"SIGNUPGENIUS_EMAIL": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_PASSWORD": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_USER_KEY": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_NAME": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_BASE_URL": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_LEGACY_BASE_URL": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_LOGIN_URL": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_DISABLE_FETCHPROXY": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_SESSION_CACHE": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_SESSION_FILE": "ใส่ค่าของคุณ",
"FETCHPROXY_WS_PORT": "ใส่ค่าของคุณ",
"FETCHPROXY_WS_HOST": "ใส่ค่าของคุณ",
"FETCHPROXY_IDENTITY_DIR": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"signupgenius": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"signupgenius-mcp"
],
"env": {
"SIGNUPGENIUS_EMAIL": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_PASSWORD": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_USER_KEY": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_NAME": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_BASE_URL": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_LEGACY_BASE_URL": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_LOGIN_URL": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_DISABLE_FETCHPROXY": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_SESSION_CACHE": "ใส่ค่าของคุณ",
"SIGNUPGENIUS_SESSION_FILE": "ใส่ค่าของคุณ",
"FETCHPROXY_WS_PORT": "ใส่ค่าของคุณ",
"FETCHPROXY_WS_HOST": "ใส่ค่าของคุณ",
"FETCHPROXY_IDENTITY_DIR": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
SIGNUPGENIUS_EMAIL envSIGNUPGENIUS_NAME envSIGNUPGENIUS_BASE_URL envSIGNUPGENIUS_LEGACY_BASE_URL envSIGNUPGENIUS_LOGIN_URL envSIGNUPGENIUS_DISABLE_FETCHPROXY envSIGNUPGENIUS_SESSION_CACHE envSIGNUPGENIUS_SESSION_FILE envFETCHPROXY_WS_PORT envFETCHPROXY_WS_HOST envFETCHPROXY_IDENTITY_DIR envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub chrischall ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: SIGNUPGENIUS_PASSWORD, SIGNUPGENIUS_USER_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (2.2.0) เข้า registry 4 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, awardlanes
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.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
MCP server for SignUpGenius. 15 read tools and 4 write across profile, groups, sign-ups, reports, public sign-up metadata, slot listings, RSVPs, and slot claim/release.
Reading a sign-up needs no credentials at all: signupgenius_get_public_signup (title, description, organizer, required questions) and signupgenius_list_slots (dates, times, locations, capacity, who has signed up and how many spots each entry takes) work on any public sheet, including ones you did not create. The two slot writes — signupgenius_claim_slot and signupgenius_release_slot — need a signed-in session and, like signupgenius_rsvp and signupgenius_add_group_member, never write on the first call: a client that supports MCP elicitation gets a confirmation prompt (unless MCP_CONFIRM_ELICITATION=off); otherwise the first call returns a preview and a single-use confirmToken bound to that exact write, and only a repeat call with the same arguments plus the token submits. MCP_CONFIRM_MODE (ask-user default, auto, refuse) tunes this. Set MCP_CONFIRM_ELICITATION=off for a client that says it supports elicitation but never shows the prompt (the write hangs — opencode 2.0.x); every client then gets the preview-and-token flow. Any other value stays on, with a warning on stderr.
signupgenius_claim_slot and signupgenius_rsvp sign up as the signed-in account by default: leave firstname, lastname and email out and they are read from your profile (the same call signupgenius_get_profile makes). Pass them only to sign up someone else, such as a family member. That is allowed, but the preview then carries identityDiffersFromAccount: true and an identityNote naming both identities, because the entry is still tied to your account. Every preview shows the identity under identity, with source set to account, supplied or mixed. The confirm token is bound to the resolved identity, so a preview approved for one person can't submit as another.
Three auth modes (tried in this priority order — first match wins):
accessToken / cfid / cftoken cookies once at startup from your already-signed-in signupgenius.com tab via the ContextMint Bridge browser extension (built on fetchproxy). After that one read, all SignUpGenius API calls go directly from Node — the extension is not in the request hot path. Install the extension once (see fetchproxy fallback below), sign into SignUpGenius, and the MCP just works.Set SIGNUPGENIUS_DISABLE_FETCHPROXY=1 to opt out of the fallback (turns missing credentials into a hard error — useful in headless CI).
| Domain | Tools | Mode |
|---|---|---|
| Profile | signupgenius_get_profile | both |
| Groups | signupgenius_list_groups, signupgenius_list_group_members, signupgenius_get_group_member, signupgenius_add_group_member (write) | both |
| Sign-ups | signupgenius_list_created_active, _expired, _all, signupgenius_list_invited, signupgenius_list_signedupfor | both |
| Sign-ups (extras) | signupgenius_legacy_get_my_signups | session only |
| Reports | signupgenius_report_all, signupgenius_report_filled, signupgenius_report_available | key only |
Notes on session-mode sign-up listings: the v3 endpoints signups/created, signups/invited, and signups/signedupfor return the full list in one paginated call (no separate active/expired URLs). The three signupgenius_list_created_* tools all map to the same endpoint in session mode; filter by enddate client-side. The bonus signupgenius_legacy_get_my_signups calls the same backend the SignUpGenius wizard itself uses and sometimes returns fuller data.
Reports outside key mode fail fast with a KeyModeRequiredError naming the tool, the mode required and the mode in effect, telling the user to set SIGNUPGENIUS_USER_KEY — and pointing at signupgenius_list_slots, which answers slot availability for any sheet with no auth at all.
SIGNUPGENIUS_EMAIL=you@example.com
SIGNUPGENIUS_PASSWORD=your-password SIGNUPGENIUS_NAME=Family # optional, log label only
The server logs into signupgenius.com on first request, caches the JWT and session cookies, and silently re-logs in on a 401. Treat .env like a password file — it's gitignored here, do not commit.
Direct email/password accounts only. Won't work with Google/Apple/Facebook/Microsoft SSO or 2FA, same caveat as similar sibling MCPs.
SIGNUPGENIUS_USER_KEY=your-api-key
SIGNUPGENIUS_NAME=PTA Org # optional
Find the user key in SignUpGenius under Pro Tools → API Management.
Install the ContextMint Bridge browser extension from its releases page (Chrome: download the chrome zip, unzip it and load it unpacked at chrome://extensions with Developer mode on. Safari isn't available yet — it will ship inside the ContextMint app, which has no public download — so use Chrome for now), sign into signupgenius.com, and remove the env block from your MCP config. The MCP reads accessToken / cfid / cftoken cookies once at startup and uses them like a session-mode login. No password copy-paste required.
ContextMint Bridge is the fetchproxy browser extension under its new name, from the same maintainer — fetchproxy's own README points to it. Its source is public at nullnet-app/contextmint-bridge: build it yourself, or check a release zip against the .sha256 file published beside it (shasum -a 256 -c contextmint-bridge-chrome- .zip.sha256).
The slot REPORT tools still require Pro key mode — SIGNUPGENIUS_USER_KEY is the only path that hits the documented v2/k Pro API. They are also owner-scoped, so they only answer for sheets the key holder created; for availability and participants on anyone's sheet use signupgenius_list_slots, which needs no auth.
Set both Pro key and email/password. Key mode wins. Useful if you have Pro for some accounts and want reports while still using your normal login elsewhere.
| Env var | Default | Purpose |
|---|
| SIGNUPGENIUS_BASE_URL | key: https://api.signupgenius.com/v2/k session: https://api.signupgenius.com/v3 | Override the JSON API base. | | SIGNUPGENIUS_LEGACY_BASE_URL | https://www.signupgenius.com | Override the host for /SUGboxAPI.cfm?go=… legacy calls. | | SIGNUPGENIUS_LOGIN_URL | https://www.signupgenius.com | Override the login form host. | | SIGNUPGENIUS_DISABLE_FETCHPROXY | unset | Set to 1 to skip the fetchproxy fallback (missing creds become a hard error). |
SignUpGenius's terms generally prohibit scripted/automated access. Session mode is "your own account, your own risk" — fine for personal automation but not something you should run at scale or on accounts you don't own.
npm install
npm run build npm test
Point an MCP host at dist/bundle.js with the env vars above, or run npm run dev after creating a .env.
Tests: vitest, 100% line/branch/function coverage. End-to-end tests against the SignUpGenius API are not in CI by design — running them requires real credentials.
user_key query param. The session API uses a JWT Bearer + session cookie. The client picks the right one based on which env vars you set.{ data, message, success } (lowercase) regardless of which surface served the request — the legacy SUGboxAPI dispatcher's uppercase envelope is rewritten internally.signupgenius_healthcheck reports the credential in use as credential.source, one of api key, email/password session, fetchproxy session, or (auth not configured) (e.g. session (auth not configured)) when auth setup was deferred. Changed in 2.1.9: an email/password login used to report fetchproxy session, and a deferred config used to report fetchproxy session or api key. Update anything that matches on the old strings.V0FzMkxZcmVOZlVnclZMVEl6dGhWQT09.Developed and maintained by AI (Claude). Use at your own discretion.
By using this MCP server, you acknowledge and agree to the following:
1. This server accesses your own SignUpGenius account. Auth happens via your own credentials. It does not — and cannot — access anyone else's account or signups.
2. [SignUpGenius's Terms of Service](https://www.signupgenius.com/terms-of-service) govern your use of this server, just as they govern your direct use of signupgenius.com. The clauses most relevant here:
Users may not bypass any robot exclusion headers or other measures we take to restrict access to the Services or use any software, technology, or device to scrape, spider, or crawl the Services.
And: *"You are responsible for maintaining the confidentiality of your account user name and password… You agree to accept responsibility for any and all activities or actions that occur in connection with your User Credentials."*
You are agreeing to those terms — read by the maintainer 2026-05-23 — every time you invoke a tool in this server. Notably, SignUpGenius does offer an official API for paid plans; where possible, prefer the official API over the endpoints this MCP exercises.
3. Personal, organizer/participant use only. This project is not affiliated with, endorsed by, sponsored by, or in partnership with SignUpGenius, Inc. It is a personal automation tool for an authenticated user to manage their own signups and groups. Do not use it to scrape other organizers' signups, spam participants, or bulk-add fake group members.
4. Stability is not guaranteed. This server may call internal endpoints that SignUpGenius can change without notice. If a tool here breaks, the canonical fix is to use the official API where available.
5. You accept full responsibility for any consequences of using this server in connection with your SignUpGenius account — rate limiting, account warnings, suspension, or any enforcement action. Per the ToS, everything done under your credentials is attributed to you. If SignUpGenius objects to your use, stop using this server.
This section is the maintainer's good-faith summary of the terms — it is not legal advice and does not modify or supersede SignUpGenius's actual ToS.