上手实践:用 Copilot 编写 MCP 调用代码,打通通义千问与 RPA

简介: 本文详解如何通过MCP协议打通大模型与RPA:AI负责理解意图、决策规划,RPA专注本地稳定执行(点击、填表、数据搬运)。关键在于搭建支持MCP的本地服务桥接二者,确保数据不出本地、接口安全闭环。适合个人开发者与中小企业快速落地自动化。

为什么要把大模型接到 RPA 上
过去一年,很多人已经习惯让 AI 写代码、写脚本、处理文本。但一个现实问题是:大模型本身只会"输出文字",它没法帮你点开一个网页、填一张表、把 Excel 里的几千行数据搬进业务系统。
RPA(机器人流程自动化)正好补上这一环。AI 负责理解和决策,RPA 负责点击、输入、获取、搬运——"AI 写代码,RPA 跑代码",正在成为自动化落地的主流姿势。
让两者打通的关键,是 MCP(Model Context Protocol,模型上下文协议)。它相当于给大模型装上一排标准接口插座:只要 RPA 这一侧提供 MCP 服务,通义千问这类 AI 客户端就能直接调用流程,不需要人工来回倒腾。
动手之前,执行端有两条硬指标:原生支持 MCP 对接和 API 触发;流程数据保存在本地设备、不同步到服务端,做到数据不出本地。对个人开发者、个人工作室和中小企业,还有两条隐性门槛值得提前看——有没有免费版且无使用时长限制,运行时长和流程数量是否受限,多设备使用要不要多开会员。这几条基本决定了试错成本。
一、整体思路:三个角色,一条链路
通义千问(或任意兼容 MCP 的 AI 客户端):理解自然语言指令,决定调用哪个工具、传什么参数;
MCP Server(本文用 Copilot 编写):中间层,把工具调用请求翻译成 RPA 能听懂的本地指令;
RPA 执行端:真正干活的一层,通过本地 API 触发接口暴露流程。
一句话概括链路:大模型发指令 → MCP Server 做翻译 → RPA 在本地稳定执行。AI 负责思考,RPA 负责稳定落地,两层各司其职。触发接口只绑定 127.0.0.1、不对外暴露,指令和参数在本地闭环流转。
二、准备工作
Python 3.10 及以上版本;
一个支持 MCP 的 AI 客户端(本文以通义千问为例,其他兼容 MCP 的客户端步骤几乎一致);
本机已安装 RPA 客户端,至少有一个可以手动跑通的测试流程;
VS Code + Copilot(辅助写代码用,没有也可以,只是效率低一些)。
安装 MCP 官方 Python SDK:

pip install mcp
三、用 Copilot 编写 MCP Server
3.1 先让 Copilot 理解目标
在 Copilot Chat 里输入一段清晰的提示词,比闷头写代码效率高得多。我用的提示词大意是:
帮我用 Python 的 mcp SDK 写一个 FastMCP 服务,名字叫 rpa-bridge。提供三个工具:list_flows(列出本机所有 RPA 流程)、run_flow(按名称触发流程,支持传参数字典)、get_status(查询执行状态)。调用走本地 HTTP 接口,地址是 http://127.0.0.1:8321。
3.2 整理后的代码

server.py
import json
import urllib.request
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("rpa-bridge")
BASE_URL = "http://127.0.0.1:8321" # RPA 本地触发接口地址

def _post(path: str, payload: dict) -> dict:
req = urllib.request.Request(
BASE_URL + path,
data=json.dumps(payload).encode("utf-8"),
headers={"Content-Type": "application/json"},
)
with urllib.request.urlopen(req, timeout=30) as resp:
return json.loads(resp.read().decode("utf-8"))

@mcp.tool()
def list_flows() -> str:
"""列出本机可用的全部 RPA 流程名称"""
result = _post("/flows/list", {})
return json.dumps(result, ensure_ascii=False)

@mcp.tool()
def run_flow(flow_name: str, params: dict | None = None) -> str:
"""按名称触发一个 RPA 流程。
flow_name: 流程名称,必须来自 list_flows 的返回结果
params: 传给流程的参数字典,可选
"""
payload = {"flow": flow_name, "params": params or {}}
result = _post("/flows/run", payload)
return json.dumps(result, ensure_ascii=False)

