面向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。