私人 AI
助理員工
您的專屬 Node.js MCP 助理,配備 - 個 Skill 與 - 個工具,隨時準備好處理檔案、操作資料庫與執行 PHP 任務。
Quick Stats
這個 MCP 伺服器能幫你做什麼?
這是您的專屬開發助理。我可以直接讀寫您的專案目錄、連線資料庫執行 SQL、操作 Docker、打包部署,甚至是自動化整理文件與書籤。
您可以直接在對話中提出需求,或者參考下方的 快速指令 (Snippets) 來啟動特定的工作流程。
/php_crud_generator [資料表名稱]
/axshare_spec_index [網址或本地路徑]
/db_schema_designer [業務描述]
/full_deploy
Installation
Windows · PowerShell · Node.js 18+ · 前置需求:Git for Windows、Claude Code CLI
git clone <repo-url> MCP_NodeServer cd MCP_NodeServer
cp .env.example .env # 用編輯器開啟 .env
CLAUDE_TOKEN_FEEDBACK=passive # 或 active
CLAUDE_HOOK_DEBUG=0 # 設 1 開啟除錯
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned .setup.ps1
✓ npm install
✓ 複製 Hooks 到
~/.claude/hooks/✓ 登記 Hooks 到
settings.json✓ 部署 Skills(
deploy-commands.bat)✓ Playwright MCP 權限設定
✓ 同步全域 CLAUDE.md
Ctrl+Shift+P → Restart MCP Server
完整步驟說明 → Workflows → MCP Server 安裝
🛠️ 專案初始化與環境配置 Project Bootstrap
當開始一個新專案時,遵循此標準化流程建立基礎架構、環境變數與 AI 專案地圖,確保後續開發能享有完整的工具鏈與 context 保護。
· Claude 每次對話都是全新 context —
CLAUDE.md 和 codemap.md 是讓 Claude 「秒懂專案」的關鍵文件· 沒有
.gitignore 就可能把 .env、DB 密碼推上 Git — 初始化時攔截· 沒有 codemap 的大型專案,Claude 每次都要 Grep 探索,浪費大量 token
· 移植案需要 AxShare 規格書索引,否則後續 QC 沒有「黃金標準」可比對
·
/gitignore_setup — 每個專案都需要·
/project_claudemd — 每個專案都需要·
/update_codemaps — 中大型專案強烈建議
·
/axshare_spec_index — 僅移植案需要·
/db_schema_designer — 有新 DB 需求時·
/docker_setup — 需要本地容器環境時
-
初步環境設置GIT INIT
初始化 Git 並建立 .gitignore,排除機敏資訊與建置產出,確保版本控制的純潔性。
自動產生並更新 .gitignore 規則 /gitignore_setup -
建立 AI 專案地標CLAUDE.MD SETUP
建立專案核心文件 CLAUDE.md,讓 Claude 能快速理解專案架構、開發規範與關鍵路徑,縮短進入狀況的時間。
產生專案核心指南 CLAUDE.md /project_claudemd -
建立架構地圖CODEMAP
產生專案目錄結構圖與關鍵檔案說明 (Codemaps),幫助 AI 在大型專案中快速定位,並節省 token 消耗。
產生 codemap.md 地圖 /update_codemaps -
建置本地開發環境LOCAL ENVIRONMENT
根據專案需求啟動所需的 Docker 容器(如 MySQL, Redis)與 Node.js 服務自動啟動配置。
A. Docker 環境初始化與映射 /docker_setupB. Node.js 背景服務自動啟動 /windows_node_autostart -
建立規格與開發索引SPEC SNAPSHOT
針對移植專案,建立 AxShare 規格書索引與現行系統邏輯快照,作為後續比對與 QC 的「黃金標準」。
爬取並建立規格書索引 /axshare_spec_index -
資料庫初步規劃DATABASE DESIGN
根據需求設計初步的資料庫 Schema,為開發模組建立地基。
設計資料庫架構與產生 SQL /db_schema_designer -
制定開發時程SPRINT PLANNING
將大需求拆解為可執行的 Sprint 與任務,並標註優先序與風險熱區。
制定 SPRINT 開發計畫 /sprint_plan
MCP Server 安裝 · Windows Setup Guide
在 Windows 環境(Git Bash + Node.js)首次安裝 MCP_NodeServer,讓 Claude Code 取得完整工具能力與 Hook 防護。
前置需求
· Node.js 18+(
node -v 確認)· Git for Windows(含 Git Bash)
· Claude Code CLI(
claude --version 確認)
· Docker Desktop — Python 工具 (
run_python_script)· GitHub CLI (
gh) — PR / Issue 操作· Flyway CLI — DB migration 工具
-
① Clone & Install取得程式碼與安裝套件git clone <repo-url> MCP_NodeServer
cd MCP_NodeServer
npm install -
② 建立 .env設定本機環境變數cp .env.example .env
# 用編輯器開啟 .env,依本機環境調整變數 預設值 說明 MCP_BASE_PATHS D:\Project\ MCP 工具可存取的根目錄,逗號分隔多個 CLAUDE_HOOK_DEBUG 0 設 1 開啟 [hook-debug] 除錯輸出 CLAUDE_TOKEN_FEEDBACK passive active=逐次提醒 / passive=每 N 次摘要 CLAUDE_SUMMARY_INTERVAL 25 passive 模式每幾次 tool call 輸出摘要 CLAUDE_SLACK_WEBHOOK (空) Hook block 事件 Slack 通知(選填) -
③ 複製 Hooks將 Hook 腳本部署到 Claude Codemkdir -p ~/.claude/hooks
cp hooks/*.js ~/.claude/hooks/
cp hooks/*.cjs ~/.claude/hooks/
cp hooks/skill-keywords.json ~/.claude/hooks/包含:
session-start.js·pre-compact.js·repetition-detector.js·write-guard.js·user-prompt-guard.js·skill-router.js·llm-judge.js·register_hooks.cjs·skill-keywords.json -
④ 登記 Hooks寫入 settings.jsonnode hooks/register_hooks.cjs
自動補齊
~/.claude/settings.json的 hooks 區段(SessionStart / PreCompact / PreToolUse / PostToolUse / Stop)。冪等,重複執行安全。 -
⑤ 部署 Skills斜線指令部署到 Claude Code# Git Bash
bash deploy-commands.sh
# 或 CMD / PowerShell
deploy-commands.bat將
Skills/commands/**/*.md(排除_internal/、*_steps.md)平坦複製到~/.claude/commands/。 -
⑥ 確認 .mcp.jsonMCP Server 連線設定
確認專案根目錄的
.mcp.json存在且command路徑指向本機 node / index.js。Claude Code 啟動時自動讀取此檔。cat .mcp.json -
⑦ 重啟 Claude Code套用所有設定# VS Code Extension
Ctrl+Shift+P → Restart MCP Server
# 或直接重啟 Claude Code 視窗
安裝後驗證
/harness_audit → 確認工具數量、Hooks 登記、Skills 部署狀態全數通過· 之後每次 git pull → 執行
/mcp_pull_sync 同步更新· 確認
MCP_BASE_PATHS 包含你的開發目錄,否則檔案工具會 permission denied
Git Bash PATH 補充(選用)
~/.bashrc 加入:
專案開發流程 · PHP Pipeline
從規格分析到交付驗收的標準 7 步驟,每一步都有對應的 Skill 自動化執行,依序走完即達成高品質交付。
· 每一步的產出是下一步的輸入:規格書索引 → 開發計畫 → DB Schema → CRUD 模組 → 測試 → 驗收
· 測試不是最後才做 — 前台開發階段就用
/frontend_qc 即時比對,避免累積到最後爆量修改· 步驟 ①②③ 是「規劃期」(不寫 code),④⑤ 是「開發期」,⑥⑦ 是「品保期」
· 每個步驟都可獨立執行,不一定要從頭走 — 接手既有專案可從 ④ 開始
· 全新 PHP 專案從零開始
· 既有系統移植(舊系統 → 新架構)
· AxShare 規格書驅動的案子
· 規格書變更後,要重跑
/axshare_spec_index 更新索引· DB Schema 改動後記得跑
/db_migration 同步遠端· 驗收階段的
/project_qc 會用 Playwright 實際走訪,需較長執行時間
-
① 規格分析SPEC ANALYSIS
深入解析業務邏輯與介面需求。
-
② 時程規劃SPRINT PLANNING
建立專案全景心智模型,拆解任務清單並規劃開發時程。
1. 建立全景心智模型 /task_map2. 制定開發時程 /sprint_plan -
③ DB 設計DB DESIGN
規劃關聯架構與數據索引優化。
1. 設計資料庫結構 /db_schema_designer2. Schema 遷移 /db_migration -
④ 後台開發BACKEND DEV
生成 CRUD 模組與實作核心 API。
-
⑤ 前台開發FRONTEND DEV
實作前台頁面與互動邏輯,並即時 QC 確保 UI 符合設計稿。
1. 前台功能開發 /sadd2. 前台逐頁 QC /frontend_qc -
⑥ 測試TESTING
執行自動化測試與邏輯驗證。
A. 後台邏輯 /php_crud_testB. UI 行為 /playwright_ui_testC. RWD /rwd_scan全站 QC 彙整 /project_qc提交前驗證 /verify -
⑦ 驗收ACCEPTANCE
最終規格比對與設計複驗。
部署流程 · Deployment Pipeline
從本機開發完成到推上測試機的標準流程,包含安全閘門、程式上傳、DB 遷移與驗證。
· 部署目標是 SFTP 測試機(非 Git-based deploy),適用於傳統 PHP 主機環境
· 部署前必須跑
/remote_diff 安全閘 — 比對本機 vs 遠端差異,避免覆蓋同事直接在遠端修改的檔案· DB 遷移支援兩種模式:直連 MySQL 或 SFTP 上傳 PHP 腳本間接執行(無法直連 DB 的主機用)
· 環境設定檔(DB 連線、
.env)會被 SFTP 部署自動跳過,不會覆蓋遠端設定
-
① 安全閘門SAFETY GATE
比對本機 Git 與遠端 SFTP 差異,找出同事直接在遠端修改的檔案,避免覆蓋。
本機 vs 遠端差異檢查 /remote_diff -
② 程式部署CODE UPLOAD
透過 SFTP 上傳變更的檔案到測試機,自動跳過環境設定檔。
SFTP 檔案上傳 /sftp_deploy -
③ DB 遷移DB MIGRATION
執行 Schema 變更。直連 DB 或透過 SFTP 上傳 PHP 腳本間接執行。
A. 直連 DB /db_migrationB. 間接(無法直連) /remote_db_exec -
④ 驗證SMOKE TEST
部署後用 Playwright 走訪關鍵頁面,確認主幹功能正常。
黃金路徑煙霧測試 /e2e_golden_path
/full_deploy
— 一鍵執行上述全部步驟(安全閘 → 上傳 → DB 遷移 → 驗證)
MCP Server 自檢 · MCP Health Check Pipeline
確保 MCP 工具鏈完整可用、Skills 同步、Dashboard 資訊一致。
· 新增或修改 MCP 工具模組後(確認 index.js 註冊正確、工具能載入)
· 新增或修改 Skill MD 後(確認已部署到
~/.claude/commands/、dashboard 已同步)· 更新 npm 套件後(確認無 breaking change 導致工具異常)
· 感覺「某個工具怎麼叫不出來」的時候
-
① Skill 審計SKILL AUDIT
掃描所有 Skill MD,檢查耦合與重疊、frontmatter 格式、部署狀態,建議合併或淘汰。
Skills 完整性與品質 /skill_audit -
② 工具鏈審計HARNESS AUDIT
檢查 MCP 工具模組載入、settings.json 權限、Hooks 設定、Dashboard 數字一致性。
MCP 環境完整性 /harness_audit -
③ 設定整理SETTINGS CLEANUP
清理 settings.json 的冗餘權限規則(選用,權限規則累積過多時執行)。
權限規則瘦身 /settings_cleanup
Hook 偵測架構 · 8 Layer Detection
每次工具呼叫都會經過 repetition-detector.js 的 8 層過濾。各層獨立判斷,觸發後輸出提醒或阻擋。
| 層級 | ID | 觸發條件 | 行為 |
|---|---|---|---|
| L1 | bash_wrong_tool | Bash 做有專用工具的事(docker mysql、cat/grep/find 等) | ⚠️ 警告(部分 block) |
| L2 | bash_pattern_repeat | Bash 模式重複 2+ 次 | ⚠️ 警告 |
| L2.5 | grep_scatter_search | Grep 散搜 3+ 不同路徑 | 🧠 強制注入記憶 |
| L2.6 | grep_read_alternation | Grep↔Read 交替 3+ 次 | ⚠️ 提醒改用高效工具 |
| L3 | same_category_repeat | 同類操作 3+ 次 | ⚠️ 警告(7+ 次 block) |
| L4 | uncommitted_accumulation | 修改 15+ 檔案未 commit | ℹ️ 提醒(大 commit 流程) |
| L5 | token_waste_detection | 8 種低效模式(重複讀檔、無過濾 Grep、頻繁截圖等) | 💰 active=逐次提醒 / passive=每 N 次摘要 |
| L6 | auto_fix_suggestion | sed/awk 可自動化操作 | ✨ 生成修復建議 |
CLAUDE_TOKEN_FEEDBACK=passive(active=逐次、passive=每 N 次摘要)·
CLAUDE_SUMMARY_INTERVAL=25(passive 模式每幾次 tool call 輸出一次)·
CLAUDE_HOOK_DEBUG=0(設 1 開啟 [hook-debug] 標籤輸出)
Hook 投訴系統 · Complaint Pipeline
任何專案被
repetition-detector block→ 自動寫入
~/.claude/hook-complaints.jsonl→ stderr 顯示阻擋原因(使用者可見)
→ stdout 提示「已記錄,到 MCP_Server 用
/hook_complaints 審查」2. 開機提醒
任何專案 session-start 偵測到 pending 投訴
→ MCP_Server 專案:顯示最近 5 筆詳情表格
→ 其他專案:簡短提醒「有 N 筆投訴待處理」
3. 審查處理
在 MCP_Server 執行
/hook_complaints→ 列出所有 pending 投訴,分析重複模式
→ 建議調整(放寬閾值 / 新增 pattern / 合理阻擋)
→ 修改 hook 規則 + 標記 resolved
投訴紀錄格式:每行一筆 JSON(ts, project, tool, pattern, message, status)
status: pending → resolved | dismissed
記憶生命週期 · Memory Lifecycle
Claude 的記憶不是自動累積的 — 需要主動收割、定期審計、跨機器同步,才能讓每次對話都站在上次的肩膀上。
· 記憶存放於
~/.claude/projects/{project}/memory/,每個專案獨立·
MEMORY.md 是索引檔(< 200 行),每次對話自動載入,指向各主題 MD 檔· 分四類:user(使用者偏好)、feedback(操作回饋)、project(專案知識)、reference(外部連結)
· 記憶只存「結論」不存「過程」— 寫「X 情況下應該用 Y 方法」,不寫對話流水帳
· 記憶會過期 — project 類型變動最快,feedback 最持久
Hook × Memory 自動化觸發
→ 載入
MEMORY.md 索引,注入本次對話 system-reminder→ 偵測
hook-complaints.jsonl 中的 pending 投訴,提醒數量→ 讀取上次
pre-compact.js 存的快照(context 摘要)PreCompact(pre-compact.js)
→ context 壓縮前自動存快照到
memory/snapshots/→ 偵測對話中的踩坑紀錄,提示是否要存入 memory
Stop(session-stop.js)
→ 對話結束時提醒執行
/retro 收割記憶(若有值得記的內容)PreToolUse — L2.5(repetition-detector.js)
→ 偵測 Grep 散搜時,強制注入建議改用 memory 或 Agent 工具的提醒
-
① 收割HARVEST
對話結束前回顧:踩過什麼坑、學到什麼、有哪些可復用的經驗值得記下來。
對話回顧收割 /retro -
② 審計AUDIT
定期檢查記憶品質:刪除過期的、合併重複的、修正與現狀不符的。MEMORY.md 超過 200 行時必須瘦身。
記憶品質審計 /memory_audit -
③ 同步SYNC
將本機記憶同步到 Git,或從 Git 拉到另一台機器。確保換電腦後 Claude 的認知不歸零。
跨機器記憶同步 /claude_sync
/retro 每次重要對話結束後 ·
/memory_audit 每月一次或記憶超過 20 個檔案時 ·
/claude_sync 換機器前 / 改完 hook 後
設計稿比對 · Design Diff Pipeline
將 XD/Figma 設計稿(PNG)與實際網站進行多層次比對:像素級 diff、視覺語意分析、DOM 結構差異。
-
① 截圖準備SCREENSHOT
用 headless 瀏覽器截取網站實際畫面,viewport 對齊設計稿尺寸。
截取目標頁面 browser_interact -
② 像素比對PIXEL DIFF
逐像素比對設計稿 PNG 與截圖,產生紅色標記差異圖與不一致百分比。
設計稿 vs 截圖 image_diff -
③ 視覺語意分析VISUAL REVIEW
Claude 多模態視覺分析:理解排版、顏色、字體、間距差異,產出語意化問題清單。
設計稿比對報告 /design_diff規格書截圖對照 /spec_screenshot_diff -
④ DOM 結構驗證DOM COMPARE
比對兩個版本的 CSS computed style、HTML 結構與 JS 行為差異(選用)。
CSS/HTML/JS 差異 dom_compare
雙 Agent 協作 · Dual Agent Coordination
開兩個 VS Code Claude Code 聊天室,各自載入角色設定,獨立開發同一專案,透過 agent_coord 工具非同步溝通。
· 兩個 VS Code 視窗開同一個專案,各自啟動 Claude Code 聊天室
· 兩邊共用同一個 MCP Server(讀同一份
.mcp.json),不需要額外設定· 各自有獨立的 conversation context,天然隔離不互相干擾
· 透過
agent_coord 工具讀寫 JSON 檔案做非同步溝通(非即時推播)· 協調資料持久化於
_coordination/{project}/,重啟不消失、可人工檢視
· 前後端分離(React + API)→ 按「前端 vs 後端」分,天然隔離,衝突最低
· PHP 混 Vue(同一檔案含 PHP + JS)→ 按「模組 A vs 模組 B」分,各自負責整個模組的全端
· 大量驗證 + 清理→ 按「任務類型」分,如「後台驗證+程式清理 vs 前台 QC+CSS 修復」
· 共用檔案(layout、全域 CSS/JS、config)指定一邊負責,另一邊要改就 post 請對方處理
· 趕工期,總時間砍半
· 多個獨立模組並行開發
· 前台 QC + 後台清理同時進行
· Bug 清單拆兩半各自處理
· Token 消耗約 2 倍(兩個獨立 context)
· 必須嚴格分工,避免同時改同一檔案
· 非即時通訊,需主動 poll 才能收到對方訊息
· API 529 過載機率上升(同時發大量請求)
-
⓪ 前置:建立角色設定CONFIG SETUP(只做一次)
在
_coordination/{project}/_config.json定義各角色的負責模組、可碰目錄、禁區與規則。這是分工的「契約」,後續每次重開聊天都會讀取。_config.json 結構agents.{agent-id}.modules — 負責的目錄清單
agents.{agent-id}.tasks — 待辦任務
agents.{agent-id}.rules — 行為規則(如「只讀不改」)
shared.paths — 共用資源(修改前須通知對方) -
① 載入角色ROLE INIT(每次重開聊天)
各聊天室用
role動作載入身分,Claude 會自動讀取角色卡、顯示負責模組與規則、檢查未讀訊息。 -
② 登記任務TASK REGISTER
在 task-board 通報本次要做的具體項目與會碰到的檔案,確認與對方不衝突。
-
③ 各自開發PARALLEL DEV
正常開發,嚴格遵守角色設定的目錄權限。修改 Model/API/共用檔案時必須 post 通知對方。
-
④ 收尾合併MERGE & VERIFY
雙方完成後標記 done,確認無衝突,跑整合測試。
整合測試 /project_qc
· 省錢:其中一邊用
/model sonnet 切換較便宜的模型· 重開聊天:只需一句
agent_coord(action:"role", project:"{project}", agent_id:"agent-a") 即可恢復角色· 529 過載:Anthropic 伺服器忙碌,等幾秒重試即可,與工具無關
· 檔案結構:
_coordination/{project}/_config.json(角色設定)、_status.json(任務狀態)、{channel}.json(訊息)· 新專案:複製既有的
_config.json 改 project 名和模組清單即可