AutoDev × MCP 双向赋能:AutoDev 即 MCP 服务,MCP 服务即 AutoDev 指令

在 Agentic Coding 这一话题下,工具使用(Tool Use/Function calling)是一个非常有意思的话题。完成一个软件开发任务,需要使用到大量的工具, 除去在 IDE 及其插件生态本身提供的功能外,还会使用到大量的外部工具,如 Git、Docker、Kubernetes、Jenkins 等等。如何让 AI 知道更多工具的存在以及如何使用这些工具,是一个非常有意思的话题。

0a6bb2c54844f5e48a6d683368e584ce.png

所以,我花了一天的时间在 AutoDev 中实现了相关的功能,即 AutoDev 作为一个 MCP 服务,可以被任何 Agent Tool 调用;AutoDev 作为一个 MCP 客户端,可以调用任何 MCP 服务。

引子 1:从渐进性 AI Agent 方案,到 AutoDev 即 MCP 服务

69f2c60d6e7d3620b0728bdf664e62a9.jpeg

在更庞大的 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 的基线能力

28c10f138e69e60e5a026df3209e9c7c.jpeg

不可否认,在我们研究了大量的 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33567.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DataWhale 大语言模型 - GPT和DeepSeek模型介绍

本课程围绕中国人民大学高瓴人工智能学院赵鑫教授团队出品的《大语言模型》书籍展开,覆盖大语言模型训练与使用的全流程,从预训练到微调与对齐,从使用技术到评测应用,帮助学员全面掌握大语言模型的核心技术。并且,课程…

安装 oepn-webui报错 Cannot connect to host api.openai.com:443 ssl

一、发现问题 安装 open-webui 的报错 api.openai.com 不通,因为 open-webui 最新版和以前的不一样了,所以网上的很多资料都用不了,经过一番摸索,找到解决办法 另外如果发现浏览器打开之后白屏,则是因为后台正在配置…

【6】树状数组学习笔记

前言 树状数组是我学的第一个高级数据结构,属于 log ⁡ \log log 级数据结构。 其实现在一般不会单独考察数据结构,主要是其在其他算法(如贪心,DP)中起到优化作用。 长文警告:本文一共 995 995 995 行…

研发团队协作软件推荐:18款工具对比

本文将深入对比18款主流研发团队协作软件:PingCode、 Worktile、钉钉、飞书、企业微信、Teambition、蓝湖、石墨文档、明道等。 在当今信息化时代,研发团队协作软件已经成为企业提高工作效率、改善团队沟通与管理的重要工具。借助这些软件,企…

Java8的新特性

1.Lambda表达式和函数式接口 Lambda的基础:函数式接口 Java 8与之前版本的区别: Java 7及之前:接口中只能包含抽象方法,无法通过函数式接口简洁地表示Lambda表达式。Java 8:通过FunctionalInterface注解,明…

数据库管理-第302期 国产类RAC架构数据库网络连接方式(20250314)

数据库管理302期 2025-03-14 数据库管理-第302期 国产类RAC架构数据库网络连接方式(20250314)1 Oracle RAC2 DMDSC3 YAC4 KES RAC总结 数据库管理-第302期 国产类RAC架构数据库网络连接方式(20250314) 作者:胖头鱼的鱼…

Spring框架详解(IOC容器-上)

IOC( Inversion of Control,控制反转)和DI(dependency injection)是Spring框架的核心特性,也是Spring框架的基础。 Spring框架作为一个IOC容器,负责加载、创建和管理Spring Bean。 接下来介绍…

架构学习第八周--Kubernetes博客搭建

目录 一、整体架构 二、部署MySQL主从 三、部署Redis哨兵 四、部署WordPress 五、注意事项 一、整体架构 本项目为在一主三从的Kubernetes集群上部署WordPress博客。因为WordPress部分容器版本自行集成Apache和PHP服务,因此在Kubernetes上部署WordPress只需提供…

