@firmafast/tasker-mcp
v0.1.1
Published
MCP server for the Tasker kanban API — lets LLM agents read and operate Tasker boards
Maintainers
Readme
Tasker MCP Server
Servidor MCP (Model Context Protocol) que expone la REST API de Tasker como tools para agentes LLM (opencode, Claude, Cursor, etc.).
Publicado en npm como @firmafast/tasker-mcp — se instala con npx, sin
clonar el repo.
Requisitos
- Node.js >= 20
- Un Tasker corriendo y accesible por HTTP
- Una API key: la master key (
MASTER_API_KEY) o una API key de tablero (prefijotskr_, visible en el snapshot del tablero)
Configuración
Variables de entorno:
| Variable | Default | Descripción |
|---|---|---|
| TASKER_API_URL | http://localhost:3000 | Base URL del Tasker (sin trailing slash) |
| TASKER_API_KEY | — | Master key o API key de tablero (obligatoria) |
Instalación
opencode
Agregá al opencode.json global (~/.config/opencode/opencode.json) o del
proyecto:
{
"mcp": {
"tasker": {
"type": "local",
"command": ["npx", "-y", "@firmafast/tasker-mcp"],
"enabled": true,
"environment": {
"TASKER_API_URL": "https://tasker.tudominio.com",
"TASKER_API_KEY": "tskr_..."
}
}
}
}Nota: en opencode la config de env de un MCP local se declara con
environment(noenv). Verificá la sintaxis de tu versión.
Claude Desktop / Cursor / otros clientes MCP
{
"mcpServers": {
"tasker": {
"command": "npx",
"args": ["-y", "@firmafast/tasker-mcp"],
"env": {
"TASKER_API_URL": "https://tasker.tudominio.com",
"TASKER_API_KEY": "tskr_..."
}
}
}
}Desarrollo (desde el repo)
cd mcp
npm install
npm run build # -> dist/index.js
npm run dev # corre con tsx, sin buildPublicar una versión nueva
cd mcp
npm version patch # o minor / major
npm publish # corre prepublishOnly -> buildTools
| Tool | Descripción |
|---|---|
| list_boards | Lista tableros visibles para la key |
| get_board | Snapshot completo: columnas + campos custom + tarjetas |
| list_columns / create_column | Columnas de un tablero |
| list_cards / get_card | Tarjetas |
| create_card | Crea tarjeta (columna por id, por nombre, o primera) |
| update_card | Actualiza tarjeta: título, contenido, mover de columna, labels, due_date, assignees, external_id, custom_fields |
| list_comments / add_comment | Comentarios de una tarjeta |
Desarrollo
npm run dev # corre con tsx, sin buildProbar el handshake por stdio:
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"t","version":"1"}}}' \
'{"jsonrpc":"2.0","method":"notifications/initialized"}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
| TASKER_API_KEY=test node dist/index.jsNotas
- La API de Tasker responde CORS
*, pero no importa: el MCP corre server-side por stdio, no en el browser. - Con una API key de tablero solo se ve/opera ese tablero; con la master key,
todos. La master key además permite
creator_idyauthorcustom en comentarios. - Los errores de la API (401/403/404/400) se devuelven como texto legible en la respuesta de la tool, no como crash.
