mcpField
T
Tasker MCP

Tasker MCP

本地服务
github.com/dceluis生产力5285 周前更新

关于 Tasker MCP

Tasker MCP 是一个 MCP 服务,用于连接 Android 自动化应用 Tasker。用户导入 Tasker 配置文件后,可通过命令行服务把 Tasker 任务作为工具提供给 MCP 客户端。适合希望用 AI 助手控制手机自动化任务的用户。

主要功能

  1. 01导入 Tasker 配置文件即可启用
  2. 02支持 SSE 与 stdio 传输模式
  3. 03通过 API 密钥进行访问控制
  4. 04由任务注释和变量生成工具描述
  5. 05提供多种架构的预编译二进制

适用场景

  1. 01让 AI 助手在手机上触发 Tasker 任务
  2. 02将自定义 Tasker 任务配置为 MCP 工具
  3. 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 参数,前提是:
    1. 导入时配置:未勾选
    2. 不可变:true
    3. 值:空

设置上述值后,你还可以设置一些额外的元数据:

  • 元数据映射:
    • 类型:根据任务变量的类型确定(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 文件与服务配合使用。


祝你自动化愉快!

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。