Aipex工具详解:核心MCP工具全面解析
2025/10/09

Aipex工具详解:核心MCP工具全面解析

深入了解Aipex的核心MCP工具,掌握浏览器自动化的核心能力。从标签页管理到智能内容提取,全面解析每个工具的功能和使用场景。

Aipex工具详解:核心MCP工具全面解析

Aipex作为革命性的AI驱动浏览器自动化扩展,其核心能力来自于精心设计并实际部署的MCP(Model Context Protocol)工具。这些工具将复杂的浏览器操作抽象为简单的自然语言命令,让用户能够通过AI助手实现几乎任何浏览器自动化任务。

🎯 工具架构概览

Aipex的工具系统基于MCP协议构建,采用模块化设计,将核心工具分为8个主要类别:

  • 标签页管理 (7个工具) - 标签页的创建、切换、组织
  • 标签页分组 (2个工具) - AI驱动的智能分组和组织
  • 页面内容 (3个工具) - 内容提取和页面交互
  • UI操作 (5个工具) - 基于可访问性的元素交互
  • 下载管理 (4个工具) - 文件下载和内容保存
  • 截图功能 (4个工具) - 屏幕捕获和图像处理

🚀 核心工具类别详解

1. 标签页管理工具 (7个工具)

标签页管理是浏览器自动化的基础,Aipex提供了7个核心工具:

get_all_tabs - 获取所有标签页

// 获取所有窗口中的所有标签页
const tabs = await get_all_tabs()
console.log(`发现 ${tabs.length} 个标签页`)

关键作用:

  • 提供完整的标签页视图
  • 支持跨窗口标签页管理
  • 为AI提供上下文信息

get_current_tab - 获取当前标签页

// 获取当前活动标签页信息
const currentTab = await get_current_tab()

switch_to_tab - 智能标签页切换

// 切换到指定标签页
await switch_to_tab({ tabId: 123 })

关键作用:

  • 精确的标签页定位
  • 自动窗口聚焦
  • 支持自然语言描述切换

create_new_tab - 智能标签页创建

// 创建新标签页,自动处理URL格式
const newTab = await create_new_tab({ url: "example.com" })

关键作用:

  • 自动URL格式修正
  • 支持相对路径和域名
  • 返回新标签页信息

get_tab_info - 获取标签页详情

// 获取指定标签页的详细信息
const tabInfo = await get_tab_info({ tabId: 123 })

duplicate_tab - 复制标签页

// 复制现有标签页
await duplicate_tab({ tabId: 123 })

close_tab - 关闭标签页

// 关闭指定标签页
await close_tab({ tabId: 123 })

2. AI驱动的标签页分组 (2个工具)

这是Aipex的独特功能,通过AI智能分析标签页内容进行自动分组:

organize_tabs - AI智能分组

// 使用AI自动分析并分组标签页
const result = await organize_tabs()

关键作用:

  • 基于内容语义分析
  • 自动生成有意义的组名
  • 支持多语言内容识别
  • 提高工作效率

ungroup_tabs - 取消分组

// 移除当前窗口中的所有标签页分组
await ungroup_tabs()

3. 页面内容工具 (3个工具)

get_page_metadata - 页面元数据提取

// 获取页面元数据
const metadata = await get_page_metadata()
// 返回:标题、描述、关键词、作者、OG图片等

关键作用:

  • 提取SEO相关信息
  • 获取社交媒体元数据
  • 支持结构化数据识别

scroll_to_element - 滚动到元素

// 滚动到指定元素
await scroll_to_element({ selector: ".target-element" })

highlight_element - 高亮元素

// 高亮页面元素
await highlight_element({ selector: ".important" })

highlight_text_inline - 内联文本高亮

// 高亮页面中的文本
await highlight_text_inline({
  selector: "p",
  searchText: "重要内容"
})

4. UI操作工具 (5个工具)

基于Chrome DevTools MCP原则的全新UI操作系统:

take_snapshot - 可访问性快照

// 创建基于可访问性的页面快照
const snapshot = await take_snapshot()
// 返回:带有唯一ID的元素列表

关键作用:

  • 基于W3C可访问性标准
  • 提供稳定的元素标识
  • 支持动态内容识别
  • 比CSS选择器更可靠

click - 精确元素点击

// 通过唯一ID点击元素
await click({ uid: 'snapshot_1_5' })

