ATLAS: 작업 관리 시스템
ATLAS(Adaptive Task & Logic Automation System)는 LLM 에이전트를 위한 프로젝트, 지식 및 작업 관리 시스템입니다.
3계층 아키텍처 기반으로 구축됨:
지엑스피1
ATLAS는 모델 컨텍스트 프로토콜(MCP) 서버로 구현되어 LLM 에이전트가 프로젝트 관리 데이터베이스와 상호 작용하여 프로젝트, 작업 및 지식 항목을 관리할 수 있도록 합니다.
중요 버전 참고 : 버전 1.5.4는 SQLite를 데이터베이스로 사용하는 마지막 버전입니다. 버전 2.0 이상은 Neo4j를 사용하도록 완전히 재작성되었으며, 다음 중 하나가 필요합니다.
- Docker를 사용한 셀프 호스팅(저장소에 docker-compose 포함)
- Neo4j AuraDB 클라우드 서비스 사용: https://neo4j.com/product/auradb/
버전 2.5.0에서는 이전 구조를 대체하는 새로운 3노드 시스템(프로젝트, 작업, 지식)이 도입되었습니다.
목차
개요
ATLAS는 다음을 통해 LLM과 외부 시스템 간의 표준화된 통신을 가능하게 하는 MCP(모델 컨텍스트 프로토콜)를 구현합니다.
- 클라이언트 : Claude Desktop, IDE 및 기타 MCP 호환 클라이언트
- 서버 : 프로젝트, 작업 및 지식 관리를 위한 도구 및 리소스
- LLM 에이전트 : 서버의 관리 기능을 활용하는 AI 모델
시스템 통합
Atlas 플랫폼은 다음 구성 요소를 하나의 응집된 시스템으로 통합합니다.
- 프로젝트-작업 관계 : 프로젝트는 프로젝트 목표 달성에 필요한 실행 가능한 단계를 나타내는 작업을 포함합니다. 작업은 상위 프로젝트의 맥락을 상속하는 동시에 개별 작업 항목에 대한 세부적인 추적 기능을 제공합니다.
- 지식 통합 : 프로젝트와 작업 모두 지식 항목으로 풍부해질 수 있으며, 이를 통해 팀 구성원에게 필요한 정보와 맥락을 제공할 수 있습니다.
- 종속성 관리 : 프로젝트와 작업 모두 종속성 관계를 지원하므로 전제 조건과 순차적 실행 요구 사항이 있는 복잡한 워크플로가 가능합니다.
- 통합 검색 : 이 플랫폼은 엔터티 간 검색 기능을 제공하여 사용자가 다양한 기준에 따라 관련 프로젝트, 작업 또는 지식을 찾을 수 있도록 합니다.
특징
프로젝트 관리
- 포괄적인 추적: 대량 작업에 대한 기본 지원 기능을 통해 프로젝트 메타데이터, 상태 및 다양한 콘텐츠(노트, 링크 등)를 관리합니다.
- 종속성 및 관계 처리: 프로젝트 간 종속성을 자동으로 검증하고 추적합니다.
작업 관리
- 작업 수명 주기 관리: 작업의 전체 수명 주기에 걸쳐 작업을 생성, 추적 및 업데이트합니다.
- 우선순위 지정 및 분류: 우선순위 수준을 지정하고 태그를 사용하여 작업을 분류하여 더 나은 구성을 제공합니다.
- 종속성 추적: 작업 종속성을 설정하여 구조화된 워크플로를 만듭니다.
지식 관리
- 구조화된 지식 저장소: 프로젝트 관련 정보의 검색 가능한 저장소를 유지 관리합니다.
- 도메인 분류: 쉽게 검색할 수 있도록 도메인과 태그별로 지식을 구성합니다.
- 인용 지원: 지식 항목의 출처와 참고문헌을 추적합니다.
그래프 데이터베이스 통합
- 기본 관계 관리: Neo4j의 ACID 호환 트랜잭션과 최적화된 쿼리를 활용하여 강력한 데이터 무결성을 확보합니다.
- 고급 검색 및 확장성: 높은 성능을 유지하면서 퍼지 매칭과 와일드카드를 사용하여 속성 기반 검색을 수행합니다.
통합 검색
- 엔터티 간 검색: 콘텐츠, 메타데이터 또는 관계를 기반으로 관련 프로젝트, 작업 또는 지식을 찾습니다.
- 유연한 쿼리 옵션: 대소문자 구분 없음, 퍼지 및 고급 필터링 옵션 지원.
설치
- 저장소를 복제합니다.
- 종속성 설치:
- Neo4j 구성: Neo4j 인스턴스가 실행 중이고 접근 가능한지 확인하세요. 제공된 Docker 구성을 사용하여 인스턴스를 시작할 수 있습니다.Neo4j 연결 세부 정보로
.env
파일을 업데이트합니다( 구성 참조). - 프로젝트를 빌드하세요:
서버 실행
대부분의 MCP 클라이언트는 서버를 자동으로 실행하지만, 다음 명령을 사용하여 테스트나 개발 목적으로 수동으로 실행할 수도 있습니다.
ATLAS MCP 서버는 통신을 위한 다양한 전송 메커니즘을 지원합니다.
- 표준 I/O(stdio): 이것은 기본 모드이며 일반적으로 로컬 MCP 클라이언트(IDE 확장과 같은)와 직접 통합하는 데 사용됩니다.여기서는
MCP_TRANSPORT_TYPE=stdio
설정을 사용합니다. - 스트리밍 가능 HTTP: 이 모드에서는 서버가 HTTP를 통해 MCP 요청을 수신할 수 있으므로 원격 클라이언트나 웹 기반 통합에 적합합니다.
MCP_TRANSPORT_TYPE=http
설정을 사용합니다. 서버는.env
파일에 정의된 호스트와 포트(예:MCP_HTTP_HOST
및MCP_HTTP_PORT
, 기본값은127.0.0.1:3010
)에서 수신 대기합니다. 원격으로 접속하는 경우 방화벽에서 연결을 허용하는지 확인하세요.
웹 UI(실험적)
프로젝트, 작업 및 지식 세부 정보를 보려면 기본 웹 UI를 사용할 수 있습니다.
- UI 열기 :
- 브라우저에서 UI를 직접 열려면 터미널에서 다음 명령을 실행하세요.
- 브라우저에서 UI를 직접 열려면 터미널에서 다음 명령을 실행하세요.
- 기능 :
- 웹 UI의 예시 스크린샷은 여기에서 볼 수 있습니다.
구성
환경 변수
환경 변수는 MCP 클라이언트의 클라이언트 구성에서 설정해야 하며, 로컬 개발의 경우 프로젝트 루트의 .env
파일에서 설정해야 합니다.
사용 가능한 모든 환경 변수, 설명 및 기본값은 src/config/index.ts
참조하세요.
MCP 클라이언트 설정
MCP 클라이언트 구성 방법은 클라이언트 자체와 선택한 전송 유형에 따라 달라집니다. 프로젝트 루트에 있는 mcp.json
파일은 일부 클라이언트(예: mcp-inspector
)에서 서버 구성을 정의하는 데 사용될 수 있습니다. 필요에 따라 업데이트하세요.
Stdio 전송의 경우(구성 예):
스트리밍 가능 HTTP의 경우(구성 예): 클라이언트가 스트리밍 가능 HTTP를 통해 MCP 서버에 연결하는 것을 지원하는 경우 클라이언트 구성에서 서버의 엔드포인트(예: http://localhost:3010/mcp
)를 제공합니다.
참고: 서버가 클라이언트의 바로 위 작업 디렉터리에 없는 경우, 클라이언트 명령을 구성할 때 args
에 항상 절대 경로를 사용하십시오. 클라이언트 env
블록의 MCP_AUTH_SECRET_KEY
예시이며, 클라이언트-서버 통신의 실제 토큰 처리는 클라이언트의 기능과 서버의 인증 메커니즘(예: Authorization
헤더에 JWT 포함)에 따라 달라집니다.
프로젝트 구조
코드베이스는 모듈형 구조를 따릅니다.
도구
ATLAS는 모델 컨텍스트 프로토콜을 통해 호출 가능한 프로젝트, 작업 및 지식 관리를 위한 포괄적인 도구 모음을 제공합니다.
프로젝트 운영
도구 이름 | 설명 | 주요 주장 |
---|---|---|
atlas_project_create | 새로운 프로젝트(단일/대량)를 생성합니다. | mode ('single'/'bulk'), id (단일 모드의 경우 클라이언트에서 생성한 ID(선택 사항), project details( name , description , status , urls , completionRequirements , dependencies , outputFormat , taskType ). bulk 모드의 경우 projects (프로젝트 객체 배열)를 사용합니다. responseFormat ('formatted'/'json', 선택 사항, 기본값: 'formatted'). |
atlas_project_list | 프로젝트(전체/세부정보)를 나열합니다. | mode ('모두'/'세부정보', 기본값: '모두'), id (세부정보 모드), 필터( status , taskType ), 페이지 매김( page , limit ), 포함( includeKnowledge , includeTasks ), responseFormat ('포맷됨'/'json', 선택 사항, 기본값: '포맷됨'). |
atlas_project_update | 기존 프로젝트(단일/대량)를 업데이트합니다. | mode ('single'/'bulk'), id (단일 모드), updates 객체. bulk 모드의 경우 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 (선택 사항, 클라이언트 생성 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 (단일 모드), updates 객체. bulk 모드의 경우, 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 ('단일'/'대량'), id (선택 사항, 클라이언트 생성 ID), projectId , 지식 세부 정보( text , tags , domain , citations ). 대량 모드의 경우 knowledge (지식 객체 배열)을 사용합니다. responseFormat ('포맷됨'/'json', 선택 사항, 기본값: '포맷됨'). |
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 (선택 사항: 지정된 경우 이 속성에 대한 정규식 검색을 수행하고, 생략된 경우 전체 텍스트 검색을 수행), filters( entityTypes , taskType , assignedToUserId ), options( caseInsensitive (기본값: true, 정규식의 경우), fuzzy (기본값: false, 정규식 'contains' 또는 전체 텍스트 Lucene fuzzy의 경우)), pagination( page , limit ), responseFormat ('formatted'/'json', 선택 사항, 기본값: 'formatted'). |
연구 운영
도구 이름 | 설명 | 주요 주장 |
---|---|---|
atlas_deep_research | Atlas 지식 기반 내에서 계층적 계획을 만들어 체계적이고 심층적인 연구 프로세스를 시작합니다. | 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-backups/
) 내에 타임스탬프가 지정된 디렉터리(예:atlas-backup-YYYYMMDDHHMMSS
)를 생성합니다. 이 디렉터리에는projects.json
,tasks.json
,knowledge.json
,relationships.json
및full-export.json
포함됩니다. - 수동 백업 : 제공된 스크립트를 사용하여 수동 백업을 트리거할 수 있습니다.이 명령은
exportDatabase
함수를 호출하는scripts/db-backup.ts
실행합니다.
복원 프로세스
- 메커니즘 : 복원 프로세스는 먼저 기존 Neo4j 데이터베이스를 완전히 삭제합니다. 그런 다음 지정된 백업 디렉터리에 있는 JSON 파일에서 노드와 관계를 가져옵니다. 사용 가능한 경우
full-export.json
우선적으로 사용합니다. - 경고 : 백업에서 복원하는 것은 파괴적인 작업입니다. Neo4j 데이터베이스의 현재 데이터를 모두 덮어쓰게 됩니다.
- 수동 복원 : 백업 디렉토리에서 데이터베이스를 복원하려면 다음 가져오기 스크립트를 사용하세요.
<path_to_backup_directory>
백업 폴더의 실제 경로(예:./atlas-backups/atlas-backup-20250326120000
)로 바꾸세요. 이 명령은importDatabase
함수를 호출하는scripts/db-import.ts
실행합니다. - 관계 처리 : 가져오기 프로세스는 내보내기 과정에서 노드에 저장된
id
속성을 기반으로 관계를 다시 생성합니다. 관계가 올바르게 복원되도록 노드에 일관된id
속성이 있는지 확인하세요.
예시
examples/
디렉토리에는 ATLAS MCP 서버의 다양한 기능을 보여주는 실제 예제가 들어 있습니다.
- 백업 예제 :
examples/backup-example/
에 있으며,npm run db:backup
명령으로 생성된 JSON 파일의 구조와 형식을 보여줍니다. 자세한 내용은 예제 README를 참조하세요. - 심층 연구 예제 :
examples/deep-research-example/
에 있는 이 예제는atlas_deep_research
도구에서 생성된 출력과 구조를 보여줍니다. 연구 계획을 요약한 마크다운 파일(covington_community_grant_research.md
)과 연구 계획 생성 후 데이터베이스에서 내보낸 원시 데이터를 포함하는 JSON 파일(full-export.json
)이 포함되어 있습니다. 자세한 내용은 예제 README를 참조하세요.
특허
아파치 라이선스 2.0
You must be authenticated.
Tools
ATLAS(Adaptive Task & Logic Automation System)는 대규모 언어 모델(LLM)에 계층적 작업 관리 기능을 제공하는 모델 컨텍스트 프로토콜(Model Context Protocol) 서버입니다. 이 도구는 LLM에 복잡한 작업과 종속성을 관리하는 데 필요한 구조와 컨텍스트를 제공합니다.
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that enables Claude and other LLMs to interact with Notion workspaces, providing capabilities like searching, retrieving, creating and updating pages, as well as managing databases.Last updated -2752TypeScript
- 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 -54358TypeScript
- -securityFlicense-qualityA Model Context Protocol server that enables integration with the TESS API, allowing users to list and manage agents, execute agents with custom messages, and manage files through natural language interfaces.Last updated -TypeScript
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 -1,584190TypeScriptApache 2.0