Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Safe Google Workspace admin for AI agents: read-only by default, confirm-gated deletes, audit log.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผู้ทำยังไม่ได้ใส่วิธีติดตั้งใน registry ให้ดู README ของผู้ทำด้านล่าง
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub antct11 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.3.0) เข้า registry 3 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, MCP Server Autocad Lisp Helper
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.
High-precision static analysis and debug server for AutoCAD AutoLISP (.lsp) files.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A local Model Context Protocol (MCP) server that gives your AI agent (Cursor, Claude Desktop, or any MCP client) a safe Google Workspace admin console. It talks to the Admin SDK (Directory, Reports, Groups Settings) through a service account with domain-wide delegation, so the agent can answer questions like "which users haven't logged in for 90 days?" or "who is in the Finance group?" — and, only when you explicitly allow it, make changes.
MCP client ──stdio──► gws-admin-mcp ──service account JWT (impersonates an admin)──► admin.googleapis.com / groupssettings.googleapis.com
Runs entirely on your machine. No third-party service, no telemetry, no data leaves your laptop except the Google API calls themselves.
This server assumes the agent driving it is fallible. Three layers:
--allow-write (or GWS_ADMIN_ALLOW_WRITE=1).users_delete, groups_delete, orgunits_delete, role_assignment_delete, mobile device *wipe* actions, and ChromeOS *deprovision* — are refused unless the call includes "confirm": true. The agent has to make the destructive intent explicit a second time.~/.config/gws-admin-mcp/audit.log (mode 600), with passwords and secrets redacted. Disable with GWS_ADMIN_AUDIT=0 if you must.Recommended pattern: run the read-only instance permanently, and start a second, write-enabled instance only for the duration of a change window.
| Area | Read-only tools | Write tools (require --allow-write) |
|---|---|---|
| Users | users_list, users_get | users_create, users_update, users_suspend, users_unsuspend, users_reset_password, users_make_admin, users_move_ou, users_delete* |
| Groups | groups_list, groups_get, groups_list_members | groups_create, groups_update, groups_delete*, groups_add_member, groups_remove_member, groups_update_member |
| Org units | orgunits_list, orgunits_get | orgunits_create, orgunits_update, orgunits_delete* |
| Roles | roles_list, role_assignments_list | role_assignment_create, role_assignment_delete* |
| Domains / customer | domains_list, customer_get | — |
| Devices | devices_list_mobile, devices_list_chromeos | devices_action_mobile*, devices_action_chromeos*, devices_move_chromeos |
| Reports | reports_activities (audit log), reports_usage_user, reports_usage_customer | — |
| Group settings | groupsettings_get | groupsettings_update |
\* Destructive — additionally requires "confirm": true in the call (device tools only for wipe/deprovision actions).
List tools auto-paginate up to a maxResults cap, and users_list supports the full Admin SDK search syntax (orgUnitPath='/Sales', isAdmin=true, email:jdoe*, ...).
You need a service account whose key the server uses to impersonate a Workspace super-admin. Two paths:
gcloud)gcloud auth login admin@yourdomain.com
scripts/setup-service-account.sh admin@yourdomain.com your-project-id
The script creates/reuses the project, enables the Admin SDK + Groups Settings APIs, creates the service account, writes the key and config to ~/.config/gws-admin-mcp/, and prints the client ID + scope string for the final manual step (step 5 below — Google provides no API for that part).
~/.config/gws-admin-mcp/service-account.json with chmod 600.https://www.googleapis.com/auth/admin.directory.user,https://www.googleapis.com/auth/admin.directory.group,https://www.googleapis.com/auth/admin.directory.group.member,https://www.googleapis.com/auth/admin.directory.orgunit,https://www.googleapis.com/auth/admin.directory.rolemanagement,https://www.googleapis.com/auth/admin.directory.domain.readonly,https://www.googleapis.com/auth/admin.directory.customer.readonly,https://www.googleapis.com/auth/admin.directory.device.mobile,https://www.googleapis.com/auth/admin.directory.device.chromeos,https://www.googleapis.com/auth/admin.reports.audit.readonly,https://www.googleapis.com/auth/admin.reports.usage.readonly,https://www.googleapis.com/auth/apps.groups.settings
~/.config/gws-admin-mcp/config.json:{
"delegatedAdmin": "admin@yourdomain.com", "customerId": "my_customer" }
delegatedAdmin must be a super-admin of the domain. my_customer resolves to that admin's own organization.
Environment variables override the config files: GOOGLE_SA_KEY (key path), DELEGATED_ADMIN, CUSTOMER_ID, GWS_ADMIN_CONFIG_DIR (alternate config directory). See .env.example.
npm install
npm run build node dist/cli.js doctor
doctor checks the key, mints a delegated token, and runs sample reads against users, domains, roles, and the audit reports API. All four should say PASS. Then optionally:
npm run smoke # spawns the real server over stdio, checks tool registration + live reads
~/.cursor/mcp.json)Read-only — the recommended default:
{
"mcpServers": { "gws-admin": { "command": "node", "args": ["/ABSOLUTE/PATH/TO/gws-admin-mcp/dist/cli.js", "serve"] } } }
Write-enabled (use deliberately, ideally as a second entry you toggle on):
{
"mcpServers": { "gws-admin-write": { "command": "node", "args": ["/ABSOLUTE/PATH/TO/gws-admin-mcp/dist/cli.js", "serve", "--allow-write"] } } }
claude_desktop_config.json)macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": { "gws-admin": { "command": "node", "args": ["/ABSOLUTE/PATH/TO/gws-admin-mcp/dist/cli.js", "serve"] } } }
Restart the client after editing. You should see the gws-admin server with 17 tools (read-only) or 40 (write-enabled).
| Symptom | Cause / fix |
|---|---|
unauthorized_client when minting a token | The domain-wide delegation grant is missing, uses the wrong client ID, or its scope list doesn't cover every scope the server requests. Re-paste the full scope string from above against the SA's OAuth2 client ID. Grants can take a few minutes to propagate. |
Service-account key not found at ... | Put the JSON key at ~/.config/gws-admin-mcp/service-account.json or set GOOGLE_SA_KEY to its path. |
DELEGATED_ADMIN ... is not set | Add delegatedAdmin to config.json or set the DELEGATED_ADMIN env var. |
403 Not Authorized to access this resource/api | The impersonated user is not a super-admin, or the Admin SDK API isn't enabled in the Cloud project. |
404 from Groups Settings calls | The *Groups Settings API* isn't enabled in the project (it's separate from the Admin SDK). |
| Write tools don't appear in the client | Working as intended — start the server with --allow-write or GWS_ADMIN_ALLOW_WRITE=1. |
A delete/wipe call returns Refused: ... destructive/irreversible | Working as intended — re-issue the call with "confirm": true. |
| Client shows the server as failed on startup | Run node dist/cli.js doctor in a terminal; it prints the exact failing check. Also confirm the args path in your MCP config is absolute. |
service-account.json like a domain-admin password: keep it out of git (this repo's .gitignore already excludes key files, .env, and config.json), keep it chmod 600, and rotate it periodically.This repository is source-available, not open source: the code is public so you can read and audit every line before trusting it with a super-admin credential, but *using* it requires a license.
gws-admin-mcp.See LICENSE for the exact terms (no redistribution, no offering it as a hosted service).