atlas-mcp-server

by cyanheads
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • ATLAS uses .ENV files for configuration management, with support for creating a .env file based on the provided .env.example template.

  • ATLAS integrates with Docker for simplified installation and running of Neo4j. Docker-compose is included in the repository for self-hosting the Neo4j database.

  • ATLAS Skills system includes git integration, with configuration options for GitHub username and email available through environment variables.

ATLAS: 작업 관리 시스템

ATLAS(Adaptive Task & Logic Automation System)는 LLM 에이전트를 위한 작업 관리 시스템입니다.

3계층 아키텍처 기반으로 구축됨:

지엑스피1

ATLAS는 MCP(Model Context Protocol) 서버로 구현되어 LLM 에이전트가 프로젝트 관리 데이터베이스와 상호 작용하여 프로젝트, 작업 및 지식 항목을 관리할 수 있도록 합니다.

중요 버전 참고 : 버전 1.5.4는 SQLite를 데이터베이스로 사용하는 마지막 버전입니다. 버전 2.0 이상은 Neo4j를 사용하도록 완전히 재작성되었으며, 다음 중 하나가 필요합니다.

버전 2.5.0에서는 이전 구조를 대체하는 새로운 3노드 시스템(프로젝트, 작업, 지식)이 도입되었습니다.

목차

개요

ATLAS는 다음을 통해 LLM과 외부 시스템 간의 표준화된 통신을 가능하게 하는 MCP(모델 컨텍스트 프로토콜)를 구현합니다.

  • 클라이언트 : Claude Desktop, IDE 및 기타 MCP 호환 클라이언트
  • 서버 : 프로젝트, 작업 및 지식 관리를 위한 도구 및 리소스
  • LLM 에이전트 : 서버의 관리 기능을 활용하는 AI 모델

시스템 통합

Atlas 플랫폼은 다음 구성 요소를 하나의 응집된 시스템으로 통합합니다.

  • 프로젝트-작업 관계 : 프로젝트는 프로젝트 목표 달성에 필요한 실행 가능한 단계를 나타내는 작업을 포함합니다. 작업은 상위 프로젝트의 맥락을 상속하는 동시에 개별 작업 항목에 대한 세부적인 추적 기능을 제공합니다.
  • 지식 통합 : 프로젝트와 작업 모두 지식 항목으로 풍부해질 수 있으며, 이를 통해 팀 구성원에게 필요한 정보와 맥락을 제공할 수 있습니다.
  • 종속성 관리 : 프로젝트와 작업 모두 종속성 관계를 지원하므로 전제 조건과 순차적 실행 요구 사항이 있는 복잡한 워크플로가 가능합니다.
  • 통합 검색 : 이 플랫폼은 엔터티 간 검색 기능을 제공하여 사용자가 다양한 기준에 따라 관련 프로젝트, 작업 또는 지식을 찾을 수 있도록 합니다.

특징

프로젝트 관리

  • 포괄적인 추적: 대량 작업에 대한 기본 지원 기능을 통해 프로젝트 메타데이터, 상태 및 다양한 콘텐츠(노트, 링크 등)를 관리합니다.
  • 종속성 및 관계 처리: 프로젝트 간 종속성을 자동으로 검증하고 추적합니다.

작업 관리

  • 작업 수명 주기 관리: 작업의 전체 수명 주기에 걸쳐 작업을 생성, 추적 및 업데이트합니다.
  • 우선순위 지정 및 분류: 우선순위 수준을 지정하고 태그를 사용하여 작업을 분류하여 더 나은 구성을 제공합니다.
  • 종속성 추적: 작업 종속성을 설정하여 구조화된 워크플로를 만듭니다.

지식 관리

  • 구조화된 지식 저장소: 프로젝트 관련 정보의 검색 가능한 저장소를 유지 관리합니다.
  • 도메인 분류: 쉽게 검색할 수 있도록 도메인과 태그별로 지식을 구성합니다.
  • 인용 지원: 지식 항목의 출처와 참고문헌을 추적합니다.

그래프 데이터베이스 통합

  • 기본 관계 관리: Neo4j의 ACID 호환 트랜잭션과 최적화된 쿼리를 활용하여 강력한 데이터 무결성을 확보합니다.
  • 고급 검색 및 확장성: 높은 성능을 유지하면서 퍼지 매칭과 와일드카드를 사용하여 속성 기반 검색을 수행합니다.

통합 검색

  • 엔터티 간 검색: 콘텐츠, 메타데이터 또는 관계를 기반으로 관련 프로젝트, 작업 또는 지식을 찾습니다.
  • 유연한 쿼리 옵션: 대소문자 구분 없음, 퍼지 및 고급 필터링 옵션 지원.

설치

  1. 저장소를 복제합니다.
