戰(zhàn)避坑指南)
做了這么多年開(kāi)發(fā)我越來(lái)越習(xí)慣在終端里干活。以前是敲命令、跑腳本現(xiàn)在多了一個(gè)更上頭的工具——Claude Code。簡(jiǎn)單說(shuō)它是一個(gè)直接跑在命令行和編輯器里的AI編程助手能讀你整個(gè)項(xiàng)目的代碼幫你重構(gòu)、補(bǔ)測(cè)試、跑命令甚至直接提交Git。而真正讓它從“玩具”變成“生產(chǎn)力”的是 MCPModel Context Protocol這套協(xié)議它相當(dāng)于給AI裝了一排標(biāo)準(zhǔn)的USB接口讓AI可以接上文件系統(tǒng)、瀏覽器、設(shè)計(jì)稿、數(shù)據(jù)庫(kù)這些外部工具。這篇文章就是想寫給準(zhǔn)備入坑 Claude Code 和 MCP 的新手從環(huán)境準(zhǔn)備、安裝登錄、接入第一個(gè)MCP服務(wù)器到自定義Skill、排查高頻報(bào)錯(cuò)把我踩過(guò)的坑和驗(yàn)證過(guò)的方案一次性說(shuō)清楚。看完你應(yīng)該能自己搭起一套真正能幫上忙的AI編程環(huán)境。1. Claude Code和MCP到底是什么1.1 Claude Code一個(gè)長(zhǎng)在終端里的編程搭子我第一次用Claude Code時(shí)最大的感受是它不像一個(gè)聊天框更像一個(gè)肯坐在你旁邊、能直接碰你代碼庫(kù)的同事。它是由Anthropic推出的命令行AI編程工具官方定位是“agentic coding tool”也就是說(shuō)它不只是陪你聊天而是真的會(huì)動(dòng)手干活。它的核心能力大致有這么幾塊讀寫項(xiàng)目文件、跨文件搜索和重構(gòu)、執(zhí)行終端命令、跑測(cè)試、調(diào)Git比如commit、branch切換、用自然語(yǔ)言把一整塊需求拆成步驟去執(zhí)行。比如你丟一句“幫我把這個(gè)模塊的重復(fù)邏輯抽成一個(gè)公共函數(shù)然后把對(duì)應(yīng)的單測(cè)補(bǔ)上”它會(huì)自己打開(kāi)相關(guān)文件分析邏輯改代碼再跑一遍測(cè)試給你看結(jié)果。這個(gè)體驗(yàn)在項(xiàng)目代碼量大的時(shí)候尤其舒服。我也用過(guò)OpenAI的Codex兩個(gè)工具定位相似但差別也在細(xì)節(jié)上Claude Code對(duì)長(zhǎng)上下文的維護(hù)能力比較強(qiáng)適合那種需要同時(shí)看十幾個(gè)文件的場(chǎng)景Codex的優(yōu)勢(shì)則是和OpenAI生態(tài)深度綁定各有各的粉絲。對(duì)新手的建議很直接不用糾結(jié)誰(shuí)更強(qiáng)先選一個(gè)裝起來(lái)跑通再說(shuō)工具好不好用只有你項(xiàng)目代碼里見(jiàn)真章。1.2 MCP不是魔法是一個(gè)標(biāo)準(zhǔn)化插座MCP是Model Context Protocol的縮寫中文一般叫“模型上下文協(xié)議”。這是Anthropic在2024年底開(kāi)源的一個(gè)開(kāi)放協(xié)議目標(biāo)是解決一個(gè)很實(shí)際的問(wèn)題AI模型如何標(biāo)準(zhǔn)化地連接外部工具和數(shù)據(jù)源。在MCP出現(xiàn)之前每個(gè)AI應(yīng)用想接一個(gè)新工具基本都要寫一套定制集成代碼。比如讓AI讀文件要單獨(dú)封裝文件讀取接口讓AI操作瀏覽器又要搞一套瀏覽器控制接口。每接一個(gè)就多一份工作量而且各家實(shí)現(xiàn)還不一樣換個(gè)客戶端就全部作廢。MCP的思路其實(shí)很像USB-C接口。你可以把Claude Code想象成一臺(tái)筆記本把文件系統(tǒng)、GitHub、數(shù)據(jù)庫(kù)、設(shè)計(jì)稿這些工具想象成各種外設(shè)。以前外設(shè)接口五花八門現(xiàn)在MCP統(tǒng)一了接口標(biāo)準(zhǔn)外設(shè)只要支持這個(gè)協(xié)議插上就能用。它的架構(gòu)分三個(gè)角色MCP Host宿主應(yīng)用也就是Claude Code、Claude Desktop這類AI客戶端負(fù)責(zé)和用戶交互、調(diào)度模型。MCP Client協(xié)議客戶端寄生在Host里負(fù)責(zé)和遠(yuǎn)程的MCP Server建立連接、發(fā)請(qǐng)求。MCP Server外部工具和數(shù)據(jù)的提供方它把具體能力包裝成標(biāo)準(zhǔn)接口供AI調(diào)用。整個(gè)工作流程可以簡(jiǎn)單概括為模型在生成過(guò)程中判斷“我可能需要調(diào)用某個(gè)工具”于是MCP Client向?qū)?yīng)的MCP Server發(fā)請(qǐng)求Server執(zhí)行實(shí)際操作比如讀取文件、查數(shù)據(jù)庫(kù)把結(jié)果返回給模型模型再基于這個(gè)結(jié)果繼續(xù)生成回答。整個(gè)過(guò)程對(duì)用戶來(lái)說(shuō)是透明的你只看到AI做了某件事背后的握手是協(xié)議自動(dòng)完成的。1.3 Skill和MCP到底有什么區(qū)別這個(gè)問(wèn)題在社區(qū)里被問(wèn)過(guò)無(wú)數(shù)次我在這里一次性講透。MCP解決的是“AI能接什么工具、能訪問(wèn)什么數(shù)據(jù)”的問(wèn)題它提供的是能力。Skill解決的是“AI應(yīng)該按照什么流程做一件事”的問(wèn)題它提供的是知識(shí)和規(guī)則。用生活化一點(diǎn)的說(shuō)法MCP是給AI配的工具箱里面有扳手、螺絲刀、電鉆Skill是給AI看的操作手冊(cè)比如“換水管要先關(guān)閥門、再拆舊管、纏生料帶……”。沒(méi)有工具箱AI想做也無(wú)從下手沒(méi)有操作手冊(cè)AI拿著工具可能亂來(lái)。在Claude Code里Skill是一個(gè)個(gè)以Markdown文檔形式存在的指令集放在.claude/skills/目錄下。文檔里用自然語(yǔ)言寫好“當(dāng)遇到XXX類任務(wù)時(shí)你應(yīng)該這樣做”的步驟和規(guī)范。MCP則是通過(guò)claude mcp add這類命令接入的外部服務(wù)。實(shí)際使用中兩者經(jīng)常配合。舉個(gè)例子你的項(xiàng)目里有一條代碼審查規(guī)范你把它寫成Skill同時(shí)你接了一個(gè)GitHub MCP讓AI能直接拉取PR、讀評(píng)論。AI在審查PR時(shí)一邊通過(guò)MCP獲取PR內(nèi)容一邊參照Skill里寫的規(guī)范逐條檢查既有了工具又有了章法。對(duì)比項(xiàng)MCPSkill解決什么問(wèn)題讓AI連接外部工具和數(shù)據(jù)讓AI按既定流程和規(guī)范做事本質(zhì)標(biāo)準(zhǔn)化協(xié)議 外部服務(wù)指令文檔Markdown提供什么工具調(diào)用能力知識(shí)與操作指南配置位置全局或項(xiàng)目級(jí)MCP配置.claude/skills/目錄類比工具箱/USB接口操作手冊(cè)2. 從0到1安裝Claude Code并完成首次運(yùn)行2.1 環(huán)境準(zhǔn)備先檢查Node.jsClaude Code最主流的安裝方式是通過(guò)npm所以第一步是確認(rèn)本機(jī)有可用的Node.js環(huán)境。要求Node.js 18及以上我個(gè)人建議直接上20以上的LTS版本省得后面遇到兼容性怪問(wèn)題。打開(kāi)終端分別輸入下面兩條命令確認(rèn)環(huán)境沒(méi)問(wèn)題node -v npm -v如果顯示版本號(hào)說(shuō)明環(huán)境OK。如果提示node不是內(nèi)部或外部命令那就去Node.js官網(wǎng)下載LTS版本安裝包一路默認(rèn)安裝就行。Windows上安裝完建議重開(kāi)一個(gè)終端窗口讓環(huán)境變量生效。另外Claude Code支持Windows、macOS、Linux三大平臺(tái)。Windows上我建議用PowerShell來(lái)操作后面遇到問(wèn)題的概率小一些。系統(tǒng)最好是Win10以上版本老系統(tǒng)在路徑處理上有不少坑這個(gè)后面第5章會(huì)說(shuō)。2.2 安裝CLI網(wǎng)上99%的教程都是這一句環(huán)境就緒后執(zhí)行這條命令npm install -g anthropic-ai/claude-code這個(gè)包就是Claude Code官方命令行工具全局安裝后會(huì)在系統(tǒng)里注冊(cè)claude命令。安裝過(guò)程可能要等一會(huì)兒如果長(zhǎng)時(shí)間卡住沒(méi)動(dòng)靜大概率是npm網(wǎng)絡(luò)問(wèn)題可以臨時(shí)切換為國(guó)內(nèi)鏡像源后再試。裝完執(zhí)行claude --version如果打印出版本號(hào)類似1.x.x說(shuō)明安裝成功。沒(méi)成功的話檢查前面安裝過(guò)程中的報(bào)錯(cuò)一般多是node版本太低或npm沒(méi)權(quán)限。除了npm方式官方還提供一個(gè)原生安裝腳本curl -fsSL https://claude.ai/install.sh | bash這個(gè)方式不需要Node.js也能裝適合不想折騰npm環(huán)境的朋友。兩種方式二選一即可我習(xí)慣用npm因?yàn)楹罄m(xù)升級(jí)和卸載都方便。2.3 登錄認(rèn)證賬號(hào)和API Key怎么選裝好之后在終端輸入claude第一次會(huì)進(jìn)入登錄流程。目前主流的有三種認(rèn)證方式第一種是Claude賬號(hào)OAuth登錄。它會(huì)彈出一個(gè)瀏覽器窗口讓你登錄Claude賬號(hào)并授權(quán)。這種方式適合使用Claude官方訂閱服務(wù)的用戶登錄后就能直接用。第二種是API Key方式。如果你有Anthropic的API Key可以設(shè)置環(huán)境變量讓Claude Code走API計(jì)費(fèi)# Windows PowerShell $env:ANTHROPIC_API_KEY 你的API Key # macOS / Linux export ANTHROPIC_API_KEY你的API Key這里有一個(gè)需要明確的選擇邏輯訂閱賬號(hào)通常適合交互式開(kāi)發(fā)因?yàn)橘M(fèi)用固定隨便折騰不心疼API Key則適合腳本化、批量調(diào)用的場(chǎng)景按量計(jì)費(fèi)但更容易控制成本。我個(gè)人建議新手先用訂閱賬號(hào)把流程跑通等確定要用Claude Code做自動(dòng)化任務(wù)了再換API Key。第三種是自定義兼容端點(diǎn)適合接了第三方兼容Anthropic接口服務(wù)的情況。通過(guò)設(shè)置ANTHROPIC_BASE_URL和ANTHROPIC_MODEL兩個(gè)環(huán)境變量可以讓Claude Code連到其他兼容服務(wù)上。關(guān)于這個(gè)方式經(jīng)常會(huì)遇到的模型名報(bào)錯(cuò)我在第5章單獨(dú)講。2.4 三種使用形態(tài)CLI、VSCode插件、桌面端很多新手會(huì)被“Claude Code到底怎么打開(kāi)”這個(gè)問(wèn)題卡住。其實(shí)它主要有三種使用入口使用形態(tài)打開(kāi)方式適合場(chǎng)景CLI終端終端輸入claude日常編碼、腳本化操作VSCode插件VSCode里安裝擴(kuò)展邊寫代碼邊讓AI改造代碼桌面端獨(dú)立桌面程序純對(duì)話式任務(wù)不依賴IDE我最推薦新手的組合是先學(xué)會(huì)在終端里用CLI同時(shí)把VSCode插件也裝好。VSCode插件的安裝很簡(jiǎn)單在擴(kuò)展市場(chǎng)搜索“Claude Code”找到Anthropic官方發(fā)布的那個(gè)安裝后它還會(huì)檢查本機(jī)有沒(méi)有CLI沒(méi)有的話會(huì)引導(dǎo)你裝。裝好后在VSCode里通過(guò)快捷鍵或側(cè)邊欄打開(kāi)Claude Code面板就能直接在編輯器里和它對(duì)話它能看到你當(dāng)前打開(kāi)的文件和項(xiàng)目結(jié)構(gòu)。三個(gè)入口底層都是同一個(gè)引擎區(qū)別只在于交互外殼。你不需要全都精通CLI VSCode插件基本能覆蓋90%的場(chǎng)景。3. 手把手配置MCP服務(wù)器3.1 MCP配置核心命令四句話管好所有工具Claude Code把MCP服務(wù)器的管理做得非常輕量核心就幾條命令。打開(kāi)終端隨時(shí)可以用# 添加一個(gè)MCP服務(wù)器 claude mcp add 服務(wù)器名稱 -- 啟動(dòng)命令 # 查看當(dāng)前全部MCP服務(wù)器 claude mcp list # 查看某個(gè)MCP服務(wù)器詳情 claude mcp get 服務(wù)器名稱 # 移除一個(gè)MCP服務(wù)器 claude mcp remove 服務(wù)器名稱我拿最常用的文件系統(tǒng)MCP來(lái)演示一遍。先創(chuàng)建一個(gè)測(cè)試目錄然后用下面的命令掛載claude mcp add filesystem -- npx -y modelcontextprotocol/server-filesystem /Users/me/projects/demo這條命令的意思是添加一個(gè)名為filesystem的MCP服務(wù)器通過(guò)npx運(yùn)行官方文件系統(tǒng)服務(wù)器包并且只允許這個(gè)服務(wù)器訪問(wèn)/Users/me/projects/demo目錄。注意最后一個(gè)參數(shù)是目錄路徑你可以寫多個(gè)目錄用空格分隔。添加完成后重啟Claude Code會(huì)話在交互模式下輸入/mcp就能看到當(dāng)前加載的MCP服務(wù)器狀態(tài)。如果顯示connected恭喜AI已經(jīng)可以通過(guò)MCP讀取你指定目錄里的文件了。有一個(gè)細(xì)節(jié)值得記住修改MCP配置后需要重啟會(huì)話不是新配置即時(shí)生效。3.2 常用MCP服務(wù)器選型別貪多按需求來(lái)MCP生態(tài)這兩年的發(fā)展速度非常快社區(qū)里已經(jīng)躺了上千個(gè)Server。但對(duì)新手來(lái)說(shuō)別一上來(lái)就想把所有工具都接上每多一個(gè)MCP服務(wù)器都會(huì)增加AI的上下文負(fù)擔(dān)和出錯(cuò)的概率。下面這些是我實(shí)際用下來(lái)覺(jué)得有價(jià)值的按場(chǎng)景分好類了MCP服務(wù)器用途適用場(chǎng)景filesystem讀寫本地文件讓AI管理限定目錄內(nèi)的文件Playwright MCP瀏覽器自動(dòng)化讓AI打開(kāi)網(wǎng)頁(yè)、點(diǎn)擊、截圖、填表單GitHub MCP操作倉(cāng)庫(kù)、PR、Issue代碼審查、自動(dòng)化發(fā)布Figma / 藍(lán)湖 MCP讀取設(shè)計(jì)稿數(shù)據(jù)設(shè)計(jì)稿轉(zhuǎn)代碼、還原UI數(shù)據(jù)庫(kù)類MCP連接PostgreSQL/MySQL讓AI直接查庫(kù)、分析數(shù)據(jù)SSH MCP遠(yuǎn)程服務(wù)器執(zhí)行命令部署、查日志IDA Pro MCP逆向工程輔助二進(jìn)制分析、漏洞研究MATLAB MCP調(diào)用MATLAB引擎科學(xué)計(jì)算、仿真支付寶/百度等商業(yè)MCP調(diào)用支付、搜索等服務(wù)對(duì)接開(kāi)放平臺(tái)能力安裝方式大同小異我以Playwright MCP為例claude mcp add playwright -- npx -y playwright/mcplatest裝完同樣重啟會(huì)話如果正常你讓Claude“打開(kāi)百度首頁(yè)并截圖”它就會(huì)真的啟動(dòng)一個(gè)瀏覽器去操作。我第一次跑通這個(gè)的時(shí)候還是挺震撼的感覺(jué)AI不只是“紙上談兵”是真能上手操作東西了。3.3 .mcp文件給整個(gè)項(xiàng)目裝一套共享工具如果你關(guān)注MCP會(huì)發(fā)現(xiàn)越來(lái)越多項(xiàng)目在倉(cāng)庫(kù)根目錄放一個(gè).mcp文件。這個(gè)文件的作用是把某個(gè)項(xiàng)目的MCP配置固化和共享誰(shuí)clone下這個(gè)倉(cāng)庫(kù)只要用Claude Code打開(kāi)就能自動(dòng)加載里面聲明的MCP服務(wù)器。一個(gè)典型的.mcp文件長(zhǎng)這樣{ mcpServers: { playwright: { command: npx, args: [-y, playwright/mcplatest] }, github: { command: npx, args: [-y, modelcontextprotocol/server-github], env: { GITHUB_PERSONAL_ACCESS_TOKEN: 你的token } } } }格式上就是一個(gè)JSON對(duì)象mcpServers下面每個(gè)key是一個(gè)服務(wù)器名value里寫清啟動(dòng)命令、參數(shù)和環(huán)境變量。這里必須提醒一句env里如果有密鑰類信息千萬(wàn)別直接提交到Git倉(cāng)庫(kù)不然密鑰就裸奔了。正確做法是用環(huán)境變量占位或者在.gitignore里排除這個(gè)文件讓每個(gè)開(kāi)發(fā)者自己填。全局配置和項(xiàng)目配置的區(qū)別在于全局配置通過(guò)claude mcp add添加對(duì)所有項(xiàng)目生效適合你個(gè)人常用的通用工具.mcp文件只對(duì)當(dāng)前項(xiàng)目生效適合項(xiàng)目專屬的工具鏈也方便團(tuán)隊(duì)統(tǒng)一。3.4 第三方平臺(tái)接入MCP以Dify和Java為例MCP的價(jià)值不止在Claude Code內(nèi)部它現(xiàn)在已經(jīng)是一個(gè)行業(yè)標(biāo)準(zhǔn)了。比如Dify這類開(kāi)源LLM應(yīng)用開(kāi)發(fā)平臺(tái)也支持添加MCP服務(wù)。通用的思路是在Dify的“工具”管理里找到MCP選項(xiàng)。選擇MCP類型本地stdio類型或者遠(yuǎn)程SSE/HTTP類型。本地類型需要填啟動(dòng)命令例如npx -y playwright/mcplatest。遠(yuǎn)程類型需要填SSE端點(diǎn)URL第三方服務(wù)商一般會(huì)提供。這套流程幾乎適配所有支持MCP的平臺(tái)區(qū)別只是界面入口不同。另外在Java生態(tài)里如果團(tuán)隊(duì)想自己實(shí)現(xiàn)一個(gè)MCP Server也有成熟的SDK可以幫我更關(guān)注的重點(diǎn)是我們通常說(shuō)的“MCP Server”并不一定非要用Node.js寫。只要實(shí)現(xiàn)MCP協(xié)議Java、Python、Go都能寫。很多公司內(nèi)部就是把MCP Server做成微服務(wù)AI工具統(tǒng)一通過(guò)協(xié)議調(diào)用技術(shù)棧根本不是問(wèn)題。4. 進(jìn)階玩法讓Claude Code真正干起活來(lái)4.1 設(shè)計(jì)稿到代碼Figma和藍(lán)湖的MCP接入前端開(kāi)發(fā)最煩的事情之一就是照著設(shè)計(jì)稿一點(diǎn)一點(diǎn)摳像素。MCP生態(tài)里已經(jīng)有不少解決這個(gè)問(wèn)題的方案。Figma MCP的原理是通過(guò)Figma開(kāi)放API把設(shè)計(jì)稿里的圖層、顏色、字體、間距等信息拉出來(lái)轉(zhuǎn)換成文本描述讓Claude Code理解設(shè)計(jì)意圖再生成對(duì)應(yīng)的前端代碼。接入時(shí)需要先在Figma開(kāi)發(fā)者后臺(tái)創(chuàng)建一個(gè)Personal Access Token然后使用社區(qū)維護(hù)的Figma MCP Server把Token配置成環(huán)境變量即可。藍(lán)湖MCP也是類似思路。藍(lán)湖本身是設(shè)計(jì)協(xié)作平臺(tái)它提供的MCP服務(wù)能讓AI讀取設(shè)計(jì)稿標(biāo)注信息。這類服務(wù)的開(kāi)通流程通常是去藍(lán)湖開(kāi)放平臺(tái)申請(qǐng)開(kāi)發(fā)者賬號(hào)創(chuàng)建應(yīng)用拿到API憑據(jù)然后把MCP Server地址一般是SSE方式配置到你的工具里。具體參數(shù)以官方文檔為準(zhǔn)因?yàn)楦骷移脚_(tái)的憑據(jù)獲取方式更新頻繁。這類MCP接入后的效果取決于設(shè)計(jì)稿本身的質(zhì)量。如果設(shè)計(jì)稿的圖層命名規(guī)范、分組清晰AI生成的代碼還原度就很高反之圖層亂成一團(tuán)的話AI也只能“盲猜”。4.2 瀏覽器自動(dòng)化讓AI自己操作網(wǎng)頁(yè)P(yáng)laywright MCP是我個(gè)人推薦新手必裝的一個(gè)。裝上之后Claude Code可以直接操控真實(shí)的瀏覽器進(jìn)行點(diǎn)擊、輸入、滾動(dòng)、截圖、查看控制臺(tái)日志等操作。在調(diào)試前端Bug、寫端到端測(cè)試、爬取頁(yè)面數(shù)據(jù)時(shí)非常管用。一個(gè)常見(jiàn)的實(shí)操場(chǎng)景你的前端頁(yè)面有個(gè)按鈕點(diǎn)擊后沒(méi)反應(yīng)你可以對(duì)Claude說(shuō)“打開(kāi)本地的xxx頁(yè)面點(diǎn)擊右上角的登錄按鈕然后截圖看看控制臺(tái)報(bào)什么錯(cuò)”。它會(huì)自己?jiǎn)?dòng)瀏覽器操作頁(yè)面然后把截圖和控制臺(tái)日志返回給你。這個(gè)能力在排查問(wèn)題時(shí)能省下大量來(lái)回溝通成本。安裝配置我在3.2節(jié)已經(jīng)寫過(guò)這里補(bǔ)充兩個(gè)容易踩的坑一是首次運(yùn)行時(shí)需要下載瀏覽器內(nèi)核命令是npx playwright install這一步在國(guó)內(nèi)網(wǎng)絡(luò)環(huán)境下可能比較慢耐心等二是如果你在無(wú)頭服務(wù)器上跑記得讓Claude用無(wú)頭模式否則會(huì)因?yàn)闆](méi)有顯示環(huán)境直接報(bào)錯(cuò)。4.3 SSH MCP遠(yuǎn)程部署和日志排查本地文件AI能讀遠(yuǎn)程服務(wù)器呢SSH MCP解決的就是這個(gè)問(wèn)題。它的思路是在本地跑一個(gè)MCP Server通過(guò)SSH連接遠(yuǎn)程主機(jī)把遠(yuǎn)程文件讀寫、命令執(zhí)行的能力暴露給Claude Code。典型應(yīng)用場(chǎng)景是讓AI遠(yuǎn)程連上測(cè)試服務(wù)器查看服務(wù)日志、定位OOM原因、修改Nginx配置并reload。這比自己一條條敲命令高效得多。配置上建議用SSH密鑰認(rèn)證而不是密碼密鑰權(quán)限設(shè)置為600。首次連接時(shí)把遠(yuǎn)程主機(jī)加到known_hosts里避免連接被拒。安全方面要牢記授予AI的權(quán)限邊界就是它能執(zhí)行的操作邊界生產(chǎn)環(huán)境慎用至少在授權(quán)前仔細(xì)考察MCP Server的實(shí)現(xiàn)是否可靠。4.4 編寫自己的Skill把重復(fù)勞動(dòng)包裝成SOP前面說(shuō)過(guò)Skill是給AI看的操作手冊(cè)這里就教你怎么寫一個(gè)。先建目錄mkdir -p .claude/skills/code-review然后創(chuàng)建SKILL.md文件它支持YAML frontmatter和正文兩部分--- name: code-review description: 當(dāng)用戶要求做代碼審查時(shí)使用本技能。觸發(fā)詞code review、審查代碼、看看這段代碼有什么問(wèn)題 --- # 代碼審查規(guī)范 執(zhí)行代碼審查時(shí)嚴(yán)格按以下順序 1. 先看需求上下文弄明白這段代碼本來(lái)要實(shí)現(xiàn)什么功能。 2. 檢查邏輯正確性找邊界條件和潛在Bug。 3. 檢查異常處理是否完善。 4. 給出修改建議不要直接改代碼除非用戶明確要求。 ## 必須遵守的規(guī)則 - 不評(píng)價(jià)代碼風(fēng)格以外的主觀喜好 - 每條建議都要說(shuō)明理由和風(fēng)險(xiǎn)寫完保存重啟Claude Code當(dāng)你的描述觸發(fā)到description里的關(guān)鍵詞時(shí)它就會(huì)自動(dòng)加載這個(gè)Skill按你寫的規(guī)范執(zhí)行審查。你會(huì)發(fā)現(xiàn)Skill把你自己平時(shí)口頭交代的那些經(jīng)驗(yàn)沉淀成了一份可復(fù)用的資產(chǎn)。Skill和MCP的組合使用是我最喜歡的方式MCP提供工具Skill定義用法。比如你寫了一個(gè)“數(shù)據(jù)庫(kù)巡檢”的Skill吩咐AI每次巡檢必須用數(shù)據(jù)庫(kù)MCP連上實(shí)例、按固定的SQL清單檢查慢查詢、連接數(shù)、磁盤占用最后按模板輸出報(bào)告。這樣一來(lái)一次重復(fù)性工作就完全自動(dòng)化了。4.5 接上私有知識(shí)庫(kù)RAG場(chǎng)景下的MCP應(yīng)用如果你想讓Claude Code在寫代碼時(shí)參考你們公司的內(nèi)部文檔、歷史方案、架構(gòu)設(shè)計(jì)這就要用到MCP在RAG檢索增強(qiáng)生成場(chǎng)景下的玩法了。思路是把內(nèi)部文檔切片、向量化存入向量數(shù)據(jù)庫(kù)然后通過(guò)一個(gè)MCP Server把“相似度檢索”能力暴露給Claude Code。當(dāng)AI需要了解某個(gè)模塊的設(shè)計(jì)背景時(shí)它會(huì)主動(dòng)調(diào)用這個(gè)檢索MCP從向量庫(kù)里拿回相關(guān)文檔片段作為上下文再繼續(xù)作答。這樣既不需要把所有文檔塞進(jìn)系統(tǒng)提示詞那樣成本太高又能讓AI回答問(wèn)題時(shí)有據(jù)可依。社區(qū)里有不少開(kāi)源的mcp vector store實(shí)現(xiàn)支持PostgreSQL向量插件、Milvus、ChromaDB等存儲(chǔ)后端按官方說(shuō)明配置即可。5. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄5.1 高頻報(bào)錯(cuò)速查表我在使用Claude Code和MCP的這幾個(gè)月里遇到過(guò)不少報(bào)錯(cuò)下面整理了一張速查表基本涵蓋了新手最容易碰到的幾種情況報(bào)錯(cuò)信息 / 現(xiàn)象原因解決辦法請(qǐng)求返回529API服務(wù)器過(guò)載常在高峰期出現(xiàn)稍等幾分鐘重試切換模型版本降低并發(fā)請(qǐng)求數(shù)xxx is not a model this version of claude code recognizes配置的模型名不被當(dāng)前版本識(shí)別確認(rèn)模型名真實(shí)存在并正確執(zhí)行claude update升級(jí)到最新版修正ANTHROPIC_MODEL環(huán)境變量your organization has disabled claude subscription access for claude code企業(yè)賬號(hào)管理員禁用了Claude Code訪問(wèn)權(quán)限換個(gè)人訂閱賬號(hào)登錄或改用API Key方式認(rèn)證MCP工具列表為空 / 工具注冊(cè)不上MCP Server啟動(dòng)失敗或連接中斷用claude mcp get 名稱查看詳情檢查啟動(dòng)命令和參數(shù)確認(rèn)網(wǎng)絡(luò)和Token有效重啟會(huì)話連接MCP Server超時(shí)遠(yuǎn)程SSE地址不可達(dá)或本地stdio進(jìn)程卡死檢查URL連通性確認(rèn)端口號(hào)給啟動(dòng)命令加超時(shí)時(shí)間Windows上npx命令無(wú)法啟動(dòng)MCPWindows下npx是npx.cmd直接使用時(shí)有兼容問(wèn)題在配置中將command改為cmdargs寫[/c, npx, ...]或用npx.cmd環(huán)境變量不生效修改環(huán)境變量后終端沒(méi)重啟重啟終端或在啟動(dòng)Claude Code的同一終端里配置其中529錯(cuò)誤是很多用戶最先遇到的。這屬于服務(wù)端壓力問(wèn)題不是你配置錯(cuò)誤換個(gè)時(shí)間段或者換個(gè)模型經(jīng)常就解決了沒(méi)必要反復(fù)重試硬剛。5.2 Windows平臺(tái)上容易踩的坑Windows用戶配置Claude Code和MCP有幾個(gè)坑是社區(qū)里反復(fù)出現(xiàn)的。第一個(gè)就是.mcp文件里如果直接寫command: npx很可能會(huì)啟動(dòng)失敗。原因是Windows下npx的實(shí)際可執(zhí)行文件名是npx.cmdMCP客戶端在解析時(shí)可能找不到。解決方法有兩種寫成command: npx.cmd或者寫成這樣{ command: cmd, args: [/c, npx, -y, playwright/mcplatest] }第二個(gè)坑是路徑分隔符。Windows路徑用反斜杠在JSON里還需要轉(zhuǎn)義容易搞亂。建議一律用正斜杠Windows底層是兼容的比如C:/Users/me/projects。第三個(gè)坑是PowerShell設(shè)置環(huán)境變量的語(yǔ)法和CMD不一樣。很多教程只寫了export這一種在PowerShell里直接粘貼會(huì)報(bào)錯(cuò)。記住PowerShell用$env:變量名值CMD用set 變量名值。5.3 幾條我驗(yàn)證過(guò)的實(shí)操建議最后分享幾點(diǎn)經(jīng)驗(yàn)都是實(shí)際用出來(lái)的。第一MCP服務(wù)器不是越多越好。每接一個(gè)MCPAI在每次對(duì)話中都需要維護(hù)它的工具定義上下文消耗會(huì)隨之增加響應(yīng)速度也會(huì)變慢。我現(xiàn)在的習(xí)慣是全局只掛兩三個(gè)常用的項(xiàng)目專屬的全放在.mcp文件里按需加載。第二跑通流程前先插官方demo。很多新手一上來(lái)就找?guī)资畟€(gè)社區(qū)MCP往配置里塞亂成一團(tuán)就放棄了。建議先只裝一個(gè)官方filesystem MCP把“添加-查看-調(diào)用-移除”這個(gè)閉環(huán)跑通再逐步加別的。第三養(yǎng)成定期升級(jí)的習(xí)慣。Claude Code更新頻率很快claude update一條命令就能升級(jí)到最新版。我遇到過(guò)幾次奇怪的問(wèn)題最后發(fā)現(xiàn)只是版本太舊升級(jí)完就沒(méi)事了。第四MCP配置文件和Skill建議納入版本管理。這是我們團(tuán)隊(duì)的實(shí)踐所有的MCP服務(wù)器聲明、Skill規(guī)范都放到項(xiàng)目倉(cāng)庫(kù)里新成員入職后拉下來(lái)就能獲得一套統(tǒng)一的AI工作流不用每個(gè)人從零配一遍。我個(gè)人在實(shí)際操作中體會(huì)最深的一點(diǎn)是Claude Code和MCP這套組合真正厲害的地方不在于某個(gè)單點(diǎn)能力而在于它讓AI從一個(gè)“會(huì)說(shuō)”的工具變成了一個(gè)“會(huì)做”的工具。給AI接上合適的MCP再用Skill定義好做事邊界它就能在你熟悉的工作流里像一名靠譜的遠(yuǎn)程同事一樣干活。希望這份指南能幫你少走一些彎路早點(diǎn)把這套工具用順手。