Tasker MCP
An MCP server for Android's Tasker automation app.
dceluis
README
Tasker MCP
This document will guide you through setting up and running the Tasker MCP integration, including instructions for installing dependencies, preparing servers, and updating tasks.
Usage Guide
Step 1: Import the Tasker Profile
- Import
dist/mcp_server.prj.xml
into your Tasker app. - After importing, run the
MCP generate_api_key
task to generate an API key for secure access.
Step 2: Select and Run Your Server
CLI Server:
- From the
dist/
folder, select the correct CLI server binary for your device's architecture, such astasker-mcp-server-cli-aarch64
. - Copy both the binary and the
toolDescriptions.json
file to your device (phone or PC). - Rename the binary to
mcp-server
after copying.
Example:
Using scp
:
scp dist/tasker-mcp-server-cli-aarch64 user@phone_ip:/data/data/com.termux/files/home/mcp-server
Using adb push
:
adb push dist/tasker-mcp-server-cli-aarch64 /data/data/com.termux/files/home/mcp-server
- Run the server in SSE mode with:
./mcp-server --tools /path/to/toolDescriptions.json --tasker-api-key=tk_... --mode sse
- Or call it through the stdio transport:
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_...
Command-Line Flags
The tasker-mcp-server-cli
application accepts the following flags:
--tools
: Path to JSON file with Tasker tool definitions.--host
: Host address to listen on for SSE server (default:0.0.0.0
).--port
: Port to listen on for SSE server (default:8000
).--mode
: Transport mode:sse
, orstdio
(default:stdio
).--tasker-host
: Tasker server host (default:0.0.0.0
).--tasker-port
: Tasker server port (default:1821
).--tasker-api-key
: The Tasker API Key.
Step 3: Connect Your MCP-enabled App
- Connect your MCP-enabled application by pointing it to the running server.
Example Configuration for Claude Desktop with stdio transport
{
"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"
]
}
}
}
Building the CLI Server Yourself
Unix/Linux:
- Install Go using your package manager:
sudo apt-get install golang-go
- Build the CLI server (cross-compiling example for ARM64):
cd cli
GOOS=linux GOARCH=arm64 go build -o dist/tasker-mcp-server-cli-aarch64 main.go
Updating the MCP Profile with Additional Tasks
Due to limitations in Tasker's argument handling, follow these steps carefully to mark tasks as MCP-enabled:
Step 1: Set Task Comment
- Add a comment directly in the task settings. This comment becomes the tool description.
Step 2: Configure Tool Arguments Using Task Variables
Tasker supports only two positional arguments (par1
, par2
). To work around this, we'll use Task Variables:
- A TaskVariable becomes an MCP argument if:
- Configure on Import: unchecked
- Immutable: true
- Value: empty
After setting the above values you can also set some additional metadata:
- Metadata mapping:
- Type: Derived from Task Variable's type (
number
,string
,onoff
, etc). - Description: Set via the variable's
Prompt
field. - Required: If the
Same as Value
field is checked.
- Type: Derived from Task Variable's type (
Note: Temporarily enable "Configure on Import" to set the Prompt description if hidden, then disable it again. The prompt will survive.\
These steps will make sure valid tool descriptions can be generated when we export our custom project later.
Task Variables cannot be pass-through from other tasks, though, so we need to do one last thing in order to get all the variables from the MCP request properly set.
Step 3: Copy the special action
Copy the action MCP#parse_args
to the top of your MCP task to enable argument parsing. You can get this from any of the default tasks. But do not modify this action!
Step 4: Exporting and Generating Updated Tool Descriptions
Now your custom tasks are ready:
- Export your
mcp-server
project and save it on your PC. - Ensure Node.js is installed, then run:
cd utils
npm install
node xml-to-tools.js /path/to/your/exported/mcp_server.prj.xml > toolDescriptions.json
Use this toolDescriptions.json
file with your server.
Happy automation!
推荐服务器
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
Beamlit MCP Server
一个 MCP 服务器实现,它支持 Beamlit CLI 和 AI 模型之间的无缝集成,并使用模型上下文协议标准。
ThingsPanel MCP
一个集成服务器,将人工智能模型与 ThingsPanel 物联网平台连接起来,使人工智能助手能够通过自然语言与物联网设备交互,以进行设备控制、数据检索和管理操作。

systemd-coredump MCP Server
启用支持 MCP 的应用程序,通过与 systemd-coredump 功能集成,来访问、管理和分析系统核心转储。
Terminal Controller for MCP
一个 MCP 服务器,它通过一个标准化的接口,使 LLM 能够安全地执行终端命令、进行目录导航和进行文件系统操作。

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ù.)
applescript-mcp
使LLM应用程序能够通过AppleScript与macOS交互。
Google Tasks MCP Server
与 Google Tasks 集成,允许列出、读取、搜索、创建、更新和删除任务。
MCP 3D Printer Server
通过 MCP 服务器实现与 3D 打印机管理系统的交互,支持 STL 文件操作、切片以及对 OctoPrint、Klipper、Duet 等打印机的控制。