mcp-language-server 是一個極具開創性的模型內容協定 (MCP) 伺服器,它的核心作用是為 AI 助理裝上「智慧型程式碼編輯器」的大腦。它透過搭建一座橋樑,將強大的語言伺服器協定 (Language Server Protocol, LSP) 的能力,提供給任何支援 MCP 的 AI 客戶端(如 Claude, Cursor)。
您可以將其想像成一個中介層:它本身不直接分析程式碼,而是作為一個代理,將 AI 的指令轉發給專門用於特定程式語言的「語言伺服器」(例如 Go 的 gopls 或 Rust 的 rust-analyzer),然後將分析結果回傳給 AI。
核心價值:從「讀取程式碼」到「理解程式碼」
傳統的 AI 程式設計輔助,大多基於讀取檔案內容進行文本分析。而 mcp-language-server 帶來了根本性的變革,其核心價值在於:
rename_symbol 功能可以確保所有相關的參考都被精準地修改,而不會誤傷無關的程式碼。這在大型專案的重構中至關重要。主要工具:賦予 AI 專業開發者的能力
mcp-language-server 提供了一系列強大的、開發者在日常工作中高度依賴的語意工具:
definition: 跳轉到定義。精確找到任何變數、函式或類別的原始定義程式碼。references: 尋找所有參考。找出整個專案中所有使用到某個特定符號的地方。diagnostics: 診斷問題。獲取特定檔案中的錯誤和警告列表,如同 IDE 中的紅色波浪線提示。hover: 懸停提示。顯示特定程式碼位置的說明文件、型別資訊等。rename_symbol: 安全地重命名。在整個專案範圍內,對一個符號進行語意安全的重新命名。edit_file: 精準編輯。提供一種比傳統搜尋取代更可靠、更節省上下文的方式來修改檔案。如何運作
其設定流程分為三個關鍵步驟:
mcp-language-server 這個 Go 語言編寫的主程式。pyright。mcp-language-server 的啟動指令,並透過參數告訴它您的專案路徑 (--workspace) 以及要使用的語言伺服器名稱 (--lsp)。總結來說,mcp-language-server 是一個改變遊戲規則的專案。它將 AI 助理從一個只能讀寫文本的工具,提升為一個能夠深度理解程式碼語意結構的智慧開發夥伴。對於任何希望利用 AI 進行嚴肅的程式碼分析、編寫和重構的開發者來說,這是一個必不可少的基礎設施級工具。