面向AI代理的高完整性HTML提取工具(支援原生MCP)
Mission是一款用Rust編寫的快速、健壯的HTML解析器和CSS選擇器引擎,具有零依賴、無網路層、崩潰免疫等特點,並內建MCP工具支援,可讓AI代理高效提取結構化資料。
Mission 是一款用 Rust 語言編寫的、以健壯性和效能為核心的 HTML 解析器與 CSS 選擇器引擎。它的設計目標是在不崩潰的前提下處理任何糟糕的 HTML,並從中提取乾淨文本或結構化資料。該工具完全零依賴,單個二進位制檔案即可執行,且預設不發起任何網路請求——輸入僅來自檔案、管道或標準輸入,極大降低了攻擊面。
Mission 的核心功能包括:將 HTML 渲染為可讀文本、透過 CSS 選擇器提取元素、輸出屬性值或 JSON 格式資料,並支援流式 NDJSON 管道模式(--filter)。其 CSS 選擇器引擎覆蓋了大部分標準選擇器,包括 :has()、:not()、:nth-child() 等組合器。
對於 AI 代理場景,Mission 提供了 mission-mcp 工具——一個符合 Model Context Protocol(MCP)的伺服器。透過將 mission-mcp 接入任何相容 MCP 的編輯器或環境,代理即可獲得 select、select_text、render、attributes 四個工具,在本地對 HTML 進行確定性提取,無需將整個頁面內容塞入上下文視窗。配置方式簡單,例如在客戶端配置中新增:
{
"mcpServers": {
"mission": { "command": "mission-mcp" }
}
}效能方面,Mission 在單核無 SIMD 條件下可以達到 ~50 MB/s 的解析吞吐量,而 CSS 選擇器的匹配速度超過 1 GB/s。整個程式碼庫使用 #![forbid(unsafe_code)],並經過突變測試(mutation testing)驗證行為正確性。
Mission 本身作為開源專案(MIT 或 Apache-2.0 許可)免費提供,是 Mission Cloud 平臺的核心元件。Mission Cloud 是一個託管平臺,在 Mission 引擎之上增加了自愈策略、回退選擇器、高吞吐傳輸等功能,適用於大規模、持續執行的提取任務。開發者可先用 Mission 進行本地開發和原型驗證,當需求增長時再無縫遷移到 Mission Cloud。