git clone https://github.com/cyanheads/atlas-mcp-server.git cd atlas-mcp-server
  1. 종속성 설치:
npm install
  1. Neo4j 구성:
# Start Neo4j using Docker docker-compose up -d
  1. 프로젝트를 빌드하세요:
npm run build

구성

환경 변수

.env.example 기반으로 .env 파일을 만듭니다.

# Neo4j Configuration NEO4J_URI=bolt://localhost:7687 NEO4J_USER=neo4j NEO4J_PASSWORD=password2 # Application Configuration LOG_LEVEL=info # debug, info, warn, error NODE_ENV=development # development, production

MCP 클라이언트 설정

MCP 클라이언트 설정에 추가:

{ "mcpServers": { "atlas": { "command": "node", "args": ["/path/to/atlas-mcp-server/dist/index.js"], "env": { "NEO4J_URI": "bolt://localhost:7687", "NEO4J_USER": "neo4j", "NEO4J_PASSWORD": "password2", "LOG_LEVEL": "info", "NODE_ENV": "production" } } } }

프로젝트 구조

코드베이스는 모듈형 구조를 따릅니다.

src/ ├── config/ # Configuration management (index.ts) ├── index.ts # Main server entry point ├── mcp/ # MCP server implementation (server.ts) │ ├── resources/ # MCP resource handlers (index.ts, types.ts, knowledge/, projects/, tasks/) │ └── tools/ # MCP tool handlers (individual tool directories) ├── services/ # Core application services │ └── neo4j/ # Neo4j database services (index.ts, driver.ts, backupRestoreService.ts, etc.) ├── types/ # Shared TypeScript type definitions (errors.ts, mcp.ts, tool.ts) └── utils/ # Utility functions (logger.ts, errorHandler.ts, etc.)

참고: ID 생성 로직은 주로 src/services/neo4j/helpers.ts 에 있습니다.

도구

ATLAS는 모델 컨텍스트 프로토콜을 통해 호출 가능한 프로젝트, 작업 및 지식 관리를 위한 포괄적인 도구 모음을 제공합니다.

프로젝트 운영

도구 이름설명주요 주장
atlas_project_create새로운 프로젝트(단일/대량)를 생성합니다.mode ('단일'/'대량'), 프로젝트 세부 정보( name , description , status , urls , completionRequirements , dependencies , outputFormat , taskType ), responseFormat ('포맷됨'/'json', 선택 사항).
atlas_project_list프로젝트(전체/세부정보)를 나열합니다.mode ('all'/'details'), id (세부정보), filters( status , taskType ), pagination( page , limit ), include( includeKnowledge , includeTasks ), responseFormat ('formatted'/'json', 선택 사항).
atlas_project_update기존 프로젝트(단일/대량)를 업데이트합니다.mode ('single'/'bulk'), id , updates 객체, responseFormat ('formatted'/'json', 선택 사항). 대량 모드는 projects 배열을 사용합니다.
atlas_project_delete프로젝트(단일/대량)를 삭제합니다.mode ('단일'/'대량'), id (단일) 또는 projectIds 배열(대량), responseFormat ('포맷됨'/'json', 선택 사항).

작업 운영

도구 이름설명주요 주장
atlas_task_create새로운 작업(단일/대량)을 생성합니다.mode ('단일'/'대량'), projectId , 작업 세부 정보( title , description , priority , status , assignedTo , tags , completionRequirements , dependencies , outputFormat , taskType ), responseFormat ('포맷됨'/'json', 선택 사항).
atlas_task_update기존 작업(단일/대량)을 업데이트합니다.mode ('single'/'bulk'), id , updates 객체, responseFormat ('formatted'/'json', 선택 사항). 대량 모드는 tasks 배열을 사용합니다.
atlas_task_delete작업(단일/대량)을 삭제합니다.mode ('단일'/'대량'), id (단일) 또는 taskIds 배열(대량), responseFormat ('포맷됨'/'json', 선택 사항).
atlas_task_list특정 프로젝트에 대한 작업을 나열합니다.projectId (필수), 필터( status , assignedTo , priority , tags , taskType ), 정렬( sortBy , sortDirection ), 페이지 번호 매기기( page , limit ), responseFormat ('formatted'/'json', 선택 사항).

지식 운영

도구 이름설명주요 주장
atlas_knowledge_add새로운 지식 항목(단일/대량)을 추가합니다.mode ('단일'/'대량'), projectId , 지식 세부 정보( text , tags , domain , citations ), responseFormat ('포맷됨'/'json', 선택 사항). 대량 모드는 knowledge 배열을 사용합니다.
atlas_knowledge_delete지식 항목(단일/대량)을 삭제합니다.mode ('단일'/'대량'), id (단일) 또는 knowledgeIds 배열(대량), responseFormat ('포맷됨'/'json', 선택 사항).
atlas_knowledge_list특정 프로젝트에 대한 지식 항목을 나열합니다.projectId (필수), 필터( tags , domain , search ), 페이지 매김( page , limit ), responseFormat ('formatted'/'json', 선택 사항).

