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. 导入时配置:未选中 1. 不可变的:true 1. 价值:空
设置上述值后,您还可以设置一些其他元数据: 
- 元数据映射:
- 类型:从任务变量的类型派生(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 将文件发送到您的服务器。
______________________________________________________________________
自动化快乐!