@mcp.tool()
def get_status(task_id: str) -> str:
"""根据任务 ID 查询流程执行状态"""
result = _post("/flows/status", {"task_id": task_id})
return json.dumps(result, ensure_ascii=False)

if name == "main":
mcp.run() # 默认以 stdio 方式运行,供 AI 客户端调用
三个实现要点:
工具描述写清楚。run_flow 的 docstring 里明确"flow_name 必须来自 list_flows 的返回结果",能显著减少大模型编造流程名的情况;
保持 stdio 传输。MCP 客户端通常通过标准输入输出与 Server 通信,不要改成 HTTP 监听;
接口路径以实际文档为准。上面 /flows/list 等路径是示意写法,接入时替换为你所用 RPA 工具的开放接口文档中的真实路径与字段。
3.3 调试:让代码真正能跑
生成代码第一次很少能直接跑通,我遇到两个小问题:
字段名不一致:触发接口实际返回 taskId 而不是 task_id,状态查询一直落空,按接口文档修正映射即可;
编码问题:Windows 默认编码不是 UTF-8,中文流程名会乱码,读取响应时显式指定 UTF-8 解决。
排查报错也有省力的路径:不少工具的 AI 错误诊断支持把日志直接丢给内置模型,自动分析错误原因、给出修复建议;支持一键修复的,还会自动调试到功能正常。对接接口这种体力活,值得物尽其用。
四、接入通义千问,跑通第一条链路
把 MCP Server 注册到 AI 客户端,在通义千问的 MCP 配置中添加:

