cursorrules — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited cursorrules (Rules) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Система управления задачами для Cursor IDE: MCP‑сервер (FastMCP по HTTP), REST API, веб‑дашборд с канбаном и WebSocket для событий. AI в Cursor создаёт задачи, меняет статусы и пишет комментарии через MCP; в каждом репозитории можно задать своего PM и проект.
.cursorrules или в CURSOR_TASK_TRACKER.md указываете PM, имя проекта и при необходимости агента. По этим правилам AI передаёт as_project_owner, project_name, as_user в вызовы MCP.dashboard/public/sounds/)..env).├── main.py # Точка входа (python main.py / uvicorn src.app:app)
├── src/
│ ├── app.py # FastAPI приложение, CORS, mount MCP
│ ├── config.py # Настройки из .env
│ ├── database.py # PostgreSQL: пользователи, проекты, задачи, история
│ ├── schemas.py # Pydantic-модели запросов API
│ ├── routes.py # REST API: auth, projects, tasks, comments, WebSocket
│ ├── mcp_plugin.py # MCP: инструменты и ресурсы (create_task, get_project_board и др.)
│ └── websocket.py # Менеджер подключений и emit_event
├── dashboard/ # Vue 3 SPA (канбан)
├── requirements.txt
├── Dockerfile
└── docker-compose.ymlЗапуск всего стека: приложение, PostgreSQL, дашборд (встроен в контейнер).
.env в корне репозитория:DB_NAME=cursor_tracker
DB_USER=postgres
DB_PASSWORD=ваш_надёжный_пароль
SECRET_KEY=случайная_длинная_строка_32_символа_минимум
MCP_DEFAULT_USERNAME=0dm1n
MCP_SUPERUSER=true
MCP_AUTO_REGISTER=true
MCP_AUTO_REGISTER_PASSWORD=changemedocker compose up -d --builddocker compose downДанные PostgreSQL хранятся в volume pgdata (сохраняются при down). Для полного удаления: docker compose down -v.
Запустите БД (Docker или локальный PostgreSQL):
# Docker
docker run --name cursor-tracker-db -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=cursor_tracker -p 5432:5432 -d postgres:15-alpineЛибо создайте БД cursor_tracker и пользователя с паролем вручную.
cd Cursor-MCP-server-for-track-ai-agents-works
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Linux/macOS
pip install -r requirements.txtСоздайте файл .env в корне репозитория (скопируйте из примера ниже и подставьте свои значения):
# База
DB_NAME=cursor_tracker
DB_USER=postgres
DB_PASSWORD=ваш_пароль
DB_HOST=localhost
DB_PORT=5432
# Сервер
HOST=0.0.0.0
PORT=8000
DEBUG=true
# MCP: главный пользователь (PM по умолчанию) и дефолтный проект
MCP_DEFAULT_USERNAME=0dm1n
MCP_DEFAULT_PROJECT=My Project
# Суперпользователь — видит все доски и задачи
MCP_SUPERUSER=true
# Авторегистрация пользователей и проектов при первом вызове
MCP_AUTO_REGISTER=true
MCP_AUTO_REGISTER_PASSWORD=changeme
# Агенты (создаются при старте сервера)
MCP_AGENT_USERNAMES=main,frontend-dev,backend-dev,bug-fixer,refactor-agent,test-agentИнициализация БД выполняется при старте приложения. Запуск сервера:
python main.pyИли с uvicorn: uvicorn src.app:app --reload --host 0.0.0.0 --port 8000
Канбан‑доска для просмотра проектов и задач, смена статусов, комментарии.
cd dashboard
npm install
npm run devДашборд: http://localhost:5173. Вход под пользователями, созданными через MCP или авторегистрацию (пароль из MCP_AUTO_REGISTER_PASSWORD).
В настройках Cursor добавьте MCP‑сервер (глобально или в workspace). Пример .cursor/mcp.json в корне workspace или в пользовательских настройках:
{
"mcpServers": {
"task-tracker": {
"url": "http://localhost:8000/mcp"
}
}
}Важно: сначала запустите python main.py, затем перезагрузите Cursor (Ctrl+Shift+P → «Reload Window»). После этого в чате станут доступны MCP‑инструменты task-tracker.
Один и тот же MCP‑сервер обслуживает все ваши репозитории. «Подключить проект» значит: в этом репозитории задать правила, по которым AI будет вызывать MCP (какой PM, какой проект, какой агент).
В корне репозитория добавьте блок в `.cursorrules` или скопируйте `CURSOR_TASK_TRACKER.md` из этого репозитория и при необходимости отредактируйте блок контекста в начале файла.
Пример блока для .cursorrules:
## Task Tracker (MCP)
В этом проекте для task tracker используй:
- PM (владелец проектов): 0dm1n
- Проект: MyApp
При вызовах MCP передавай:
- as_project_owner="0dm1n"
- project_name="MyApp"
- as_user="frontend-dev" (при add_comment — автор комментария)
- assigned_agent="frontend-dev" (при create_task — кто выполняет)Имена PM и проекта могут быть любыми; пользователи и проекты создаются при первом вызове, если включена авторегистрация.
Скопируйте `CURSOR_TASK_TRACKER.md` из репозитория Cursor-MCP-server-for-track-ai-agents-works в корень вашего проекта. В нём уже описаны инструменты, PM/агенты и правило «на каждый шаг». При необходимости измените в начале файла PM и имя проекта под этот репозиторий.
В Cursor в этом репозитории напишите первое сообщение в чате (например: «инициализируй workspace»). AI должен:
initialize_workspace(as_project_owner="0dm1n", default_project="MyApp") (подставив ваши PM и проект из правил).as_project_owner, project_name и при необходимости as_user.Задачи появятся в проекте PM и будут видны в дашборде (если открыть проект, принадлежащий этому PM).
project_name="Frontend", as_project_owner="0dm1n".project_name="Backend", as_project_owner="0dm1n".Оба подключаются к одному MCP‑серверу; различаются только правила в каждом репо. Итог: у PM 0dm1n два проекта (Frontend и Backend), а в каждом репо AI работает со своим project_name.
| Инструмент | Назначение |
|---|---|
initialize_workspace(as_project_owner?, default_project?) | Инициализация: PM и проект из правил |
create_project(name, as_project_owner?) | Создать проект (владелец — PM) |
create_task(title, project_name?, description?, assigned_agent?, as_project_owner?) | Создать задачу в проекте PM |
update_task_status(task_id, new_status) | TODO / IN_PROGRESS / TESTING / DONE |
add_comment(task_id, content, as_user?) | Комментарий (автор — агент, если передан as_user) |
get_project_board(project_name?, as_project_owner?) | Доска проекта PM |
get_projects_list(as_project_owner?) | Список проектов PM |
get_pending_tasks(as_project_owner?) | Задачи в TODO |
get_testing_tasks(as_project_owner?) | Задачи в TESTING |
Ресурсы: setup://roles, tasks://pending, tasks://testing-queue, tasks://recent-changes, projects://list.
Подробное описание и примеры — в `CURSOR_TASK_TRACKER.md`.
В .env: MCP_SUPERUSER=true. Пользователь с логином MCP_DEFAULT_USERNAME получает доступ ко всем доскам и задачам всех пользователей (MCP, REST API и дашборд).
as_project_owner.add_comment передаётся as_user (имя агента), чтобы комментарий шёл от его имени.Положите MP3 в dashboard/public/sounds/:
task-created.mp3status-changed.mp3comment-added.mp3task-testing.mp3Если MCP_AUTO_REGISTER=false, пользователей нужно заранее создать через дашборд (http://localhost:5173): регистрация, вход, создание проектов. Для MCP должен существовать пользователь с логином из MCP_DEFAULT_USERNAME (или из правил проекта).
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.