关于 Mime (mcp Integrated Modern Executor)
MIME 是以 Go 构建并原生支持 MCP 的浏览器自动化服务,面向需要浏览和操作网页的 AI Agent。它以单一二进制文件提供浏览器控制、页面提取、截图及多页面爬取功能。
主要功能
- 01基于 Go 的浏览器自动化
- 02单一二进制文件,无需运行时依赖
- 03导航、点击、输入和滚动
- 04提取文本、HTML、元数据和链接
- 05截图、爬取及网站结构映射
- 06隐身模式和操作追踪
适用场景
- 01访问网页并提取新闻标题
- 02查看表单并填写信息
- 03截取页面以供检查
- 04爬取网站并保存 Markdown
MCP 相关
MIME 可作为 MCP 服务运行,向 MCP 客户端提供浏览器导航、交互、提取、截图、爬取和映射工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MIME
MIME(MCP-Integrated Modern Executor)是一款使用 Go 构建的高性能浏览器自动化工具,原生支持 Model Context Protocol(MCP)。
🏆 性能
| 指标 | MIME | Puppeteer | Playwright | 相比 Puppeteer | 相比 Playwright |
|---|---|---|---|---|---|
| 启动 | 650 ms | 855 ms | 720 ms | 快 24% | 快 10% |
| 导航 | 187 ms | 808 ms | 450 ms | 快 77% | 快 58% |
| 截图 | 95 ms | 163 ms | 122 ms | 快 42% | 快 22% |
| 提取 | 2 ms | 17 ms | 12 ms | 快 88% | 快 83% |
| 总计 | 934 ms | 1843 ms | 1304 ms | 快 49% | 快 28% |
✨ 特性
- 🚀 高性能 - 使用 Go 和 Rod(Chrome DevTools Protocol)构建
- 🤖 原生支持 MCP - Claude 等 AI Agent 可以直接控制浏览器
- 📦 单一二进制文件 - 无需运行时依赖(不需要 Node/Python)
- 🛡️ 隐身模式 - 内置反检测和指纹屏蔽功能
- 🕵️ 跟踪模式 - 通过截图记录每项操作,方便调试
- ⚡ 自动等待 - 智能稳定性检查(等待动画/启用状态)
🆚 与 Playwright 的比较
| 特性 | MIME | Playwright |
|---|---|---|
| 架构 | 单一静态二进制文件(Go) | Node.js 运行时 + NPM 模块 |
| 使用场景 | AI Agent 和大模型 | E2E 测试与 QA |
| 安装 | go install(无需配置) | npm install + npx playwright install |
| 性能 | 高(Go + Raw CDP) | 中等(JS 桥接开销) |
| 隐身 | 原生(集成) | 需要插件(stealth-evasions) |
| 安全性 | 可用于沙箱,阻止 file:// | 默认拥有完整本地访问权限 |
| 生态系统 | MCP 优先(Claude/Cursor) | 开发者优先(VS Code / CI) |
🚀 安装
注意: 这是一个私有仓库。安装需要仓库访问权限。
选项 1:从源代码构建(推荐)
git clone [email protected]:akashrtd/mime.git
cd mime
make install
选项 2:通过 Go 安装
# Requires GOPRIVATE to be set for private repo access
export GOPRIVATE=github.com/akashrtd/*
go install github.com/akashrtd/mime/cmd/mime@latest
你也可以使用 make build 在 ./bin/mime 中创建二进制文件,而无需将其安装到系统级目录。
🤖 MCP 服务(AI 集成)
MIME 可以用作 MCP 服务,让 AI 助手控制浏览器。
配置 Claude Desktop
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mime": {
"command": "/path/to/mime",
"args": ["serve"]
}
}
}
可用的 MCP 工具
| 工具 | 描述 |
|---|---|
navigate | 导航到 URL |
click | 通过 CSS 选择器点击元素 |
type | 在元素中输入文本 |
extract | 从元素中提取文本 |
screenshot | 捕获屏幕截图(PNG/JPEG)。选项:format、quality |
execute | 在页面上运行 JavaScript |
html | 获取页面 HTML 内容 |
wait_for | 等待元素(文本/CSS) |
scroll | 滚动到元素或指定位置 |
hover | 将鼠标悬停在元素上 |
markdown | 获取页面内容的 Markdown 版本 |
metadata | 提取页面元数据 |
links | 提取所有链接 |
get_cookies | 获取所有 Cookie |
clear_cookies | 清除所有 Cookie |
observe | 分析页面,供 AI Agent 使用 |
act | 自然语言操作 |
crawl | 多页面爬取 |
map | 网站结构映射 |
Claude 提示词示例
- “访问 https://news.ycombinator.com 并提取头条标题”
- “访问 example.com,截取屏幕截图并描述你看到的内容”
- “点击登录按钮,并在表单中输入我的电子邮件”
- “观察页面并告诉我有哪些表单”
- “爬取 https://example.com 并将 Markdown 保存到文件”
📖 Go 库用法
package main
import (
"context"
"fmt"
"log"
"github.com/akashrtd/mime/pkg/mime"
)
func main() {
m, err := mime.New(context.Background())
if err != nil {
log.Fatal(err)
}
defer m.Close()
m.Navigate("https://example.com")
title, _ := m.Extract("h1")
fmt.Println(title)
}
🛠️ CLI 命令
# Start MCP server
mime serve
# Start with visible browser (debug mode)
mime serve --visible
# Start with stealth mode enabled
mime serve --stealth
# Show version
mime version
📦 TypeScript SDK
为 Node.js 项目安装 TypeScript SDK:
npm install @mime-browser/sdk
import { MIME } from "@mime-browser/sdk";
const browser = await MIME.connect();
await browser.navigate("https://example.com");
const title = await browser.extract("h1");
await browser.close();
完整文档请参阅 sdk/typescript/README.md。
📊 基准测试
详细的性能对比请参阅 benchmark/RESULTS.md。
# Run benchmarks
go run benchmark/mime/benchmark.go
📂 项目结构
mime/
├── cmd/mime/ # CLI entry point
├── pkg/mime/ # Core library code
├── sdk/ # Client SDKs
├── examples/ # Usage examples
├── Makefile # Build commands
└── go.mod
🛠️ 开发
我们使用 Makefile 来统一开发任务。
# Show available commands
make help
# Build binary
make build
# Run tests
make test
🗺️ 路线图
- 核心浏览器自动化
- 简易 Go API
- CLI 工具
- MCP 服务集成
- TypeScript SDK
- CI/CD 和自动发布
- 会话持久化
- Markdown 和元数据
- AI Agent 工具(观察、操作)
- 多页面(爬取、映射)
- 连接池(库)- 已在
pkg/mime/pool.go中实现 - 重试逻辑 - 已在
pkg/mime/retry.go中实现 - 隐身模式(反检测)
📄 许可证
MIT 许可证 - 请参阅 LICENSE
🙏 致谢
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。