通过引入合适的 MCP Server,智能体可以更深度地参与到日常开发流程中,协助完成项目文件读取、官方文档获取、浏览器自动化、代码仓库管理,以及跨会话的上下文维护等任务。
本文基于真实开发场景,介绍 TraeCode 中常用的 10 个 MCP Server,梳理它们的核心能力、使用场景与可用工具,帮助你在不同开发阶段选择合适的 MCP Server,从而提升开发效率。
本文介绍的 10 个 MCP Server 如下:
|
MCP Server |
简介 |
|---|---|
| Context7 | Context7 MCP Server 提供面向 AI 模型的文档检索与上下文注入能力,可实时获取官方文档的最新内容和指定版本的代码示例。 |
| Puppeteer | Puppeteer MCP Server 提供浏览器自动化能力,使 LLM 能够在真实的浏览器环境中与网页进行交互、截取屏幕截图,并执行 JavaScript。 |
| Sequential Thinking | Sequential Thinking MCP Server 通过结构化的思维流程,为动态且具反思性的问题求解提供工具。 |
| GitHub | GitHub MCP Server 基于 GitHub API,允许 LLM 直接访问并管理 GitHub 上的仓库、代码、用户、Issue 与 Pull Request。 |
| Figma AI Bridge | Figma AI Bridge MCP Server 针对设计到实现阶段,提供查看、分析和提取 Figma 设计数据的能力,帮助 LLM 理解设计的结构并辅助精确还原设计稿中内容。 |
| Playwright | Playwright MCP Server 基于 Playwright 提供浏览器自动化能力,使 LLM 能够在真实的浏览器环境中与网页交互、截取屏幕截图、生成测试代码、抓取网页内容,并执行 JavaScript。 |
| Memory | Memory MCP Server 通过本地知识图谱(Knowledge Graph)持久化记忆,使 LLM 能够跨会话保留用户相关的上下文信息。 |
| Excel | Excel MCP Server 用于读取 Microsoft Excel 文件中的电子表格数据,或向其中写入数据。 |
| File System | File System MCP Server 提供基于文件系统的文件读取能力。 |
| Chrome DevTools MCP | Chrome DevTools MCP 让 AI 智能体能够直接控制并深入检查 Chrome 浏览器。它向 AI 开放了 Chrome DevTools 的全部能力,使其能更精准、高效地完成网页自动化测试、故障排查及性能分析等任务。 |
Context7 MCP Server 提供面向 AI 模型的文档检索与上下文注入能力,可实时获取官方文档的最新内容和指定版本的代码示例,确保模型在回答问题、生成代码或提供方案时,基于最新的官方信息。
|
工具 |
描述 |
|---|---|
| resolve-library-id | 将通用的库名称解析为 Context7 兼容的库 ID。 |
| query-docs | 使用 Context7 兼容的库 ID 获取指定库的文档。 |
Puppeteer MCP Server 提供浏览器自动化能力,使 LLM 能够在真实的浏览器环境中与网页进行交互、截取屏幕截图,并执行 JavaScript。
console 日志,辅助调试与问题定位。|
工具 |
描述 |
|---|---|
| puppeteer_navigate | 在浏览器中导航到任意 URL。 |
| puppeteer_screenshot | 对整个页面或指定元素进行截图。 |
| puppeteer_click | 点击页面中的元素。 |
| puppeteer_hover | 将鼠标悬停在页面元素上。 |
| puppeteer_fill | 填写输入框。 |
| puppeteer_select | 选择带有 SELECT 标签的元素。 |
| puppeteer_evaluate | 在浏览器控制台中执行 JavaScript。 |
Sequential Thinking MCP Server 通过结构化的思维流程,为动态且具反思性的问题求解提供工具。
|
工具 |
描述 |
|---|---|
| sequential_thinking | 为问题求解和分析提供细致的、逐步推进的思考过程。 |
GitHub MCP Server 基于 GitHub API,允许 LLM 直接访问并管理 GitHub 上的仓库、代码、用户、Issue 与 Pull Request。
该 MCP Server 支持的所有操作仅作用于 GitHub 上的远程资源:所有文件操作均发生在 GitHub 仓库中,通过 Commit 与 Pull Request 提交,不会读取或修改用户本地的文件系统。
|
工具 |
描述 |
|---|---|
| create_or_update_file | 在仓库中创建或更新单个文件。 |
| push_files | 在一次提交中推送多个文件。 |
| search_repositories | 搜索 GitHub 仓库。 |
| create_repository | 创建新的 GitHub 仓库。 |
| get_file_contents | 获取文件或目录内容。 |
| create_issue | 创建新的 Issue。 |
| create_pull_request | 创建新的 Pull Request。 |
| fork_repository | Fork 一个仓库。 |
| create_branch | 创建新分支。 |
| list_issues | 列出并筛选仓库 Issue。 |
| update_issue | 更新已有 Issue。 |
| add_issue_comment | 为 Issue 添加评论。 |
| search_code | 在 GitHub 上搜索代码。 |
| search_issues | 搜索 Issue 和 Pull Request。 |
| search_users | 搜索 GitHub 用户。 |
| list_commits | 获取仓库某个分支的提交记录。 |
| get_issue | 获取仓库中指定 Issue 的内容。 |
| get_pull_request | 获取指定 Pull Request 的详情。 |
| list_pull_requests | 列出并筛选仓库的 Pull Request。 |
| create_pull_request_review | 为某个 Pull Request 创建评审。 |
| merge_pull_request | 合并 Pull Request。 |
| get_pull_request_files | 获取某个 Pull Request 中变更的文件列表。 |
| get_pull_request_status | 获取某个 Pull Request 的所有状态检查的汇总状态。 |
| update_pull_request_branch | 使用 base 分支的最新更改更新某个 Pull Request 分支(等同于 GitHub 中的 “Update branch” 按钮)。 |
| get_pull_request_comments | 获取某个 Pull Request 的评审评论。 |
| get_pull_request_reviews | 获取某个 Pull Request 的评审记录。 |
Figma AI Bridge MCP Server 针对设计到实现阶段,提供查看、分析和提取 Figma 设计数据的能力,帮助 LLM 理解你的设计思路并辅助你精确还原设计稿中的内容。
|
工具 |
描述 |
|---|---|
| download_figma_images | 根据图像或图标节点的 ID,下载 Figma 文件中使用的 SVG 和 PNG 图片。 |
| get_figma_data | 当无法获取节点 ID 时,用于获取整个 Figma 文件的布局信息。同时支持获取某个 Figma 文件或文件中指定节点的相关信息。 |
Playwright MCP Server 基于 Playwright 提供浏览器自动化能力,使 LLM 能够在真实的浏览器环境中与网页交互、截取屏幕截图、生成测试代码、抓取网页内容,并执行 JavaScript。
相较于基础浏览器自动化,它进一步扩展了测试代码生成、网络请求控制与多设备模拟等能力,适合更复杂、结构化的网页测试。
iframe 场景。|
工具 |
描述 |
|---|---|
| start_codegen_session | 开始一个新的代码生成会话,用于记录 Playwright 操作。 |
| end_codegen_session | 结束代码生成会话并生成测试文件。 |
| get_codegen_session | 获取关于代码生成会话的信息。 |
| clear_codegen_session | 清除代码生成会话而不生成测试文件。 |
| playwright_navigate | 导航到一个 URL。 |
| playwright_screenshot | 对当前页面或特定元素进行截图。 |
| playwright_click | 点击页面上的元素。 |
| playwright_iframe_click | 点击 iframe 中的元素。 |
| playwright_iframe_fill | 在页面中的 iframe 里填充某个元素。 |
| playwright_fill | 填写输入字段。 |
| playwright_select | 使用 Select 标签选择页面上的元素。 |
| playwright_hover | 悬停在页面的元素上。 |
| playwright_upload_file | 将文件上传到页面中的 input[type="file"] 元素。 |
| playwright_evaluate | 在浏览器控制台执行 JavaScript。 |
| playwright_console_logs | 检索浏览器的控制台日志(带过滤选项)。 |
| playwright_resize | 使用自定义尺寸或设备预设来调整浏览器视口大小。支持 143 种以上的设备预设,包括 iPhone、iPad、各类 Android 设备以及桌面浏览器,并提供正确的 User-Agent 和触控(Touch)模拟。 |
| playwright_close | 关闭浏览器并释放所有资源。 |
| playwright_get | 执行 HTTP GET 请求。 |
| playwright_post | 执行 HTTP POST 请求。 |
| playwright_put | 执行 HTTP PUT 请求。 |
| playwright_patch | 执行 HTTP PATCH 请求。 |
| playwright_delete | 执行 HTTP DELETE 请求。 |
| playwright_expect_response | 请求 Playwright 开始等待某个 HTTP 响应。该工具只会启动等待操作,但不会阻塞或等待该操作完成。 |
| playwright_assert_response | 等待并校验之前已发起的 HTTP 响应等待操作。 |
| playwright_custom_user_agent | 为浏览器设置自定义 User-Agent。 |
| playwright_get_visible_text | 获取当前页面的可见文本内容。 |
| playwright_get_visible_html | 获取当前页面的 HTML 内容。默认情况下,输出结果会移除所有 |