任务自动化集成工具

Tasker MCP是一个任务自动化集成工具,提供API密钥生成、服务器配置和任务更新功能,适用于移动设备和PC端的自动化任务管理。

  • by dceluis
  • Go
  • 本地部署
  • 52 星标
  • 更新于
在 GitHub 查看 dceluis/tasker-mcp

使用说明

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:任务器API密钥。

步骤3:连接启用MCP的应用程序

  • 通过将启用MCP的应用程序指向正在运行的服务器来连接它。

带stdio传输的Claude Desktop配置示例

{
  "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).为了解决这个问题,我们将使用任务变量:

  • 在以下情况下,TaskVariable将成为MCP参数:
    1. 导入时配置:未选中
    2. 不可变的:true
    3. 价值:空

设置上述值后,您还可以设置一些其他元数据:

  • 元数据映射:
    • 类型:从任务变量的类型派生(number, string, onoff等等)。
    • 描述:通过变量设置 Prompt 现场。
    • 必需:如果 Same as Value 字段已选中。

注: 暂时启用“导入时配置”以设置提示描述(如果隐藏),然后再次禁用它。提示将幸存下来\

这些步骤将确保在稍后导出自定义项目时能够生成有效的工具描述。
然而,任务变量不能从其他任务传递,因此我们需要做最后一件事,以便正确设置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 将文件发送到您的服务器。


自动化快乐!