검색 작업

도구 이름설명주요 주장
atlas_unified_search엔터티 전반에 걸쳐 통합 검색을 수행합니다.value (검색어), property (선택 사항), 필터( entityTypes , taskType ), 옵션( caseInsensitive , fuzzy ), 페이지 매김( page , limit ), responseFormat ('formatted'/'json', 선택 사항).

연구 운영

도구 이름설명주요 주장
atlas_deep_researchAtlas 지식 기반 내에서 계층적 계획을 만들어 체계적이고 심층적인 연구 프로세스를 시작합니다.projectId (필수), researchTopic (필수), researchGoal (필수), scopeDefinition (선택 사항), subTopics (질문과 검색어가 포함된 필수 배열), researchDomain (선택 사항), initialTags (선택 사항), planNodeId (선택 사항), responseFormat (선택 사항).

데이터베이스 작업

도구 이름설명주요 주장
atlas_database_clean파괴적: 데이터베이스를 완전히 재설정하여 모든 프로젝트, 작업, 지식을 제거합니다.acknowledgement (확인하려면 true 로 설정해야 함), responseFormat ('formatted'/'json', 선택 사항).

자원

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 에 있습니다.

자동 백업(참고)

중요: 비효율성으로 인해 자동 백업 기능이 제거되었습니다. src/services/neo4j/driver.ts 파일의 triggerBackgroundBackup 호출 부분은 제거되었음을 나타내는 주석 처리되어 있습니다. 데이터 보호를 위해 아래에 설명된 수동 백업 프로세스를 사용하세요.

백업 프로세스

  • 메커니즘 : 백업 프로세스는 모든 Project , Task , Knowledge 노드를 해당 관계와 함께 별도의 JSON 파일로 내보냅니다.
  • 출력 : 각 백업은 구성된 백업 경로(기본값: ./atlas-backups/ ) 내에 타임스탬프가 지정된 디렉터리(예: atlas-backup-YYYYMMDDHHMMSS )를 생성합니다. 이 디렉터리에는 projects.json , tasks.json , knowledge.json , relationships.json 포함됩니다.
  • 수동 백업 : 제공된 스크립트를 사용하여 수동 백업을 트리거할 수 있습니다.
    npm run db:backup
    이 명령은 exportDatabase 함수를 호출하는 scripts/db-backup.ts 실행합니다.

복원 프로세스

  • 메커니즘 : 복원 프로세스는 먼저 기존 Neo4j 데이터베이스를 완전히 삭제합니다. 그런 다음 지정된 백업 디렉터리에 있는 JSON 파일에서 노드와 관계를 가져옵니다.
  • 경고 : 백업에서 복원하는 것은 파괴적인 작업입니다. Neo4j 데이터베이스의 현재 데이터를 모두 덮어쓰게 됩니다.
  • 수동 복원 : 백업 디렉토리에서 데이터베이스를 복원하려면 다음 가져오기 스크립트를 사용하세요.
    npm run db:import <path_to_backup_directory>
    <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를 참조하세요.

기여하다

  1. 저장소를 포크하세요
  2. 기능 브랜치 생성
  3. 설명적인 메시지로 변경 사항을 커밋하세요
  4. 지점으로 밀어 넣기
  5. 풀 리퀘스트 만들기

버그나 기능 요청이 있으면 이슈를 생성하세요.

특허

아파치 라이선스 2.0


You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

ATLAS(Adaptive Task & Logic Automation System)는 대규모 언어 모델(LLM)에 계층적 작업 관리 기능을 제공하는 모델 컨텍스트 프로토콜(Model Context Protocol) 서버입니다. 이 도구는 LLM에 복잡한 작업과 종속성을 관리하는 데 필요한 구조와 컨텍스트를 제공합니다.

  1. Table of Contents
    1. Overview
      1. System Integration
    2. Features
      1. Project Management
      2. Task Management
      3. Knowledge Management
      4. Graph Database Integration
      5. Unified Search
    3. Installation
      1. Configuration
        1. Environment Variables
        2. MCP Client Settings
      2. Project Structure
        1. Tools
          1. Project Operations
          2. Task Operations
          3. Knowledge Operations
          4. Search Operations
          5. Research Operations
          6. Database Operations
        2. Resources
          1. Direct Resources
          2. Resource Templates
        3. Database Backup and Restore
          1. Automatic Backups (Note)
          2. Backup Process
          3. Restore Process
        4. Examples
          1. Contributing
            1. License
              ID: b8veo1exod