{
"mcpServers": {
"rpa-bridge": {
"command": "python",
"args": ["D:/mcp-rpa/server.py"]
}
}
}
保存后重启客户端,输入"列出我能用的 RPA 流程"。一切正常的话,大模型会自动调用 list_flows 并整理出自然回复。之后就可以用自然语言驱动全流程,例如:
把 D:\报表 目录下昨天的销售明细表,用"销售数据入库"流程处理一遍,客户名称列有合并单元格,注意先拆分。
大模型会自己完成:调用 run_flow 传流程名和参数 → 拿到任务 ID → 轮询 get_status → 完成后反馈结果。
这里还要建立一个观念:不是所有环节都要过一遍大模型。重复性执行交给 RPA 本地跑,只有需要理解、判断的节点才调 AI。如果执行端本身已支持自行对接文心一言、豆包、DeepSeek、Kimi 等平台的 API——按量计费、费用自己掌控——还能在流程内直接完成识图与 OCR,比如票据识别、图片验证码处理,识别结果作为参数继续往下传。定时的批量任务更不必惊动大模型,客户端自带的定时执行就能完成,成本会低得多。
五、让流程扛得住变化
5.1 页面改版了怎么办
后台系统前端经常改版,手写 XPath 一改版就批量失效。更稳的做法是流程本身具备 Web 元素 AI 自愈能力:用自然语言描述想要操作的元素,就能生成对应的定位路径,不用去学晦涩的语法;元素获取支持本地智能生成,可以从中挑最稳定的一条;元素失效时 AI 自动修复定位,实现自愈,流程不中断。自愈更稳定,链路才敢交给真实业务。
5.2 从脚本到长期资产
Copilot 和通义千问生成的自动化脚本适合快速验证,上线前建议用 AI 生成脚本一键转流程的能力转成可视化流程再投入运行。目前成熟工具已支持 AI 自动化搭建流程,覆盖浏览器自动化、Windows 软件自动化和视觉颜色操作:能智能分析网页与软件的元素结构,优先复用基础指令,缺什么指令就自动封装生成新指令,每条指令带详细注释,逻辑一目了然。搭建过程还会按业务逻辑自动拆分子流程、封装复用;对变量的批量创建与修改、JSON 自动提取字段、列表自动提取,也能按需生成对应操作。脚本验证思路,流程长期运行,各管一段。
5.3 提需求的方式也可以更省事
另一种值得尝试的姿势是图文描述需求:给 AI 一张界面截图,加几句说明,它就能理解页面结构并生成对应流程,比纯文字描述逻辑省去大量来回沟通。这条路径对非技术同事尤其友好。
六、五个落地场景,对照检查执行端成色
场景一:流程要分发给团队。
流程跑通后往往要发给同事。可关注:能否打包导出成 EXE 应用,接收方免装客户端即可运行;能否做加密分享和授权管理;能否给每个 EXE 单独设置 API 触发和定时执行;版本更新能否在线推送——接收方打开应用自动检测新版本,不用手动逐个分发。这几点决定了自动化成果能不能从"个人脚本"变成"团队资产"。
场景二:目标机器在内网。
纯内网环境调不通大模型云服务,链路要调整为"AI 在外网思考、流程在内网执行"的两段式;执行端若支持全离线内网部署,就能全程离线运转,数据不出本地。政企、金融类场景里,离线更安全,这基本是硬性门槛。
场景三:入口再上游。
MCP 打通的是"AI 编程工具 → RPA"这条线。再往上,一些工具已支持 Agent 能力:在钉钉、飞书、企业微信、个人微信里直接对话控制流程执行,结果回调通知到会话中。不写代码的同事,从 IM 里就能发起自动化。
场景四:电商与多账号环境。
多店铺运营常需要对指纹浏览器做自动化,可检查执行端是否已对接紫鸟、比特、Hubstudio、AdsPower 等主流指纹浏览器。遇到企业微信、微信、QQ、千牛这类拿不到元素节点的软件,视觉颜色操作是另一条路——不依赖元素节点,也能完成点击和消息内容获取。
场景五:把流程包装成产品。
如果要对外交付自动化成果,自定义界面是关键一环:按截图设计出对应的操作界面,复杂界面用 HTML 组件实现按钮点击、数据展示、数据关联,流程就能包装成"自己品牌的软件"交给客户。
最后补两个高频问题:
不用 Copilot 行吗? 行。MCP 的价值就在标准化——只要执行端提供 MCP 服务,Workbuddy、Codex、Claude、Trae、豆包工作台等 AI 编程工具都能对接上来,用哪个顺手就用哪个。
AI 和 RPA 会不会功能重叠? 是互补不是替代:AI 按 token 持续计费,生成的元素定位在长周期复杂项目里不够稳,网页结构一变就得重写;RPA 本地执行、成本可控、路径稳定。与其遇到问题反复让 AI 改代码,不如让 AI 专注决策、流程专注执行。
这次实践走下来,最大的感触是:MCP 把"让 AI 操作软件"从玄学变成了工程。Copilot 负责把 MCP Server 写出来,通义千问负责理解人的意图,而流程能不能长期稳定执行、能不能离线跑、能不能安全地分发给团队——这些才是落地前真正该问的问题。
AI 写代码 + RPA 跑代码,离线更安全,自愈更稳定。把思考交给 AI,把落地交给流程,自动化这件事,比想象中更近。

