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.
π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
- Clone the repository:
git clone https://github.com/cyanheads/atlas-mcp-server.git cd atlas-mcp-server
- Install dependencies:
npm install
- Configure Neo4j:
docker-compose up -d
- 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
, andKnowledge
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
- Fork the repository.
- Create a feature branch.
- Commit changes with a descriptive message.
- Push to the branch.
- Create a Pull Request.
License
Apache License 2.0