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 層アーキテクチャ上に構築されています:

+------------------------------------------+ | PROJECT | |------------------------------------------| | id: string | | name: string | | description: string | | status: string | | urls?: Array<{title: string, url: string}>| | completionRequirements: string | | outputFormat: string | | taskType: string | | createdAt: string | | updatedAt: string | +----------------+-------------------------+ | | | | v v +----------------------------------+ +----------------------------------+ | TASK | | KNOWLEDGE | |----------------------------------| |----------------------------------| | id: string | | id: string | | projectId: string | | projectId: string | | title: string | | text: string | | description: string | | tags?: string[] | | priority: string | | domain: string | | status: string | | citations?: string[] | | assignedTo?: string | | createdAt: string | | urls?: Array<{title: string, | | | | url: string}> | | updatedAt: string | | tags?: string[] | | | | completionRequirements: string | | | | outputFormat: string | | | | taskType: string | | | | createdAt: string | | | | updatedAt: string | | | +----------------------------------+ +----------------------------------+

モデル コンテキスト プロトコル (MCP) サーバーとして実装された ATLAS により、LLM エージェントはプロジェクト管理データベースと対話できるようになり、プロジェクト、タスク、および知識項目の管理が可能になります。

重要なバージョンノートバージョン1.5.4は、データベースとしてSQLiteを使用する最後のバージョンです。バージョン2.0以降は、Neo4jを使用するように完全に書き換えられました。Neo4jを使用するには、次のいずれかが必要です。

  • Docker を使用したセルフホスティング (リポジトリに docker-compose が含まれています)
  • Neo4j AuraDB クラウド サービスの使用: https://neo4j.com/product/auradb/

バージョン 2.5.0 では、以前の構造に代わる新しい 3 ノード システム (プロジェクト、タスク、ナレッジ) が導入されています。

目次

概要

ATLAS はモデルコンテキストプロトコル (MCP) を実装し、以下を通じて LLM と外部システム間の標準化された通信を可能にします。

  • クライアント: Claude Desktop、IDE、およびその他の MCP 互換クライアント
  • サーバー: プロジェクト、タスク、知識管理のためのツールとリソース
  • LLMエージェント:サーバーの管理機能を活用するAIモデル

システム統合

Atlas プラットフォームは、次のコンポーネントを 1 つの統合システムに統合します。

  • プロジェクトとタスクの関係:プロジェクトには、プロジェクト目標を達成するために必要な実行可能なステップを表すタスクが含まれます。タスクは親プロジェクトのコンテキストを継承しながら、個々の作業項目をきめ細かく追跡できます。
  • 知識の統合: プロジェクトとタスクの両方に知識項目を追加して、チーム メンバーに必要な情報とコンテキストを提供できます。
  • 依存関係管理: プロジェクトとタスクの両方が依存関係をサポートし、前提条件と順次実行要件を含む複雑なワークフローを可能にします。
  • 統合検索: プラットフォームはエンティティ間の検索機能を提供し、ユーザーはさまざまな基準に基づいて関連するプロジェクト、タスク、または知識を見つけることができます。

特徴

プロジェクト管理

  • **包括的な追跡:**一括操作の組み込みサポートを使用して、プロジェクトのメタデータ、ステータス、リッチ コンテンツ (メモ、リンクなど) を管理します。
  • **依存関係と関係の処理:**プロジェクト間の依存関係を自動的に検証および追跡します。

タスク管理

  • **タスク ライフサイクル管理:**タスクのライフサイクル全体にわたってタスクを作成、追跡、更新します。
  • **優先順位付けと分類:**優先順位を割り当て、タグを使用してタスクを分類し、整理しやすくします。
  • **依存関係の追跡:**タスクの依存関係を確立して、構造化されたワークフローを作成します。

ナレッジマネジメント

  • **構造化された知識リポジトリ:**プロジェクト関連情報の検索可能なリポジトリを維持します。
  • **ドメイン分類:**知識をドメインとタグ別に整理し、簡単に検索できるようにします。
  • **引用サポート:**ナレッジ項目のソースと参照を追跡します。

グラフデータベース統合

  • **ネイティブ リレーションシップ管理:**堅牢なデータ整合性を実現するために、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 ('single'/'bulk')、プロジェクトの詳細 ( namedescriptionstatusurlscompletionRequirementsdependenciesoutputFormattaskType )、 responseFormat ('formatted'/'json'、オプション)。
atlas_project_listプロジェクトを一覧表示します (すべて/詳細)。mode ('all'/'details')、 id (詳細用)、filters ( statustaskType )、pagination ( pagelimit )、includes ( includeKnowledgeincludeTasks )、 responseFormat ('formatted'/'json'、オプション)。
atlas_project_update既存のプロジェクトを更新します (単一/一括)。mode ('single'/'bulk')、 idupdatesオブジェクト、 responseFormat ('formatted'/'json'、オプション)。一括モードではprojects配列が使用されます。
atlas_project_deleteプロジェクトを削除します (単一/一括)。mode ('single'/'bulk')、 id (single) またはprojectIds配列 (bulk)、 responseFormat ('formatted'/'json'、オプション)。

