在 Agentic Coding 這一話題下,工具使用(Tool Use/Function calling)是一個非常有意思的話題。完成一個軟體開發任務,需要使用到大量的工具, 除去在 IDE 及其外掛生態本身提供的功能外,還會使用到大量的外部工具,如 Git、Docker、Kubernetes、Jenkins 等等。如何讓 AI 知道更多工具的存在以及如何使用這些工具,是一個非常有意思的話題。

所以,我花了一天的時間在 AutoDev 中實現了相關的功能,即 AutoDev 作為一個 MCP 服務,可以被任何 Agent Tool 呼叫;AutoDev 作為一個 MCP 客戶端,可以呼叫任何 MCP 服務。
引子 1:從漸進性 AI Agent 方案,到 AutoDev 即 MCP 服務

在更龐大的 AI Agent 話題之下,比如自動化的 Computer Use 場景下,IDE 也只是一個可呼叫的 Agent 工具。從當前的 AI Agent 進度來看,現在的 Agent Tool 使用是一種漸進式的 AI Agent 方案 —— 畢竟寫過 E2E 測試的同學都知道:操作 UI 的效率是非常之低的;以至於我們在編寫 AutoDev 時,並沒有寫多少 UI 自動化測試。
我們現在考慮的 AI Coding 是以 IDE 為中心的,但是還存在一個場景是以 Agent Tool 為中心的。即:
-
Agent 透過操縱 Browser 去獲取需求資訊;
-
Agent 開啟 IDE 去編寫程式碼;
-
Agent 開啟 DevOps 工具去釋出程式碼;
-
……
既然藉助 Agent Tool 來呼叫工具是 2025 年的一個趨勢,那麼我們為什麼不將 AutoDev 作為一個 MCP 服務呢?即 AutoDev 作為一個 MCP 服務,讓任何 Agent Tool 都可以呼叫 AutoDev 的服務。哪怕是 Cursor、Cline、GitHub Copilot 等等,都可以呼叫 AutoDev 的服務,以獲取 IDE 中的高質量上下文。
引子 2:從 MCP 即 Agent Tool 生態,到 MCP 服務即 AutoDev 指令
在過去,我們在 AutoDev 中優先考慮的是藉助 IDE 的生態,以及自身的外掛體系,以實現 AI 更好的支援端到端的開發流程。但是,隨著我們在 AutoDev 集成了更豐富的外掛能力之後,我們依然需要大量的 Agent Tool。
Agent Tool 決定 AI IDE 的基線能力

不可否認,在我們研究了大量的 AI Coding 工具之後,我們會發現,大量的 AI Editor 基於 VSCode 時在 tool 上提供的能力非常之相似,以至於我們 可以用一張圖來描述它們的能力。但是,在 IDE 上的 AI Coding 外掛則提供了更加豐富的能力,如 AST、Debug、FQN 查詢等等。
典型的基於 VSCode 的 AI Coding 工具,提供了十個左右的工具,而基於 JetBrains 的 AI Coding 外掛(如 AutoDev、JetBrains Junie)則提供了 20 個左右的工具,而這些只是基礎的 IDE 上的能力。
而隨著 AI Coding 進一步向需求、部署、運維等方向發展,相關的工具生態勢必會更加豐富。
MCP 開源生態已經形成
MCP(Model Context Protocol)是由 Anthropic 公司(Claude 模型) 推出的一個協議,它透過提供一種標準化的介面,LLM 應用可以訪問外部資訊、工具和資源。儘管我們在 AutoDev 提供了強大的自定義能力,諸如於 Custom Agent 等能力,但是:
-
有些工具是我們無法預知的,如某些公司內部的工具;
-
MCP 等工具的生態是非常豐富的,並且正在成為一個標準。(儘管國內可能有一些不同)
但是,自打 Cursor、Cline 等程式設計工具引入了 MCP 之後,大量的 MCP 服務已經在國外形成了一個生態,特別是已經有了非常多的開源實現。
AutoDev x MCP:雙向賦能
基於上述的思考,我們基於 MCP 相關的外掛(MCP Plugin)和生態(io.modelcontextprotocol),構建了 AutoDev x MCP 的雙向賦能方案。即:
-
AutoDev 作為一個 MCP 服務,可以被任何 Agent Tool 呼叫;
-
AutoDev 作為一個 MCP 客戶端,可以呼叫任何 MCP 服務。
透過這兩種方式來沉澱我們在 MCP 方面的能力。
AutoDev 作為 MCP 服務端
我們基於 JetBrains 的 MCP 方案,提供構建了 AutoDev 作為一個 MCP 服務的能力(注:需要在配置中開啟 MCP 能力)。你只需要透過 JSON 來配置即可 ,如下是 Cline 外掛中的配置示例:
-
{
-
"mcpServers":{
-
"AutoDev":{
-
"command":"npx",
-
"args":[
-
"-y",
-
"@jetbrains/mcp-proxy"
-
],
-
"disabled":false,
-
"autoApprove":[]
-
}
-
}
-
}
在當前的版本里,我們只基於官方提供的能力,加了一些資料庫相關的能力,其它能力需要等有合適的國產 MCP 服務後再進行擴充套件。
AutoDev 作為 MCP 客戶端
相似的,你需要在 AutoDev 的 Custom Agent 頁面配置相關的 MCP 服務,如下是 MCP 官方提供的示例
-
{
-
"mcpServers":{
-
"filesystem":{
-
"command":"npx",
-
"args":[
-
"-y",
-
"@modelcontextprotocol/server-filesystem",
-
"/Volumes/source/ai/auto-dev"
-
]
-
}
-
}
-
}
隨後,這個 MCP 服務提供的工具,就可以在 AutoDev 中被呼叫了。如下是轉換為 DevIns 後的示例:
-
/list_directory
-
```json
-
{
-
"path": "/Volumes/source/ai/autocrud/docs/mcp"
-
}
-
```
現在,藉助於強大的 AutoDev DevIns Command,你可以在 AutoDev 中呼叫任何 MCP 服務,當然 Agent 也是可以的。
其它
人生苦短,我有 AI。
-
詳細文件見:https://ide.unitmesh.cc/mcp
-
歡迎下載和使用最新版本 AutoDev(v2.0.0-rc.2)進行體驗。下載地址:https://github.com/unit-mesh/auto-dev/releases/tag/v2.0.0-rc.2