# 影片筆記:2026版AI+Codex零基础全套视频课程,Codex从入门到大神AI编程开发,涵盖安装配置、代码分析、Bug修复及完整项目实战 p09 8、Codex MCP 核心协议配置与业务系统无缝对接 ## 一句話總結 本段課程詳細講解了 MCP (Model Context Protocol) 協議在 Codex 中的配置與應用,通過實戰演示了如何開發與配置基於 STDIO 和 HTTP/SSE 協議的本地及第三方 MCP Server,並展示了 Codex 在自動驗證、權限處理及配置備份方面的智能輔助功能。 ## 核心重點 1. **MCP 協議定義與價值**: * MCP (Model Context Protocol) 是由 **Otholopit** 公司提出的一種規範,旨在將大模型連接到工具和上下文。 * 主要解決大模型無法直接訪問內部業務系統或非對外服務的問題,建立模型與工具/上下文之間的連接。 2. **MCP 協議類型區別**: * **STDIO 協議**:適用於本地進程運行,通過進程間通信訪問,無需網絡通信,適合本地服務器或本地開發場景。 * **HTTP Server (SSE) 協議**:適用於對外提供的服務(如查詢天氣、公共 API),通過域名或 IP,使用 HTTP 協議連接,需發布到服務器上並具有公网 IP。 3. **Codex 中的 MCP 配置機制**: * **配置文件位置**:默認存儲在當前登錄用戶主目錄下的 `.codex/config.tom` 文件中。若未設置 home 環境變量,則默認在此路徑。 * **配置結構**:使用 `[MCP Server]` 前綴標記服務名稱,包含啟動命令、協議類型(STDIO 或 HTTP)、啟用狀態 (`enable true`) 等。 * **管理方式**: * **圖形界面**:通過 VSCode 或 Cursor 中的 Codex 插件,進入設置 (Gear Icon) -> Codex Search -> Page -> MCP 服務器,進行啟用/禁用操作。 * **終端命令**:在終端中輸入 `codex \mcp` 查看當前可用的 MCP 服務。 * **手動編輯**:直接編輯 `config.tom` 文件。 4. **實戰開發與調用流程**: * **本地 STDIO Server 開發**: * 創建項目目錄,通過自然語言指令讓 Codex 開發 MCP Server(例如 `file manager`,用於本地文件管理)。 * Codex 默認使用 Node.js 和 JSON-RPC STDIO 協議生成代碼。 * Codex 自動分析服務標準性、路徑、權限(如 PowerShare 權限優化,使用 `npm.cmd` 而非 `npm`),並自動驗證服務是否可啟動及功能是否正常。 * **第三方 MCP Server 使用**: * 示例添加 `context7` MCP Server,默認為未授權 (unauthorized),需進行授權處理。 * Codex 會自動調用對應的 MCP 服務獲取最新第三方庫文檔或示例代碼。 * **HTTP/SSE Server 開發**: * 開發基於 Streamable HTTP (SSE) 協議的 `calculate` MCP Server,實現四則運算。 * 需指定 IP、端口等網絡參數,Codex 參考官方規範生成代碼並自動驗證。 * 配置 HTTP 類型 MCP Server 時,需指定地址而非本地命令,Codex 自動處理版本問題、權限及配置備份。 5. **AI 輔助驗證與高級配置**: * Codex 在配置 MCP 時具備智能之處,包括自動分析配置、驗證服務可用性、處理權限問題及自動備份配置文件。 * 部分第三方 MCP Server 需要 OAuth 授權認證,涉及跳轉地址、監聽回調等流程,Codex 可協助處理授權配置。 * 可單獨禁用某些工具、設置默認審核行為 (Audit) 或設置工具調用超時時間。 * MCP 配置是應用級別/用戶級別的,在任何對話窗口中均可調用已配置的 MCP 服務。 ## 詳細大綱 ### 一、 MCP 協議概述與場景 * **定義**:MCP (Model Context Protocol) 是 Otholopit 公司提出的一種規範,旨在將大模型連接到工具和上下文。 * **解決痛點**:解決大模型無法方便訪問內部業務系統或非對外服務的問題。 * **核心功能**:建立模型與工具/上下文之間的連接。 ### 二、 MCP 協議類型 * **STDIO 協議**: * 適用於本地進程運行。 * 通過進程間通信訪問,無需網絡通信。 * 適合本地服務器或本地開發場景。 * **HTTP Server (SSE) 協議**: * 適用於對外提供的服務(如查詢天氣、公共 API)。 * 通過域名或 IP,使用 HTTP 協議連接。 * 需要發布到服務器上,具有公网 IP。 ### 三、 Codex 中的 MCP 配置與管理 * **配置文件位置**: * 默認路徑:當前登錄用戶主目錄下的 `.codex/config.tom`。 * 若未設置 home 環境變量,則默認在此路徑。 * **配置結構**: * 使用 `[MCP Server]` 前綴標記服務名稱。 * 包含啟動命令、協議類型(STDIO 或 HTTP)、啟用狀態 (`enable true`) 等。 * **管理方式**: * **圖形界面**:通過 VSCode 或 Cursor 中的 Codex 插件,進入設置 (Gear Icon) -> Codex Search -> Page -> MCP 服務器,進行啟用/禁用操作。 * **終端命令**:在終端中輸入 `codex \mcp` 查看當前可用的 MCP 服務。 * **手動編輯**:直接編輯 `config.tom` 文件。 ### 四、 實戰演示:本地 MCP Server 開發與配置 (STDIO) * **開發流程**: 1. 創建項目目錄 (`mcp server`)。 2. 通過自然語言指令讓 Codex 開發 MCP Server(例如:`file manager`,用於本地文件管理)。 3. Codex 默認使用 Node.js 和 JSON-RPC STDIO 協議生成代碼。 * **配置與驗證**: 1. 讓 Codex 將開發好的服務配置到 `config.tom`。 2. Codex 自動分析服務標準性、路徑、權限(如 PowerShare 權限優化,使用 `npm.cmd` 而非 `npm`)。 3. Codex 自動驗證服務是否可啟動及功能是否正常。 * **調用測試**: * 通過自然語言指令調用 MCP 工具(如查詢目錄結構、讀取文件)。 * 確認調用通過 STDIO 協議成功執行。 ### 五、 實戰演示:第三方 MCP Server 的使用 * **添加第三方服務**: * 示例:添加 `context7` MCP Server。 * 狀態:默認為未授權 (unauthorized),需進行授權處理。 * **調用方式**: * 直接詢問 Codex 關於該服務的功能或具體問題。 * Codex 會自動調用對應的 MCP 服務獲取最新第三方庫文檔或示例代碼。 ### 六、 實戰演示:HTTP/SSE 協議 MCP Server 開發 * **需求**:開發一個基於 HTTP 協議的 MCP Server,實現四則運算 (`calculate`)。 * **開發特點**: * 協議:Streamable HTTP (SSE)。 * 參數:需指定 IP、端口等網絡參數。 * Codex 會參考官方規範生成代碼,並自動驗證。 * **配置與調用**: 1. 配置 HTTP 類型的 MCP Server,需指定地址而非本地命令。 2. Codex 自動處理版本問題、權限及配置備份。 3. 啟動 Node 進程監聽端口。 4. 調用測試:通過自然語言指令觸發加減乘除計算,確認通過網絡/SSE 協議成功返回結果。 * **協議對比**: * STDIO:本地進程通信,無網絡延遲。 * HTTP/SSE:網絡通信,支持遠程服務,涉及授權回調 (Callback) 流程。 ### 七、 高級配置與注意事項 * **權限與授權**: * 部分第三方 MCP Server 需要 OAuth 授權認證,涉及跳轉地址、監聽回調等流程。 * Codex 可協助處理授權配置。 * **工具級別控制**: * 可單獨禁用某些工具或設置默認審核行為 (Audit)。 * 可設置工具調用超時時間。 * **全局性**: * MCP 配置是應用級別/用戶級別的,在任何對話窗口中均可調用已配置的 MCP 服務。 * **插件集成**: * VSCode/Cursor 插件市場可能內置部分 MCP Server(如 Figma 設計相關),部分需登錄授權。 ### 八、 第二段重點:MCP Server 安裝建議 * **方式對比**:提及兩種方式存在區別,建議進行對比。 * **MCP Server 安裝建議**: * 講者表示剛才已帶領觀眾安裝了一個。 * 鼓勵觀眾自行上網尋找並安裝其他 MCP Server。 * **結論**:認為此過程容易理解。 ## 工具 / 模型 / 名詞整理 * **Codex**:影片主要討論的代碼助手/開發環境。 * **MCP (Model Context Protocol)**:模型上下文協議。 * **Otholopit**:提出 MCP 規範的公司名稱(逐字稿原文,疑點)。 * **STDIO**:協議類型,逐字稿中偶有聽寫為 "SDDIO" 或 "SCDIO"。 * **HTTP Server / SSE (Server-Sent Events)**:協議類型。 * **JSON-RPC**:MCP 服務中使用的通信規範。 * **Node.js**:開發 MCP Server 使用的語言環境。 * **Python**:逐字稿中提及的另一种可能使用的語言。 * **VSCode / Cursor**:支持安裝 Codex 插件的編輯器。 * **config.tom**:Codex 的配置文件名稱。 * **.codex**:Codex 的默認配置目錄。 * **context7**:第三方 MCP Server 名稱,用於查詢庫文檔。 * **file manager**:實戰中開發的本地文件管理 MCP Server 名稱。 * **calculate**:實戰中開發的 HTTP 協議四則運算 MCP Server 名稱。 * **PowerShare**:逐字稿中提及的權限相關詞彙,疑點。 * **Figma**:插件市場中提及的設計相關 MCP Server。 * **Chroma**:逐字稿中提及的工具名稱。 * **MCB / MCB server**:逐字稿中部分地方將 "MCP" 聽寫為 "MCB",需查證。 * **Edgerton Lobe**:逐字稿中提及 Codex 內部的某個循環驗證機制名稱,聽起來較陌生,需查證是否為特定技術術語或誤聽。 * **Vidami**:逐字稿中提及的一個項目名稱,需查證是否為具體開源項目名稱。 * **洛伊**:逐字稿中提及的目錄或項目名稱,需查證。 * **Current**:逐字稿中提及調用服務時的名稱,需查證是否為 "Calculate" 的誤聽。 * **script**:逐字稿中提及 "mcb服務 script",需查證是否為特定腳本名稱或誤聽。 * **mcp的色河**:疑似為「MCP Server」的聽寫或口誤,需查證。 ## 操作流程整理 1. **查看與管理 MCP 服務**: * 進入 VSCode/Cursor 設置 (Gear Icon) -> Codex Search -> Page -> MCP 服務器,進行啟用/禁用操作。 * 或在終端輸入 `codex \mcp` 查看當前可用的 MCP 服務。 * 或直接編輯用戶主目錄下的 `.codex/config.tom` 文件。 2. **開發本地 STDIO MCP Server (以 file manager 為例)**: * 創建項目目錄。 * 使用自然語言指令讓 Codex 開發 MCP Server(指定使用 Node.js 和 JSON-RPC STDIO 協議)。 * 讓 Codex 將開發好的服務配置到 `config.tom`。 * Codex 自動分析服務標準性、路徑、權限(如 PowerShare 權限優化,使用 `npm.cmd`)。 * Codex 自動驗證服務是否可啟動及功能是否正常。 * 通過自然語言指令調用 MCP 工具進行測試。 3. **添加第三方 MCP Server (以 context7 為例)**: * 添加 `context7` MCP Server。 * 處理未授權 (unauthorized) 狀態,進行授權。 * 通過自然語言指令詢問,Codex 自動調用該服務獲取文檔或代碼。 4. **開發 HTTP/SSE MCP Server (以 calculate 為例)**: * 使用自然語言指令讓 Codex 開發基於 Streamable HTTP (SSE) 協議的 MCP Server,實現四則運算。 * 指定 IP、端口等網絡參數。 * Codex 參考官方規範生成代碼,自動處理版本問題、權限及配置備份。 * 配置 HTTP 類型 MCP Server,指定地址而非本地命令。 * 啟動 Node 進程監聽端口。 * 通過自然語言指令觸發計算,確認通過網絡/SSE 協議返回結果。 ## 值得注意的限制或風險 * **授權與認證**:部分第三方 MCP Server 需要 OAuth 授權認證,涉及跳轉地址、監聽回調等流程,配置相對複雜。 * **權限問題**:本地開發時可能涉及權限優化(如 PowerShare 權限),需確保使用正確的命令(如 `npm.cmd`)。 * **協議選擇風險**:STDIO 僅限本地,HTTP/SSE 涉及網絡通信及遠程服務,需確保服務器具有公网 IP 並正確配置防火牆或網絡策略。 * **配置全局性**:MCP 配置是應用級別/用戶級別的,一旦配置,在任何對話窗口中均可調用,需注意潛在的安全或隱私影響。 ## 逐字稿辨識疑點 * **Otholopit**:逐字稿中提到的提出 MCP 規範的公司名稱,聽起來較不常見,需查證是否為 "Anthropic" 或其他名稱的誤聽。 * **SDDIO / SCDIO**:逐字稿中多次出現的協議名稱,標準拼寫應為 "STDIO",此處標記為聽寫錯誤或口誤。 * **PowerShare**:逐字稿中提及的權限相關詞,標準環境中常見的是 "PowerShell",此處標記為需查證。 * **MCB / MCB server**:逐字稿中部分地方將 "MCP" 聽寫為 "MCB",需查證。 * **Edgerton Lobe**:逐字稿中提及 Codex 內部的某個循環驗證機制名稱,聽起來較陌生,需查證是否為特定技術術語或誤聽。 * **Vidami**:逐字稿中提及的一個項目名稱,需查證是否為具體開源項目名稱。 * **洛伊**:逐字稿中提及的目錄或項目名稱,需查證。 * **Current**:逐字稿中提及調用服務時的名稱,需查證是否為 "Calculate" 的誤聽。 * **script**:逐字稿中提及 "mcb服務 script",需查證是否為特定腳本名稱或誤聽。 * **mcp的色河**:疑似為「MCP Server」的聽寫或口誤,需查證。 ## 可延伸追問 * MCP 協議的具體技術規範和標準由哪個組織或公司制定? * 如何手動編輯 `.codex/config.tom` 文件來添加自定義的 MCP Server? * 在開發 HTTP/SSE 協議的 MCP Server 時,如何處理 OAuth 授權回調 (Callback) 的具體代碼實現? * Codex 插件市場中有哪些預置的 MCP Server 可用,它們的功能和授權方式是什麼? * 如何監控和調試已配置的 MCP Server 的運行狀態和日誌?