タスク操作

ツール名説明主な議論
atlas_task_create新しいタスクを作成します (単一/一括)。mode ('single'/'bulk')、 projectId 、タスクの詳細 ( titledescriptionprioritystatusassignedTotagscompletionRequirements要件、 dependenciesoutputFormattaskType )、 responseFormat ('formatted'/'json'、オプション)。
atlas_task_update既存のタスクを更新します (単一/一括)。mode ('single'/'bulk')、 idupdatesオブジェクト、 responseFormat ('formatted'/'json'、オプション)。バルクモードではtasks配列が使用されます。
atlas_task_deleteタスクを削除します (単一/一括)。mode ('single'/'bulk')、 id (single) またはtaskIds配列 (bulk)、 responseFormat ('formatted'/'json'、オプション)。
atlas_task_list特定のプロジェクトのタスクを一覧表示します。projectId (必須)、フィルター ( statusassignedToprioritytagstaskType )、並べ替え ( sortBysortDirection )、ページ区切り ( pagelimit )、 responseFormat ( 'formatted'/'json'、オプション)。

知識オペレーション

ツール名説明主な議論
atlas_knowledge_add新しいナレッジ項目を追加します (単一/一括)。mode ('single'/'bulk')、 projectId 、ナレッジの詳細 ( texttagsdomaincitations )、 responseFormat ('formatted'/'json'、オプション)。バルクモードではknowledge配列が使用されます。
atlas_knowledge_deleteナレッジ アイテムを削除します (単一/一括)。mode ('single'/'bulk')、 id (single) またはknowledgeIds配列 (bulk)、 responseFormat ('formatted'/'json'、オプション)。
atlas_knowledge_list特定のプロジェクトのナレッジ項目を一覧表示します。projectId (必須)、フィルター ( tagsdomainsearch )、ページネーション ( pagelimit )、 responseFormat ('formatted'/'json'、オプション)。

捜索活動

ツール名説明主な議論
atlas_unified_searchエンティティ全体で統合検索を実行します。value (検索用語)、 property (オプション)、filters ( entityTypestaskType )、options ( caseInsensitivefuzzy )、pagination ( pagelimit )、 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 src/services/neo4j/driver.ts内のtriggerBackgroundBackupの呼び出しはコメントアウトされ、削除されたことを示すメモが表示されています。データ保護のため、以下に記載されている手動バックアッププロセスをご利用ください。

バックアッププロセス

  • メカニズム: バックアップ プロセスでは、すべてのProjectTaskKnowledgeノードとその関係が個別の JSON ファイルにエクスポートされます。
  • 出力: 各バックアップは、設定されたバックアップパス(デフォルト: ./atlas-backups/ )内にタイムスタンプ付きのディレクトリ(例: atlas-backup-YYYYMMDDHHMMSS )を作成します。このディレクトリには、 projects.jsontasks.jsonknowledge.jsonrelationships.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 atlas-backup-20250326120000)に置き換えます。このコマンドは、 importDatabase関数を呼び出すscripts/db-import.tsを実行します。
  • リレーションシップの処理:インポートプロセスでは、エクスポート時にノードに保存されたidプロパティに基づいてリレーションシップを再構築しようとします。リレーションシップを正しく復元するには、ノードのidプロパティが一貫していることを確認してください。

examples/ディレクトリには、ATLAS MCP サーバーのさまざまな機能を示す実用的な例が含まれています。

  • バックアップ例examples/backup-example/にあるこの例は、 npm run db:backupコマンドによって生成されるJSONファイルの構造とフォーマットを示しています。詳細については、例のREADMEをご覧ください。
  • Deep Research の例: examples/deep-research-example/にあるこの例は、 atlas_deep_researchツールによって生成された出力と構造を示しています。研究計画の概要を示すマークダウンファイル ( covington_community_grant_research.md ) と、研究計画作成後にデータベースからエクスポートされた生データを含む JSON ファイル ( full-export.json ) が含まれています。詳細については、例の README をご覧ください。

貢献

  1. リポジトリをフォークする
  2. 機能ブランチを作成する
  3. 説明メッセージを付けて変更をコミットする
  4. ブランチにプッシュする
  5. プルリクエストを作成する

バグや機能のリクエストについては、問題を作成してください。

ライセンス

Apacheライセンス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)に階層的なタスク管理機能を提供するモデルコンテキストプロトコル(CMP)サーバーです。このツールは、複雑なタスクと依存関係を管理するために必要な構造とコンテキストを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