Tasker MCP — интеграция Tasker с MCP-клиентами (Claude Desktop и другие)
Tasker MCP — это связка из MCP-сервера и Tasker-профиля, которая позволяет MCP-совместимым приложениям (например, Claude Desktop) управлять автоматизациями на Android через Tasker. Вы можете вызывать задачи Tasker, передавать аргументы и получать результат, не выходя из ИИ-ассистента.
Установка и настройка
Шаг 1. Импорт профиля Tasker
- Возьмите файл
dist/mcp_server.prj.xml и импортируйте его в Tasker (меню → Импорт → Проект).
- Запустите задачу MCP generate_api_key внутри проекта — она сгенерирует API-ключ (вида
tk_...), который понадобится для безопасного соединения.
Шаг 2. Запуск сервера
Из папки dist/ выберите подходящий бинарник для архитектуры вашего устройства (например, tasker-mcp-server-cli-aarch64 для ARM64). Скопируйте этот бинарник и файл toolDescriptions.json на устройство (телефон или ПК).
Пример копирования через adb:
adb push dist/tasker-mcp-server-cli-aarch64 /data/data/com.termux/files/home/mcp-server
После копирования переименуйте бинарник в mcp-server (опционально). Запустите сервер.
Режим SSE (для локальной сети)
./mcp-server --tools /path/to/toolDescriptions.json --tasker-api-key=tk_... --mode sse
Сервер будет слушать порт 8000 (по умолчанию) на всех интерфейсах.
Режим stdio (потоковый ввод/вывод)
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"tasker_flash_text","arguments":{"text":"Hi"}}}'
| ./mcp-server --tools /path/to/toolDescriptions.json --tasker-api-key=tk_...
Шаг 3. Подключение MCP-клиента
Настройте ваше MCP-приложение так, чтобы оно указывало на запущенный сервер. Пример для Claude Desktop (файл конфигурации claude_desktop_config.json):
{
"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"
]
}
}
}
Параметры командной строки
| Флаг |
Описание |
Значение по умолчанию |
--tools |
Путь к JSON-файлу с описаниями инструментов Tasker |
— |
--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-ключ для доступа к Tasker |
— |
Сборка сервера из исходников (опционально)
Требования
- Установленный Go (например,
sudo apt-get install golang-go)
Пример кросс-компиляции для ARM64
cd cli
GOOS=linux GOARCH=arm64 go build -o dist/tasker-mcp-server-cli-aarch64 main.go
Как добавить собственные задачи (MCP-инструменты)
Из-за ограничений Tasker по работе с аргументами следуйте инструкции строго.
1. Установка комментария к задаче
Добавьте к задаче комментарий (в настройках задачи). Этот комментарий станет описанием MCP-инструмента.
2. Настройка аргументов через Task Variables
- Создайте Task Variable с такими свойствами:
- „Configure on Import“: отключено
- Immutable: включено
- Value: оставьте пустым
- Дополнительно можно задать:
- Type: тип переменной (
number, string, onoff и др.) — определит тип аргумента.
- Description: текст в поле Prompt — станет описанием аргумента.
- Required: включите флажок Same as Value — тогда аргумент будет обязательным.
Важно: чтобы увидеть поле Prompt, временно включите „Configure on Import“, задайте описание, а потом отключите. Описание сохранится.
3. Копирование специального действия
Скопируйте действие MCP → parse_args в самое начало вашей задачи. Это действие нужно для разбора аргументов MCP-запроса. Не изменяйте это действие.
4. Экспорт и генерация нового инструментария
- Экспортируйте проект
mcp-server из Tasker (*.prj.xml) и сохраните на ПК.
- Убедитесь, что установлен Node.js, затем выполните:
cd utils/
npm install
node xml-to-tools.js /путь/к/mcp_server.prj.xml > toolDescriptions.json
- Используйте полученный
toolDescriptions.json при запуске сервера.
Теперь ваши собственные задачи доступны как MCP-инструменты.
Примечания
- Для работы сервера требуется, чтобы Tasker был запущен на Android-устройстве с включённым MCP-сервисом (порт 1821).
- API-ключ (
--tasker-api-key) обязателен — он генерируется задачей MCP generate_api_key в Tasker.
- При использовании SSE убедитесь, что устройства находятся в одной сети, а порт 8000 доступен.
- Всегда используйте свежий
toolDescriptions.json, если вы добавили или изменили задачи.
Комментарии
Комментариев пока нет. Будьте первым.