loopertaskcom
LooperTask: AI-native канбан-доска задач для Claude и других MCP-клиентов
Что умеет
- Находить задачи и брать следующую доступную в работу
- Создавать, обновлять и перемещать задачи по колонкам
- Строить дерево подзадач и добавлять блокеры
- Комментировать задачи и прикреплять файлы
- Отправлять готовую задачу на проверку человеку
Какие данные видит
Подключение через OAuth или личный токен tm_; каждый вызов выполняется с правами конкретного пользователя.
Нужен ли аккаунт
Не нужен: сервер работает без входа
LooperTask — канбан-менеджер задач, созданный для работы с AI-агентами. MCP-сервер позволяет ассистенту находить задачи, брать их в работу, двигать по колонкам, комментировать и передавать готовую работу человеку на проверку. Подключение через OAuth или личный токен, права ограничены правами пользователя.
Как подключить
Как подключить loopertaskcom к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://loopertaskcom--igordudnek.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить loopertaskcom к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://loopertaskcom--igordudnek.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить loopertaskcom к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://loopertaskcom--igordudnek.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (24)
Технические названия из tools/list. Нужны только разработчикам.
| list_projects | List all loopertask projects visible to your API token. Use this first to discover project IDs before calling any other tool — most tools require a project_id. |
| my_today | Your personal 'what to do today' view: YOUR open assigned tasks across every project, grouped by project, each flagged overdue / due_today / needs_attention (needs_attention = the task is sitting in a «Needs Human» / ai_blocked column). Done tasks are excluded. Returns totals + per-project groups + task rows (ref, title, column, deadline). Use this to start a work session — see what's on your plate before picking a task to claim. |
| list_columns | List the kanban columns of a project. Returns id, name, position, is_queue (Backlog-style), is_terminal (Done-style), ai_blocked (AI cannot pull tasks from here). Use before create_task / move_task to pick the right column_id. |
| list_types_and_priorities | List the task types (bug/feature/story…) and priorities (High/Medium/Low…) configured for a project. Use before create_task to pick sensible type_id and priority_id — leaving them empty falls back to the project defaults. |
| list_tasks | List tasks in a project with optional filters (column, assignee, tags, free-text search). Returns condensed rows — call get_task for full detail. Use this to survey work before deciding what to claim. |
| get_task | Fetch full detail for one task — description, comments, attachments, activity log, blockers. Use before commenting or moving so you have the context. task_id can be the UUID or the human-readable «PROJ-42» number. |
| create_task | Create a new task. column_id is REQUIRED — pick from list_columns. type_id / priority_id are optional (fall back to project defaults). Returns the created task with its id and number. |
| update_task | Patch fields on an existing task. Only supplied fields change; omitting a field leaves it as-is. Use this to edit title, description, priority, or reassign — for column changes use move_task instead. |
| move_task | Move a task to a different column (or reorder inside the same column). Optionally use before_task_id / after_task_id to control ordering — with neither, the task lands at the top of the target column. Use this for status transitions (In Progress → Code Review → Done). |
| reparent_task | Set or clear a task's parent — this is how you build the subtask tree. Pass parent_id to nest task_id UNDER that parent; pass an empty parent_id to detach task_id back to a top-level card. The task keeps its own column — reparenting changes only the parent link, not the status, so a subtask can sit in a different column than its parent. The server rejects cycles (a task can't become its own ancestor) and cross-project parents. Note: create_task cannot set a parent, so reparent_task is the only way to nest (or un-nest) an existing task. |
| add_task_blocker | Declare that a task depends on another task. After this call, `task_id` is blocked_by `blocker_id` and won't be ready to start until the blocker is done. Use it to wire subtasks and epics: to say "epic X needs subtask Y first", call task_id=X, blocker_id=Y. Both are task UUIDs. Returns the task's updated {blocked_by, blocking} lists. |
| remove_task_blocker | Remove a dependency from a task — the inverse of add_task_blocker. `task_id` will no longer be blocked_by `blocker_id`. Both are task UUIDs. Returns the task's updated {blocked_by, blocking} lists. |
| list_tags | List every tag defined in a project — returns [{id, name, color}]. Tags are per-project labels (e.g. «продвижение», «bug», «frontend»). Use this to find a tag's UUID to pass in create_task / update_task tag_ids, or to check whether a tag already exists before create_tag. |
| create_tag | Create a tag in a project and return {id, name, color}. Idempotent on name: if a tag with the same name already exists (case-insensitive) it's returned instead of creating a duplicate — so it's safe to call before every tagging without checking first. Pass the returned id in create_task / update_task tag_ids to label tasks. color is an optional hex string like «#64748b»; omit for the project default. Requires editor access. |
| memory_list | List this project's memory keys — returns [{key, title, type, size, latest_version, updated_at}] (no bodies; use memory_get for content). Project memory is shared, versioned notes/context/rules that persist across machines and teammates: anything you'd keep in CLAUDE.md, learned conventions, decisions, gotchas. Call this at the start of work to see what the project already knows. |
| memory_search | Search this project's memory by free text (matches key, title and content) — returns the same light rows as memory_list. Use it to recall what the project knows about a topic before asking a human or re-deriving it. |
| memory_get | Fetch one memory entry's full content by key — returns {key, title, type, content, version, latest_version, author_kind, updated_at}. Pass version to read a specific historical revision; omit for the latest. Use memory_list/memory_search to find keys. |
| memory_put | Create or update a project memory entry by key. Writing new content appends a new version (full history is kept); an identical write is a no-op, so it's safe to sync the same memory from multiple machines. This is how you PERSIST what you learn so it's available on another computer or to another developer over MCP. type is one of fact/rule/reference/context (default context). NEVER store secrets (API keys, tokens, private keys) — the server rejects content that looks like a credential unless you pass allow_secrets=true. Requires editor access. |
| memory_history | List the revision history of one memory key — returns [{version, title, size, author_kind, created_at}], newest first. Use with memory_get(version) to read or compare an older revision. |
| memory_delete | Delete a project memory entry and its history by key. Irreversible. Requires editor access. |
| add_comment | Post a markdown comment to a task. Use @email@domain to mention a user (triggers a notification if that user exists). Comments are how AI agents communicate progress, findings, or blockers to humans. |
| upload_attachment | Upload a file as a task attachment. content_base64 is the raw file bytes base64-encoded (MCP stdio doesn't do binary directly). Use this to attach screenshots, generated reports, or logs. Content-type helps the UI render inline (image/png shows as image; text/* previewed). |
| claim_next_task | The core AI-agent loop entry point. Claim the next available task for your AI agent in a project. Returns the full task context (description, blockers) plus your agent's system prompt. If no task is available, returns {task: null, message: "queue empty"} — poll again later or exit. Optionally filter by column, tags, or mine_only (tasks already assigned to your agent user). |
| request_human_review | Kick a task to the «Needs Human» column with an explanatory comment. Use when you (the AI) can't proceed — ambiguous requirements, blocking dependency, missing credentials, ethical concern. This is a convenience wrapper: one call instead of add_comment + move_task. |