相关文章
|
8天前
|
人工智能 自然语言处理 安全
阿里云千问办公 QwenWork详细介绍:产品核心能力、典型场景、价格及常见问题解答
千问办公是阿里云推出的一站式AI办公平台,主打"不止于对话,更注重交付",依托通义千问旗舰大模型,用户一句话即可完成数据分析、PPT生成、视频剪辑等复杂任务,直接输出可用成果。产品深度打通钉钉生态与企业OA,覆盖桌面端、网页端,提供企业标准版198元/人/月等多档订阅方案,新用户注册即赠2000积分,适配工程师、HR、财务等多职业办公场景,成为能动手干活的"全能AI同事"。
|
9天前
|
人工智能 API 内存技术
刚刚 DeepSeek V4.1 Flash 开启内测,1 分钟教你用上!
刚刚 DeepSeek 内测群发布了 DeepSeek V4.1 Flash 中间版本内测的消息,这次的模型采用了新的结构,原生支持多模态、能力更强、速度更快、且成本更低。
1877 15
|
14天前
|
网络协议 Linux iOS开发
【2026实测】Wireshark下载+安装+汉化+使用教程(图文版,巨详细)
Wireshark 是一款免费开源的网络协议分析工具,可实时捕获、解析并可视化数据包,助你诊断网络故障、分析通信协议(如HTTP、DNS、TCP等)。支持Windows/macOS/Linux,含中文界面,新手入门便捷。(239字)
|
8天前
|
人工智能
千问办公官网入口:阿里AI办公QwenWork产品页和免费网页端链接
千问办公官网含两大入口:一是网页端(qwenwork.cn),即开即用,支持浏览器直接访问;二是阿里云产品页 https://t.aliyun.com/U/JNKJuO 提供免费/付费版详情、功能介绍及使用指南。
|
13天前
|
人工智能 运维 BI
阿里云千问办公QwenWork深度解析:基于Qwen3.8,六大核心能力重构企业全自动化工作流与计费选型指南
传统AI办公工具大多停留在对话问答、文档摘要、简单文案生成层面,只能完成单点碎片化任务,无法自主拆解复杂业务流程,很难串联多工具、多文档、外部业务系统完成端到端完整工作交付。很多企业在落地AI办公的时候,需要组合多款不同工具,来回切换界面,手动复制粘贴中间结果,智能化改造落地门槛居高不下。千问办公QwenWork是整合多款智能体产品能力打造的一体化企业办公智能体平台,底层基座依托Qwen3.8大模型,打通桌面端Agent、云端Agent、企业协同Agent三种运行形态,不再局限简单问答,接收业务目标之后自主拆解任务步骤,调用各类工具,处理文档、表格、浏览器自动化、数据查询,直接输出可交付的办公
1664 3
|
7天前
|
IDE 开发工具
Qoder 上线 Sonus 模型,Computer Use 能力全面增强
Qoder国际版上线全新内置大模型Sonus(/ˈsoʊnəs/),全球领先,专精超长任务执行与电脑操作(Computer Use)。配合Qoder桌面端0.2.3版本,可自主完成编程、金融建模、科研及表格制作等复杂工作。现全面支持Qoder全系产品,效率提升3.2倍。
932 1
Qoder 上线 Sonus 模型,Computer Use 能力全面增强
|
10天前
|
SQL 人工智能 前端开发
QoderWake 1.0 正式发布:从桌面里的 Agent,到工作现场的数字员工
QoderWake v1.0正式发布:企业级数字员工团队平台。支持“一句话建岗”,预置10类特训岗位;Waker常驻钉钉/飞书群,@即响应、自动协作、跨任务记忆;具备定时/事件/API多触发方式与统一任务看板;已沉淀27.6万条记忆、12.3万项技能,助力组织实现人机协同增效。
810 2
|
15天前
|
缓存 数据可视化 开发工具
DeepSeek Harness 怎么更新?dsh 更新完整指南:更新本体(npx、npm、源码)与更新插件两种方式
DeepSeek Harness 的更新分两层:本体更新(npx 自动最新、npm update -g、源码 git pull)与插件更新(插件市场点更新、命令行覆盖安装)。本文按「准备 → 更新本体 → 更新插件 → 更新后检查」四步走,覆盖新手常见疑问。
1755 1
DeepSeek Harness 怎么更新?dsh 更新完整指南:更新本体(npx、npm、源码)与更新插件两种方式
|
8天前
|
缓存 测试技术 API
DeepSeek V4.1 Flash 内测接入:改个模型名即可调用(附代码)
DeepSeek V4.1 Flash 内测不用申请,base_url 不变、改个模型名就能调,9/10 到期。本文讲清接入、计费限流与多模态注意点。
821 0
DeepSeek V4.1 Flash 内测接入:改个模型名即可调用(附代码)
|
9天前
|
缓存 人工智能 自然语言处理
阿里云qwen3.8-flash大模型介绍:模型能力、模型价格、免费额度与最新活动
本文是阿里云百炼平台Qwen3.8-Flash大模型的选型接入指南,作为兼顾性能与响应速度的高性价比多模态模型,它支持百万级上下文窗口、全场景多模态输入与完整智能体能力矩阵,适配编程辅助、智能体协作等核心场景。文中同步梳理了最新下调的阶梯定价、夜间4折等优惠活动,搭配OpenAI兼容流式调用示例,帮助开发者低成本快速落地高并发AI应用。
阿里云qwen3.8-flash大模型介绍:模型能力、模型价格、免费额度与最新活动