ATLAS: Система управления задачами
ATLAS (Adaptive Task & Logic Automation System) — это система управления проектами, знаниями и задачами для агентов LLM.
Построен на основе трехуровневой архитектуры:
Реализованный как сервер Model Context Protocol (MCP), ATLAS позволяет агентам LLM взаимодействовать с базой данных управления проектами, что позволяет им управлять проектами, задачами и элементами знаний.
Важное примечание к версии : версия 1.5.4 — последняя версия, которая использует SQLite в качестве базы данных. Версия 2.0 и последующие полностью переписаны для использования Neo4j, что требует либо:
- Самостоятельное размещение с использованием Docker (docker-compose включен в репозиторий)
- Использование облачного сервиса Neo4j AuraDB: https://neo4j.com/product/auradb/
В версии 2.5.0 представлена новая система из трех узлов (Проекты, Задачи, Знания), которая заменяет предыдущую структуру.
Оглавление
- Обзор
- Функции
- Установка
- Запуск сервера
- Веб-интерфейс (экспериментальный)
- Конфигурация
- Структура проекта
- Инструменты
- Ресурсы
- Резервное копирование и восстановление базы данных
- Примеры
- Лицензия
Обзор
ATLAS реализует протокол контекста модели (MCP), обеспечивающий стандартизированную связь между LLM и внешними системами посредством:
- Клиенты : Claude Desktop, IDE и другие MCP-совместимые клиенты
- Серверы : инструменты и ресурсы для управления проектами, задачами и знаниями
- Агенты LLM : модели ИИ, которые используют возможности управления сервера
Системная интеграция
Платформа Atlas объединяет эти компоненты в единую систему:
- Связь проекта и задачи : проекты содержат задачи, которые представляют собой выполнимые шаги, необходимые для достижения целей проекта. Задачи наследуют контекст родительского проекта, обеспечивая при этом детальное отслеживание отдельных рабочих элементов.
- Интеграция знаний : как проекты, так и задачи могут быть обогащены элементами знаний, предоставляя членам команды необходимую информацию и контекст.
- Управление зависимостями : как проекты, так и задачи поддерживают отношения зависимости, что позволяет реализовывать сложные рабочие процессы с предварительными условиями и требованиями к последовательному выполнению.
- Единый поиск : платформа предоставляет возможности кросс-сущностного поиска, позволяя пользователям находить релевантные проекты, задачи или знания на основе различных критериев.
Функции
Управление проектом
- Комплексное отслеживание: управление метаданными проекта, статусами и расширенным контентом (заметками, ссылками и т. д.) с помощью встроенной поддержки массовых операций.
- Обработка зависимостей и отношений: автоматическая проверка и отслеживание межпроектных зависимостей.
Управление задачами
- Управление жизненным циклом задач: создание, отслеживание и обновление задач на протяжении всего их жизненного цикла.
- Приоритизация и категоризация: назначайте уровни приоритета и категоризируйте задачи с помощью тегов для лучшей организации.
- Отслеживание зависимостей: установите зависимости задач для создания структурированных рабочих процессов.
Управление знаниями
- Структурированное хранилище знаний: поддерживайте доступное для поиска хранилище информации, связанной с проектом.
- Категоризация доменов: организация знаний по доменам и тегам для удобства поиска.
- Поддержка цитирования: отслеживайте источники и ссылки на элементы знаний.
Интеграция графической базы данных
- Встроенное управление отношениями: используйте ACID-совместимые транзакции Neo4j и оптимизированные запросы для надежной целостности данных.
- Расширенный поиск и масштабируемость: выполняйте поиск по свойствам с использованием нечеткого соответствия и подстановочных знаков, сохраняя при этом высокую производительность.
Единый поиск
- Поиск по нескольким сущностям: находите релевантные проекты, задачи или знания на основе контента, метаданных или связей.
- Гибкие параметры запроса: поддержка параметров фильтрации без учета регистра, нечеткой и расширенной фильтрации.
Установка
- Клонируйте репозиторий:
- Установить зависимости:
- Настройте Neo4j: Убедитесь, что у вас есть запущенный и доступный экземпляр Neo4j. Вы можете запустить его, используя предоставленную конфигурацию Docker:Обновите файл
.env
, указав сведения о подключении Neo4j (см. Конфигурация ). - Создайте проект:
Запуск сервера
Большинство клиентов MCP запускают сервер автоматически, но вы также можете запустить его вручную для тестирования или разработки, используя следующие команды.
Сервер ATLAS MCP поддерживает несколько транспортных механизмов для связи:
- Стандартный ввод-вывод (stdio): это режим по умолчанию, который обычно используется для прямой интеграции с локальными клиентами MCP (например, расширениями IDE).Здесь используется настройка
MCP_TRANSPORT_TYPE=stdio
. - Потоковый HTTP: этот режим позволяет серверу прослушивать запросы MCP по протоколу HTTP, подходит для удаленных клиентов или веб-интеграций.Это использует настройку
MCP_TRANSPORT_TYPE=http
. Сервер будет прослушивать хост и порт, указанные в вашем файле.env
(например,MCP_HTTP_HOST
иMCP_HTTP_PORT
, по умолчанию127.0.0.1:3010
). Убедитесь, что ваш брандмауэр разрешает подключения при удаленном доступе.
Веб-интерфейс (экспериментальный)
Для просмотра сведений о проектах, задачах и знаниях доступен базовый веб-интерфейс.
- Открытие пользовательского интерфейса :
- Чтобы открыть пользовательский интерфейс непосредственно в браузере, выполните в терминале следующую команду:
- Чтобы открыть пользовательский интерфейс непосредственно в браузере, выполните в терминале следующую команду:
- Функциональность :
- Пример скриншота веб-интерфейса можно увидеть здесь .
Конфигурация
Переменные среды
Переменные среды должны быть установлены в конфигурации клиента MCP или в файле .env
в корне проекта для локальной разработки.
Все доступные переменные среды, их описания и значения по умолчанию можно найти в файле src/config/index.ts
.
Настройки клиента MCP
То, как вы настраиваете свой клиент MCP, зависит от самого клиента и выбранного типа транспорта. Файл mcp.json
в корне проекта может использоваться некоторыми клиентами (например, mcp-inspector
) для определения конфигураций сервера; обновляйте по мере необходимости.
Для Stdio Transport (пример конфигурации):
Для потокового HTTP (пример конфигурации): если ваш клиент поддерживает подключение к серверу MCP через потоковый HTTP, вы указываете конечную точку сервера (например, http://localhost:3010/mcp
) в конфигурации клиента.
Примечание: Всегда используйте абсолютные пути для args
при настройке клиентских команд, если сервер не находится в непосредственном рабочем каталоге клиента. MCP_AUTH_SECRET_KEY
в блоке env
клиента является иллюстративным; фактическая обработка токенов для клиент-серверной связи будет зависеть от возможностей клиента и механизма аутентификации сервера (например, отправка JWT в заголовке Authorization
).
Структура проекта
Кодовая база имеет модульную структуру:
Инструменты
ATLAS предоставляет комплексный набор инструментов для управления проектами, задачами и знаниями, вызываемых через протокол контекста модели.
Операции проекта
Название инструмента | Описание | Ключевые аргументы |
---|---|---|
atlas_project_create | Создает новые проекты (отдельные/групповые). | mode ('single'/'bulk'), id (необязательный идентификатор, сгенерированный клиентом для single mode), сведения о проекте ( name , description , status , urls , completionRequirements , dependencies , outputFormat , taskType ). Для bulk mode используйте projects (массив объектов проекта). responseFormat ('formatted'/'json', необязательно, по умолчанию: 'formatted'). |
atlas_project_list | Список проектов (все/подробно). | mode ('all'/'details', по умолчанию: 'all'), id (для подробного режима), фильтры ( status , taskType ), пагинация ( page , limit ), включает ( includeKnowledge , includeTasks ), responseFormat ('formatted'/'json', необязательно, по умолчанию: 'formatted'). |
atlas_project_update | Обновляет существующие проекты (отдельные/массовые). | mode ('single'/'bulk'), id (для single mode), updates объект. Для bulk mode используйте projects (массив объектов, каждый с id и updates ). responseFormat ('formatted'/'json', необязательно, по умолчанию: 'formatted'). |
atlas_project_delete | Удаляет проекты (отдельные/массово). | mode («single»/«bulk»), id (для одиночного режима) или projectIds (массив для массового режима). responseFormat («formatted»/«json», необязательно, по умолчанию: «formatted»). |
Операции по задачам
Название инструмента | Описание | Ключевые аргументы |
---|---|---|
atlas_task_create | Создает новые задачи (одиночные/групповые). | mode ('single'/'bulk'), id (необязательно, сгенерированный клиентом идентификатор), projectId , сведения о задаче ( title , description , priority , status , assignedTo , urls , tags , completionRequirements , dependencies , outputFormat , taskType ). Для массового режима используйте tasks (массив объектов задач). responseFormat ('formatted'/'json', необязательно, по умолчанию: 'formatted'). |
atlas_task_update | Обновляет существующие задачи (отдельные/массовые). | mode ('single'/'bulk'), id (для single mode), updates object. Для bulk mode используйте tasks (массив объектов, каждый с id и updates ). responseFormat ('formatted'/'json', необязательно, по умолчанию: 'formatted'). |
atlas_task_delete | Удаляет задачи (отдельные/групповые). | mode («single»/«bulk»), id (для одиночного режима) или taskIds (массив для массового режима). responseFormat («formatted»/«json», необязательно, по умолчанию: «formatted»). |
atlas_task_list | Перечисляет задачи для конкретного проекта. | projectId (обязательно), фильтры ( status , assignedTo , priority , tags , taskType ), сортировка ( sortBy , sortDirection ), разбиение на страницы ( page , limit ), responseFormat ('formatted'/'json', необязательно, по умолчанию: 'formatted'). |
Операции со знаниями
Название инструмента | Описание | Ключевые аргументы |
---|---|---|
atlas_knowledge_add | Добавляет новые элементы знаний (отдельные/групповые). | mode ('single'/'bulk'), id (необязательно, сгенерированный клиентом ID), projectId , сведения о знаниях ( text , tags , domain , citations ). Для массового режима используйте knowledge (массив объектов знаний). responseFormat ('formatted'/'json', необязательно, по умолчанию: 'formatted'). |
atlas_knowledge_delete | Удаляет элементы знаний (отдельные/групповые). | mode («single»/«bulk»), id (для одиночного режима) или knowledgeIds (массив для массового режима). responseFormat («formatted»/«json», необязательно, по умолчанию: «formatted»). |
atlas_knowledge_list | Перечисляет элементы знаний для конкретного проекта. | projectId (обязательно), фильтры ( tags , domain , search ), пагинация ( page , limit ), responseFormat ('formatted'/'json', необязательно, по умолчанию: 'formatted'). |
Поисковые операции
Название инструмента | Описание | Ключевые аргументы |
---|---|---|
atlas_unified_search | Выполняет унифицированный поиск по всем сущностям. | value (поисковый запрос, обязательно), property (необязательно: если указано, выполняется поиск по этому свойству с помощью регулярного выражения; если пропущено, выполняется полнотекстовый поиск), фильтры ( entityTypes , taskType , assignedToUserId ), параметры ( caseInsensitive (по умолчанию: true, для регулярного выражения), fuzzy (по умолчанию: false, для регулярного выражения «содержит» или полнотекстового Lucene fuzzy)), разбиение на страницы ( page , limit ), responseFormat ('formatted'/'json', необязательно, по умолчанию: 'formatted'). |
Научно-исследовательские работы
Название инструмента | Описание | Ключевые аргументы |
---|---|---|
atlas_deep_research | Инициирует структурированный глубокий процесс исследования путем создания иерархического плана в базе знаний Атласа. | projectId (обязательно), researchTopic (обязательно), researchGoal (обязательно), scopeDefinition (необязательно), subTopics (обязательный массив объектов, каждый с question (обязательно), initialSearchQueries (необязательный массив), nodeId (необязательно), priority (необязательно), assignedTo (необязательно), initialStatus (необязательно, по умолчанию: 'todo')), researchDomain (необязательно), initialTags (необязательно), planNodeId (необязательно), createTasks (необязательно, по умолчанию: true), responseFormat ('formatted'/'json', необязательно, по умолчанию: 'formatted'). |
Операции с базами данных
Название инструмента | Описание | Ключевые аргументы |
---|---|---|
atlas_database_clean | Разрушительный: полностью сбрасывает базу данных, удаляя все проекты, задачи и знания. | acknowledgement (должно быть установлено значение true для подтверждения, обязательно), responseFormat ('formatted'/'json', необязательно, по умолчанию: 'formatted'). |
Ресурсы
ATLAS предоставляет данные о проектах, задачах и знаниях через стандартные конечные точки ресурсов MCP.
Прямые Ресурсы
Имя ресурса | Описание |
---|---|
atlas://projects | Список всех проектов на платформе Atlas с поддержкой пагинации. |
atlas://tasks | Список всех задач на платформе Atlas с поддержкой пагинации и фильтрации. |
atlas://knowledge | Список всех элементов знаний на платформе Atlas с поддержкой пагинации и фильтрации. |
Шаблоны ресурсов
Имя ресурса | Описание |
---|---|
atlas://projects/{projectId} | Извлекает один проект по его уникальному идентификатору ( projectId ). |
atlas://tasks/{taskId} | Извлекает одну задачу по ее уникальному идентификатору ( taskId ). |
atlas://projects/{projectId}/tasks | Извлекает все задачи, относящиеся к определенному проекту ( projectId ). |
atlas://knowledge/{knowledgeId} | Извлекает отдельный элемент знаний по его уникальному идентификатору ( knowledgeId ). |
atlas://projects/{projectId}/knowledge | Извлекает все элементы знаний, относящиеся к определенному проекту ( projectId ). |
Резервное копирование и восстановление базы данных
ATLAS предоставляет функциональность для резервного копирования и восстановления содержимого базы данных Neo4j. Основная логика находится в src/services/neo4j/backupRestoreService.ts
.
Процесс резервного копирования
- Механизм : Процесс резервного копирования экспортирует все узлы
Project
,Task
иKnowledge
вместе с их связями в отдельные файлы JSON. Также создается файлfull-export.json
содержащий все данные. - Вывод : Каждая резервная копия создает каталог с меткой времени (например,
atlas-backup-YYYYMMDDHHMMSS
) в настроенном пути резервной копии (по умолчанию:./atlas-backups/
). Этот каталог содержитprojects.json
,tasks.json
,knowledge.json
,relationships.json
иfull-export.json
. - Ручное резервное копирование : вы можете запустить ручное резервное копирование с помощью предоставленного скрипта:Эта команда выполняет
scripts/db-backup.ts
, который вызывает функциюexportDatabase
.
Процесс восстановления
- Механизм : Процесс восстановления сначала полностью очищает существующую базу данных Neo4j. Затем он импортирует узлы и связи из файлов JSON, расположенных в указанном каталоге резервных копий. Он отдает приоритет
full-export.json
если он доступен. - Предупреждение : Восстановление из резервной копии — разрушительная операция. Она перезапишет все текущие данные в вашей базе данных Neo4j.
- Ручное восстановление : чтобы восстановить базу данных из резервной копии, используйте скрипт импорта:Замените
<path_to_backup_directory>
фактическим путем к папке резервной копии (например,./atlas-backups/atlas-backup-20250326120000
). Эта команда выполняетscripts/db-import.ts
, который вызывает функциюimportDatabase
. - Обработка отношений : процесс импорта пытается воссоздать отношения на основе свойств
id
, сохраненных в узлах во время экспорта. Убедитесь, что ваши узлы имеют согласованные свойстваid
для правильного восстановления отношений.
Примеры
Каталог examples/
содержит практические примеры, демонстрирующие различные функции сервера ATLAS MCP.
- Пример резервного копирования : Расположенный в
examples/backup-example/
, он показывает структуру и формат файлов JSON, созданных командойnpm run db:backup
. Подробнее см. в README примеров . - Пример глубокого исследования : Расположенный в
examples/deep-research-example/
, он демонстрирует вывод и структуру, сгенерированные инструментомatlas_deep_research
. Он включает файл markdown (covington_community_grant_research.md
), обобщающий план исследования, и файл JSON (full-export.json
), содержащий необработанные данные, экспортированные из базы данных после создания плана исследования. Подробнее см. в README примеров .
Лицензия
Лицензия Apache 2.0
Tools
ATLAS (Adaptive Task & Logic Automation System) — сервер Model Context Protocol, который предоставляет иерархические возможности управления задачами для больших языковых моделей. Этот инструмент предоставляет LLM структуру и контекст, необходимые для управления сложными задачами и зависимостями.
Related MCP Servers
- AsecurityAlicenseAqualityAn official AI Model Context Protocol server that enables AI assistants to interact with Dart project management by creating/managing tasks and documents through prompts and tools.Last updated -151,52486TypeScriptMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants like Claude to access and search Atlassian Confluence content, allowing integration with your organization's knowledge base.Last updated -538210TypeScript
- AsecurityAlicenseAqualityA Model Context Protocol server implementation that enables AI assistants to interact with Apollo.io data, performing operations like people/organization enrichment, searching, and retrieving job postings through natural language commands.Last updated -73TypeScriptMIT License
MongoDB MCP Serverofficial
-securityAlicense-qualityA Model Context Protocol server that enables AI assistants to interact with MongoDB Atlas resources through natural language, supporting database operations and Atlas management functions.Last updated -3,669342TypeScriptApache 2.0
Appeared in Searches
- A server for data engineering tasks, GPU clustering, nomad setup, and data pipeline management
- A system for task management and integration with AI editors using multiple LLMs
- Tools and Templates for Prompt Management and Workflow Automation
- Information or resources related to 'Prompt'
- GitHub repository or chat tool related to MCP