Tasker MCP

Tasker MCP

适用于安卓Tasker自动化应用的MCP服务器。

dceluis

操作系统自动化
访问服务器

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:传输模式:ssestdio(默认值: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. 不可变:选中
    3. :为空

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

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

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

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


祝您自动化愉快!

推荐服务器

Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
Beamlit MCP Server

Beamlit MCP Server

一个 MCP 服务器实现,它支持 Beamlit CLI 和 AI 模型之间的无缝集成,并使用模型上下文协议标准。

官方
TypeScript
ThingsPanel MCP

ThingsPanel MCP

一个集成服务器,将人工智能模型与 ThingsPanel 物联网平台连接起来,使人工智能助手能够通过自然语言与物联网设备交互,以进行设备控制、数据检索和管理操作。

官方
Python
systemd-coredump MCP Server

systemd-coredump MCP Server

启用支持 MCP 的应用程序,通过与 systemd-coredump 功能集成,来访问、管理和分析系统核心转储。

本地
JavaScript
Terminal Controller for MCP

Terminal Controller for MCP

一个 MCP 服务器,它通过一个标准化的接口,使 LLM 能够安全地执行终端命令、进行目录导航和进行文件系统操作。

本地
Python
mac-apps-launcher

mac-apps-launcher

一个 MCP 服务器,用于在 MacOS 上列出和启动应用程序。 (Yī gè MCP fúwùqì, yòng yú zài MacOS shàng lièchū hé qǐdòng yìngyòng chéngxù.)

本地
JavaScript
applescript-mcp

applescript-mcp

使LLM应用程序能够通过AppleScript与macOS交互。

本地
TypeScript
Google Tasks MCP Server

Google Tasks MCP Server

与 Google Tasks 集成,以允许列出、读取、搜索、创建、更新和删除任务。

本地
TypeScript
MCP 3D Printer Server

MCP 3D Printer Server

通过 MCP 服务器实现与 3D 打印机管理系统的交互,支持 STL 文件操作、切片以及对 OctoPrint、Klipper、Duet 等打印机的控制。

本地
TypeScript