关键作用:

  • 避免CSS选择器失效
  • 支持动态内容交互
  • 提供更好的错误处理
  • 兼容各种网站结构

fill_element_by_uid - 智能表单填写

// 智能填写表单元素
await fill_element_by_uid({
  uid: 'snapshot_1_7',
  value: '用户输入内容'
})

fill_form - 批量表单填写

// 批量填写表单
await fill_form({
  elements: [
    { uid: 'field1', value: 'value1' },
    { uid: 'field2', value: 'value2' }
  ]
})

hover_element_by_uid - 元素悬停

// 悬停在指定元素上
await hover_element_by_uid({ uid: 'snapshot_1_8' })

5. 下载管理工具 (4个工具)

download_text_as_markdown - 下载Markdown文件

// 下载文本为Markdown文件
await download_text_as_markdown({
  text: "# 标题\n内容",
  filename: "document.md"
})

关键作用:

  • 保持内容结构
  • 支持代码块和表格
  • 便于文档整理
  • 兼容各种编辑器

download_image - 下载图片

// 下载图片文件
await download_image({
  imageData: "base64-data",
  filename: "image.png"
})

download_chat_images - 下载聊天图片

// 下载聊天中的图片
await download_chat_images({
  messages: chatMessages,
  folderPrefix: "chat-images"
})

download_current_chat_images - 下载当前聊天图片

// 下载当前聊天中的所有图片
await download_current_chat_images({
  folderPrefix: "current-chat"
})

6. 截图功能 (4个工具)

capture_screenshot - 智能截图

// 捕获当前标签页截图
const screenshot = await capture_screenshot()
// 返回:base64编码的图像数据

关键作用:

  • 支持全页面截图
  • 自动处理滚动内容
  • 提供高质量图像
  • 支持多种格式

capture_tab_screenshot - 指定标签页截图

// 捕获指定标签页截图
const screenshot = await capture_tab_screenshot({ tabId: 123 })

capture_screenshot_to_clipboard - 剪贴板截图

// 直接保存截图到剪贴板
await capture_screenshot_to_clipboard()

🔧 工具使用最佳实践

1. 组合使用策略

// 典型的工作流程组合
async function researchWorkflow(topic) {
  // 1. 创建新标签页
  const tab = await createNewTab(`https://google.com/search?q=${topic}`)

  // 2. 等待页面加载
  await waitForStableDom()

  // 3. 提取页面内容
  const content = await extractPageText()

  // 4. 获取相关链接
  const links = await getPageLinks()

  // 5. 保存为Markdown
  await downloadTextAsMarkdown(content.text, `research-${topic}`)

  return { content, links }
}

2. 错误处理模式

async function robustOperation() {
  try {
    // 等待DOM稳定
    await waitForStableDom()

    // 执行操作
    const result = await clickElementByUid('element_uid')

    // 验证结果
    await waitForEventsAfterAction(() => {
      // 等待操作完成
    })

    return result
  } catch (error) {
    console.error('操作失败:', error)
    // 重试或回退策略
  }
}

3. 性能优化技巧

// 批量操作减少API调用
async function batchTabOperations() {
  const tabs = await getAllTabs()

  // 批量处理而不是逐个处理
  const operations = tabs.map(tab =>
    getTabInfo(tab.id)
  )

  const results = await Promise.all(operations)
  return results
}

🎯 工具集成与AI协作

自然语言到工具调用

Aipex的AI助手能够理解自然语言指令并自动选择合适的工具:

用户:"帮我整理一下工作相关的标签页"
AI自动执行:
1. getAllTabs() - 获取所有标签页
2. groupTabsByAI() - AI分析并分组
3. createTabGroup() - 创建相关分组

智能工具选择

AI会根据上下文自动选择最合适的工具组合:

  • 内容分析任务extractPageText() + getPageMetadata()
  • 表单填写任务takeSnapshot() + fillElementByUid()
  • 数据收集任务getPageLinks() + downloadTextAsMarkdown()

🚀 高级功能特性

1. 跨标签页协作

// 多标签页数据收集
async function collectDataFromMultipleTabs() {
  const tabs = await getAllTabs()
  const results = []

  for (const tab of tabs) {
    await switchToTab(tab.id)
    const content = await extractPageText()
    results.push({ tab: tab.title, content })
  }

  return results
}

2. 智能内容分析

