返回市场
任务管理器-mcp

任务管理器-mcp

作者:dceluis24 星标更新:2025-03-11

项目介绍

Tasker MCP

本文件将指导您完成Tasker MCP集成的设置和运行,包括安装依赖项、准备服务器以及更新任务的说明。


使用指南

第一步:导入Tasker配置文件

  • dist/mcp_server.prj.xml导入到您的Tasker应用中。
  • 导入后,运行MCP generate_api_key任务以生成用于安全访问的API密钥。

第二步:选择并运行您的服务器

命令行界面(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:传输模式:ssestdio(默认:stdio)。
  • --tasker-host:Tasker服务器主机(默认:0.0.0.0)。
  • --tasker-port:Tasker服务器端口(默认:1821)。
  • --tasker-api-key:Tasker API密钥。

第三步:连接您的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支持:

第一步:设置任务注释

  • 直接在任务设置中添加注释。此注释将成为工具描述。

第二步:使用任务变量配置工具参数

Tasker仅支持两个位置参数(par1par2)。为了绕过这个限制,我们将使用任务变量:

  • 一个任务变量成为MCP参数如果:
    1. 导入时配置:未选中
    2. 不可变:真
    3. :空

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

  • 元数据映射:
    • 类型:根据任务变量的类型推导(numberstringonoff等)。
    • 描述:通过变量的Prompt字段设置。
    • 必需:如果与值相同字段被选中。

注意:暂时启用“导入时配置”以设置隐藏的提示描述,然后再次禁用它。提示将保留下来。

这些步骤确保了我们稍后导出自定义项目时可以生成有效的工具描述。然而,任务变量不能从其他任务传递,因此我们需要做最后一件事以确保所有变量从MCP请求正确设置。

第三步:复制特殊操作

将操作MCP#parse_args复制到您的MCP任务顶部以启用参数解析。可以从任何默认任务获取此操作。但不要修改此操作!

第四步:导出并生成更新的工具描述

现在您的自定义任务已经准备好:

  • 导出您的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文件与您的服务器。


祝您自动化愉快!