【品铂科技】在高精度定位行业内的口碑怎么样?

1. ‌技术实力与行业认可‌ 公司自主研发的ABELL无线实时定位系统在复杂环境中(如工业、司法监狱等)展现出厘米级(5-10厘米)高精度定位能力,客户反馈系统稳定性强、抗干扰能力突出,成为行业技术标杆‌。参…

长度最小的子数组-滑动窗口解法

本来觉得自己双指针学的还可以了,于是今天直接刷了一道滑动窗口题,没想到还是被坑绊倒了两次。这次我想记录在博客里,不仅可以防止我以后重蹈覆辙,兴许也还可以帮助到其他人。 题目来自力扣:209. 长度最小的子数组 - …

深入理解Linux网络随笔(七):容器网络虚拟化--Veth设备对

深入理解Linux网络随笔(七):容器网络虚拟化 微服务架构中服务被拆分成多个独立的容器,docker网络虚拟化的核心技术为:Veth设备对、Network Namespace、Bridg。 Veth设备对 veth设备是一种 成对 出现的虚拟网络接口&…

深入理解 Maven BOM 及其继承特性

深入理解 Maven BOM 及其继承特性 一、什么是 Maven BOM? Maven BOM(Bill Of Materials,物料清单)是一种特殊的 Maven 项目,用于集中管理依赖项的版本信息。BOM 项目本身并不包含实际的代码或资源,而仅仅…

C语言(25)

一.数据在内存中的存储 1.整数在内存中的存储 整数在内存中以二进制的形式储存,分别为原码,补码,反码 有符号的整数,在上述三种形式都有符号位和数值位两个部分,符号位为0是正数,1是负数,最高…

一篇博客搞定时间复杂度

时间复杂度 1、什么是时间复杂度?2、推导大O的规则3、时间复杂度的计算3.1 基础题 13.2 基础题 23.3基础题 33.4进阶题 13.5进阶题 23.6 偏难题 13.7偏难题 2(递归) 前言: 算法在编写成可执行程序后,运行时要耗费时间和…

探索 Trossen AI:从 Aloha到智能机器人平台的进化之路

在人工智能与机器人技术快速发展的当下,科研硬件的性能与成本成为影响行业创新的重要因素。Trossen Robotic为在机器人领域二十余年的知名企业,近日推出的 Trossen AI 系列产品,为科研机构与开发者提供了高性能、高性价比的解决方案。 Trosse…

【Power Platform系列】如何在画布应用中调用工作流上传附件

在Power Apps画布应用中上传附件,比如到SharePoint文档库最典型的方式非常简单,插入一个编辑窗体,将窗体和背后的文档库绑定起来即可以快速实现。不过窗体内部的显示格式很难控制,如果要实现更为灵活的控制,就需要采用…

工作记录 2017-01-12

序号 工作 相关人员 1 协助BPO进行Billing的工作。 处理Amazing Charts的数据查询。 修改BillingJobPoster,处理CCDA 的自动导入,预计还需一天才能完成。 修改录入Code的界面(code 移动到指定位置),预计明天更新。…

在centOS Linux系统搭建自动化构建工具Jenkins

前言 在工作中发现公司使用Jenkins实现自动化部署项目方案,于是闲着自己也捣鼓一下,网上查阅相关部署资料,顺便记录操作步骤,所以有了下面这篇的文章。 部署完之后,安装前端项目所需环境,比如node环境&am…

开箱即用的whisper-service服务

安装须知 Whisper官方网址 https://github.com/openai/whisper Whisper 镜像站 https://docker.aityp.com/r/docker.io/onerahmet 本次提供的环境镜像为:docker.io/onerahmet/openai-whisper-asr-webservice:v1.6.0-gpu 运行环境要求 服务器架构 服务器架构要…

SpringCloud带你走进微服务的世界

认识微服务 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢? 单体架构 单体架构:将业务的所有功能集中在一个项目中开发,打成一个…