关于 Tasker MCP
Tasker MCP 是一个 MCP 服务,用于连接 Android 自动化应用 Tasker。用户导入 Tasker 配置文件后,可通过命令行服务把 Tasker 任务作为工具提供给 MCP 客户端。适合希望用 AI 助手控制手机自动化任务的用户。
主要功能
- 01导入 Tasker 配置文件即可启用
- 02支持 SSE 与 stdio 传输模式
- 03通过 API 密钥进行访问控制
- 04由任务注释和变量生成工具描述
- 05提供多种架构的预编译二进制
适用场景
- 01让 AI 助手在手机上触发 Tasker 任务
- 02将自定义 Tasker 任务配置为 MCP 工具
- 03在 Claude Desktop 中通过 stdio 连接手机自动化
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Tasker MCP
本文将指导你设置和运行 Tasker MCP 集成,包括安装依赖项、准备服务以及更新任务。
使用指南
步骤 1:导入 Tasker 配置文件
- 将
dist/mcp_server.prj.xml导入 Tasker 应用。 - 导入后,运行
MCP generate_api_key任务,以生成用于安全访问的 API 密钥。
步骤 2:选择并运行你的服务
CLI 服务:
- 在
dist/文件夹中,为你的设备架构选择正确的 CLI 服务二进制文件,例如tasker-mcp-server-cli-aarch64。 - 将二进制文件和
toolDescriptions.json文件都复制到你的设备(手机或 PC)。 - 复制后,将二进制文件重命名为
mcp-server。
示例:
使用 scp:
scp dist/tasker-mcp-server-cli-aarch64 user@phone_ip:/data/data/com.termux/files/home/mcp-server
使用 adb push:
adb push dist/tasker-mcp-server-cli-aarch64 /data/data/com.termux/files/home/mcp-server
- 使用以下命令以 SSE 模式运行服务:
./mcp-server --tools /path/to/toolDescriptions.json --tasker-api-key=tk_... --mode sse
- 或通过 stdio 传输调用:
payload='{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "tasker_flash_text", "arguments": { "text": "Hi" } } }'
echo $payload | ./mcp-server --tools /path/to/toolDescriptions.json --tasker-api-key=tk_...
命令行标志
tasker-mcp-server-cli 应用接受以下标志:
--tools:包含 Tasker 工具定义的 JSON 文件路径。--host:SSE 服务监听的主机地址(默认值:0.0.0.0)。--port:SSE 服务监听的端口(默认值:8000)。--mode:传输模式:sse或stdio(默认值:stdio)。--tasker-host:Tasker 服务主机(默认值:0.0.0.0)。--tasker-port:Tasker 服务端口(默认值:1821)。--tasker-api-key:Tasker API 密钥。
步骤 3:连接支持 MCP 的应用
- 将支持 MCP 的应用指向正在运行的服务,即可连接。
Claude Desktop 使用 stdio 传输的示例配置
{
"mcpServers": {
"tasker": {
"command": "/home/luis/tasker-mcp/dist/tasker-mcp-server-cli-x86_64",
"args": [
"--tools",
"/home/luis/tasker-mcp/dist/toolDescriptions.json",
"--tasker-host",
"192.168.1.123",
"--tasker-api-key",
"tk_...",
"--mode",
"stdio"
]
}
}
}
自行构建 CLI 服务
Unix/Linux:
- 使用你的包管理器安装 Go:
sudo apt-get install golang-go
- 构建 CLI 服务(以 ARM64 交叉编译为例):
cd cli
GOOS=linux GOARCH=arm64 go build -o dist/tasker-mcp-server-cli-aarch64 main.go
使用其他任务更新 MCP 配置文件
由于 Tasker 在参数处理方面存在限制,请仔细按照以下步骤将任务标记为支持 MCP:
步骤 1:设置任务注释
- 直接在任务设置中添加注释。此注释将成为工具描述。
步骤 2:使用任务变量配置工具参数
Tasker 仅支持两个位置参数(par1、par2)。为了解决此限制,我们将使用任务变量:
- 任务变量会成为 MCP 参数,前提是:
- 导入时配置:未勾选
- 不可变:true
- 值:空
设置上述值后,你还可以设置一些额外的元数据:
- 元数据映射:
- 类型:根据任务变量的类型确定(
number、string、onoff等)。 - 描述:通过变量的
Prompt字段设置。 - 必需:如果勾选了
Same as Value字段。
- 类型:根据任务变量的类型确定(
**注意:**如果 Prompt 描述处于隐藏状态,可暂时启用“Configure on Import”来设置它,然后再次禁用。提示词将保留。\
这些步骤可确保我们之后导出自定义项目时,能够生成有效的工具描述。
任务变量无法从其他任务传递而来,因此还需要完成最后一步,才能正确设置 MCP 请求中的所有变量。
步骤 3:复制特殊操作
将操作 MCP#parse_args 复制到 MCP 任务的顶部,以启用参数解析。你可以从任何默认任务中获取此操作。但请勿修改此操作!
步骤 4:导出并生成更新后的工具描述
现在,你的自定义任务已准备就绪:
- 导出
mcp-server项目并保存到 PC 上。 - 确保已安装 Node.js,然后运行:
cd utils
npm install
node xml-to-tools.js /path/to/your/exported/mcp_server.prj.xml > toolDescriptions.json
将此 toolDescriptions.json 文件与服务配合使用。
祝你自动化愉快!
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。