// 结合多个工具进行深度分析
async function analyzePageContent() {
  const [metadata, text, links, images] = await Promise.all([
    getPageMetadata(),
    extractPageText(),
    getPageLinks(),
    getPageImages()
  ])

  return {
    summary: {
      title: metadata.title,
      wordCount: text.wordCount,
      linkCount: links.links.length,
      imageCount: images.images.length
    },
    content: { metadata, text, links, images }
  }
}

3. 自动化工作流

// 完整的研究工作流
async function researchWorkflow(query) {
  // 1. 搜索
  await createNewTab(`https://google.com/search?q=${query}`)
  await waitForStableDom()

  // 2. 收集信息
  const content = await extractPageText()
  const links = await getPageLinks()

  // 3. 深入分析
  const relevantLinks = links.links.filter(link =>
    link.text.toLowerCase().includes(query.toLowerCase())
  )

  // 4. 保存结果
  const markdown = `# ${query} 研究结果\n\n${content.text}\n\n## 相关链接\n${relevantLinks.map(link => `- [${link.text}](${link.href})`).join('\n')}`

  await downloadTextAsMarkdown(markdown, `research-${query}`)

  return { content, relevantLinks }
}

📊 工具性能与限制

性能优化

  • 批量操作:减少API调用次数
  • 智能缓存:避免重复数据获取
  • 异步处理:并行执行独立操作
  • 错误恢复:自动重试和回退机制

使用限制

  • 权限要求:部分工具需要特定Chrome权限
  • 网站限制:某些网站可能有反自动化措施
  • 性能考虑:大量操作时注意内存使用
  • 网络依赖:部分功能需要网络连接

🔮 未来发展方向

Aipex的工具系统将持续演进:

  1. 更多AI能力:增强内容理解和分析
  2. 跨平台支持:扩展到其他浏览器
  3. 自定义工具:允许用户创建专用工具
  4. 工作流模板:预定义常用自动化流程
  5. 性能优化:进一步提升工具执行效率

总结

Aipex的核心MCP工具构成了一个完整的浏览器自动化生态系统。从基础的标签页管理到高级的AI驱动内容分析,每个工具都经过精心设计,确保在提供强大功能的同时保持简单易用。

通过自然语言与AI助手的交互,用户可以轻松组合这些工具创建复杂的自动化工作流,大大提高浏览器使用效率。无论是日常的标签页整理、内容收集,还是复杂的数据分析和研究工作,Aipex都能提供强大的工具支持。

随着AI技术的不断发展,Aipex的工具系统也将持续进化,为用户提供更加智能、高效的浏览器自动化体验。

分类

Aipex工具详解:核心MCP工具全面解析🎯 工具架构概览🚀 核心工具类别详解1. 标签页管理工具 (7个工具)get_all_tabs - 获取所有标签页get_current_tab - 获取当前标签页switch_to_tab - 智能标签页切换create_new_tab - 智能标签页创建get_tab_info - 获取标签页详情duplicate_tab - 复制标签页close_tab - 关闭标签页2. AI驱动的标签页分组 (2个工具)organize_tabs - AI智能分组ungroup_tabs - 取消分组3. 页面内容工具 (3个工具)get_page_metadata - 页面元数据提取scroll_to_element - 滚动到元素highlight_element - 高亮元素highlight_text_inline - 内联文本高亮4. UI操作工具 (5个工具)take_snapshot - 可访问性快照click - 精确元素点击fill_element_by_uid - 智能表单填写fill_form - 批量表单填写hover_element_by_uid - 元素悬停5. 下载管理工具 (4个工具)download_text_as_markdown - 下载Markdown文件download_image - 下载图片download_chat_images - 下载聊天图片download_current_chat_images - 下载当前聊天图片6. 截图功能 (4个工具)capture_screenshot - 智能截图capture_tab_screenshot - 指定标签页截图capture_screenshot_to_clipboard - 剪贴板截图🔧 工具使用最佳实践1. 组合使用策略2. 错误处理模式3. 性能优化技巧🎯 工具集成与AI协作自然语言到工具调用智能工具选择🚀 高级功能特性1. 跨标签页协作2. 智能内容分析3. 自动化工作流📊 工具性能与限制性能优化使用限制🔮 未来发展方向总结

邮件列表

加入我们的社区

订阅邮件列表,及时获取最新消息和更新