MCP HubMCP Hub
cyanheads

atlas-mcp-server

by: cyanheads

A Model Context Protocol server built in TypeScript that leverages Neo4j’s graph database, delivers intelligent project and task management while empowering LLM agents with seamless collaboration and guidance.

110created 16/12/2024
Visit
TypeScript
Neo4j

πŸ“ŒOverview

Purpose: ATLAS aims to streamline task management for LLM agents by providing an efficient system for organizing and automating project tasks and knowledge.

Overview: ATLAS is built on the Model Context Protocol (MCP) to facilitate seamless interaction between LLMs and project management tasks. It adopts a three-tier architecture that organizes details into Projects, Tasks, and Knowledge components, allowing for comprehensive management of project workflows and dependencies.

Key Features:

  • Project Management: Provides tools for tracking project metadata, handling dependencies, and managing project statuses and content through bulk operations.

  • Task Management: Enables the creation, tracking, and updating of tasks with lifecycle management, prioritization, categorization, and dependency tracking to ensure structured workflows.

  • Knowledge Management: Features a searchable repository for project-related information, organized by domain and tags, supporting citation tracking for knowledge items.

  • Graph Database Integration: Utilizes Neo4j for robust data integrity, advanced search capabilities, and optimized query performance, ensuring scalability and efficient management of relationships.

  • Unified Search: Offers cross-entity search across projects, tasks, and knowledge for easily retrieving relevant information based on various criteria and filtering options.


ATLAS: Task Management System

ATLAS (Adaptive Task & Logic Automation System) is a task management system for LLM Agents, built on a three-tier architecture: Projects, Tasks, and Knowledge.

Overview

ATLAS implements the Model Context Protocol (MCP), enabling standardized communication between LLMs and external systems, including:

  • Clients: Various MCP-compatible clients.
  • Servers: Tools for project, task, and knowledge management.
  • LLM Agents: AI models leveraging the server's capabilities.

System Integration

  • Project-Task Relationship: Tasks within projects inherit context for better tracking.
  • Knowledge Integration: Enriching projects and tasks with knowledge items.
  • Dependency Management: Supporting dependencies for complex workflows.
  • Unified Search: Cross-entity search capabilities across projects, tasks, and knowledge.

Features

Project Management

  • Comprehensive tracking of project metadata and statuses.
  • Automatic dependency validation.

Task Management

  • Lifecycle management for tasks.
  • Prioritization and categorization through tags.
  • Dependency tracking for structured workflows.

Knowledge Management

  • A searchable repository of project-related information.
  • Organization by domain and tags for easy retrieval.

Graph Database Integration

  • Native relationship management using Neo4j for data integrity.
  • High-performance property-based searches.

Installation

  1. Clone the repository:
    git clone https://github.com/cyanheads/atlas-mcp-server.git
    cd atlas-mcp-server
    
  2. Install dependencies:
    npm install
    
  3. Configure Neo4j:
    docker-compose up -d
    
  4. Build the project:
    npm run build
    

Configuration

Create a .env file based on .env.example:

NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=password2

LOG_LEVEL=info
NODE_ENV=development

Project Structure

The codebase follows a modular structure:

src/
β”œβ”€β”€ config/
β”œβ”€β”€ index.ts
β”œβ”€β”€ mcp/
β”œβ”€β”€ services/
β”œβ”€β”€ types/
└── utils/

Tools

ATLAS provides tools callable via the Model Context Protocol for:

  • Project Operations: Create, list, update, delete projects.
  • Task Operations: Create, update, delete, list tasks.
  • Knowledge Operations: Add, delete, list knowledge items.
  • Search Operations: Perform unified searches across entities.

Database Backup and Restore

ATLAS supports backup and restore functionality for the Neo4j database.

Backup Process

  • Exports all Project, Task, and Knowledge nodes along with relationships into separate JSON files.
  • Trigger manual backup:
    npm run db:backup
    

Restore Process

  • Clears existing Neo4j database before importing nodes and relationships from JSON files.
  • Restore command:
    npm run db:import <path_to_backup_directory>
    

Examples

Practical examples demonstrating various ATLAS features can be found in the examples/ directory.

Contributing

  1. Fork the repository.
  2. Create a feature branch.
  3. Commit changes with a descriptive message.
  4. Push to the branch.
  5. Create a Pull Request.

License

Apache License 2.0