昨天我們分析了工具選型,決定使用 VSCode + Copilot + MCP 的技術組合來實現 AI Code Review。在開始實作之前,我們需要深入理解 MCP 這個相對新穎的技術。
回顧我們的四種解決方案路線圖:
可以看到從方法1到方法4,我們經歷了從 MCP 到 API 的技術選擇演進。今天讓我們先了解 MCP 的核心概念,明天會深入其架構設計。
2024年11月,AI 領域的重要玩家 Anthropic(Claude 的開發公司)正式發布了 Model Context Protocol。
MCP = Model Context Protocol
情境:讓 AI 幫你取得 GitLab MR 資訊
function getGitlabMR(mrId) {
// 手動處理 GitLab API
const response = fetch(`https://gitlab.com/api/v4/projects/${projectId}/merge_requests/${mrId}`);
// 自定義錯誤處理
// 自定義資料格式轉換
return customFormat(response);
}
// 開發者 B 的實作方式
async function fetchMergeRequest(mrNumber) {
// 完全不同的實作邏輯
// 不同的參數命名
// 不同的回傳結構
return differentFormat(apiCall(mrNumber));
}
問題分析:
// 使用標準化的 GitLab MCP Server
// 1. 安裝現成的 MCP Server
npm install @modelcontextprotocol/server-gitlab
// 2. 透過統一的 MCP 協議呼叫
const mrData = await mcpClient.call("gitlab_get_merge_request", {
project_id: "123",
merge_request_iid: "45"
});
// 統一的資料格式,標準的錯誤處理
優勢:
MCP 代表了 AI 工具整合的一個重要里程碑,它將原本分散、複雜的整合工作標準化,讓開發者能夠更專注於創造價值而不是處理技術細節。
明天預告:
我們將深入探討 MCP 的架構設計,了解 Host、Client、Server 三者如何協作,以及資料是如何在它們之間流動的。
參考資料:
Anthropic MCP 官方公告
MCP 官方文件