ATLAS: タスク管理システム
ATLAS (Adaptive Task & Logic Automation System) は、LLM エージェント用のプロジェクト、知識、およびタスク管理システムです。
3 層アーキテクチャ上に構築されています:
モデル コンテキスト プロトコル (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 準拠のトランザクションと最適化されたクエリを活用します。
- **高度な検索とスケーラビリティ:**高いパフォーマンスを維持しながら、あいまい一致とワイルドカードを使用してプロパティベースの検索を実行します。
統合検索
- **クロスエンティティ検索:**コンテンツ、メタデータ、または関係に基づいて、関連するプロジェクト、タスク、またはナレッジを検索します。
- **柔軟なクエリ オプション:**大文字と小文字を区別しない、あいまい、および高度なフィルタリング オプションをサポートします。
インストール
- リポジトリをクローンします。
- 依存関係をインストールします:
- Neo4jの設定: Neo4jインスタンスが実行中でアクセス可能であることを確認してください。提供されているDocker設定を使用してインスタンスを起動できます。Neo4j 接続の詳細を使用して
.env
ファイルを更新します (構成を参照)。 - プロジェクトをビルドします。
サーバーの実行
ほとんどの MCP クライアントはサーバーを自動的に実行しますが、次のコマンドを使用してテストまたは開発の目的で手動で実行することもできます。
ATLAS MCP サーバーは、通信用の複数のトランスポート メカニズムをサポートしています。
- **標準 I/O (stdio):**これはデフォルトのモードで、通常はローカル MCP クライアント (IDE 拡張機能など) との直接統合に使用されます。これは
MCP_TRANSPORT_TYPE=stdio
設定を使用します。 - **ストリーミング可能な HTTP:**このモードでは、サーバーは HTTP 経由で MCP 要求をリッスンできるため、リモート クライアントや Web ベースの統合に適しています。
MCP_TRANSPORT_TYPE=http
設定を使用します。サーバーは.env
ファイルで定義されたホストとポート(例:MCP_HTTP_HOST
とMCP_HTTP_PORT
、デフォルトは127.0.0.1:3010
)でリッスンします。リモートアクセスする場合は、ファイアウォールで接続が許可されていることを確認してください。
Web UI(実験的)
プロジェクト、タスク、ナレッジの詳細を表示するための基本的な Web UI が利用できます。
- UIを開く:
- ブラウザで UI を直接開くには、ターミナルで次のコマンドを実行します。
- ブラウザで UI を直接開くには、ターミナルで次のコマンドを実行します。
- 機能性:
- Web 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)、プロジェクトの詳細( name 、 description 、 status 、 urls 、 completionRequirements 、 dependencies 、 outputFormat 、 taskType )。バルクモードの場合は、 projects (プロジェクトオブジェクトの配列responseFormat を使用します。responseFormat('formatted'/'json'、オプション、デフォルト:'formatted')。 |
atlas_project_list | プロジェクトを一覧表示します (すべて/詳細)。 | mode ('all'/'details'、デフォルト: 'all')、 id (詳細モードの場合)、filters ( status 、 taskType )、pagination ( page 、 limit )、includes ( includeKnowledge 、 includeTasks )、 responseFormat ('formatted'/'json'、オプション、デフォルト: 'formatted')。 |
atlas_project_update | 既存のプロジェクトを更新します (単一/一括)。 | mode ('single'/'bulk')、 id (シングルモードの場合responseFormat 、 updates オブジェクト。バルクモードの場合は、 projects (それぞれid とupdates を持つオブジェクトの配列) を使用します。responseFormat ('formatted'/'json'、オプション、デフォルト: 'formatted')。 |
atlas_project_delete | プロジェクトを削除します (単一/一括)。 | mode ('single'/'bulk')、 id (シングル モードの場合)、またはprojectIds (バルク モードresponseFormat 場合は配列)。responseFormat ('formatted'/'json'、オプション、デフォルト: 'formatted')。 |
タスク操作
ツール名 | 説明 | 主な議論 |
---|---|---|
atlas_task_create | 新しいタスクを作成します (単一/一括)。 | mode ('single'/'bulk')、 id (オプションのクライアント生成ID)、 projectId 、タスクの詳細( title 、 description 、 priority 、 status 、 assignedTo 、 urls 、 tags 、 completionRequirements 、 dependencies 、 outputFormat 、 taskType )。一括モードresponseFormat 場合は、 tasks (タスクオブジェクトの配列)を使用します。responseFormat('formatted'/'json'、オプション、デフォルト:'formatted')。 |
atlas_task_update | 既存のタスクを更新します (単一/一括)。 | mode ('single'/'bulk')、 id (シングルモードの場合responseFormat 、 updates オブジェクト。バルクモードの場合は、 tasks (それぞれid とupdates を持つオブジェクトの配列) を使用します。responseFormat ('formatted'/'json'、オプション、デフォルト: 'formatted')。 |
atlas_task_delete | タスクを削除します (単一/一括)。 | mode ('single'/'bulk')、 id (シングル モードの場合)、またはtaskIds (バルク モードresponseFormat 場合は配列)。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 ('single'/'bulk')、 id (オプションのクライアント生成ID)、 projectId 、ナレッジの詳細 ( text 、 tags 、 domain 、 citations )。バルクモードの場合はknowledge (ナレッジオブジェクトの配列responseFormat を使用します。responseFormat ('formatted'/'json'、オプション、デフォルト: 'formatted')。 |
atlas_knowledge_delete | ナレッジ アイテムを削除します (単一/一括)。 | mode ('single'/'bulk')、 id (シングル モードの場合) またはknowledgeIds (バルク モードresponseFormat 場合は配列)。responseFormat ('formatted'/'json'、オプション、デフォルト: 'formatted')。 |
atlas_knowledge_list | 特定のプロジェクトのナレッジ項目を一覧表示します。 | projectId (必須)、フィルター ( tags 、 domain 、 search )、ページネーション ( page 、 limit )、 responseFormat ('formatted'/'json'、オプション、デフォルト: 'formatted')。 |
捜索活動
ツール名 | 説明 | 主な議論 |
---|---|---|
atlas_unified_search | エンティティ全体で統合検索を実行します。 | value (検索用語、必須)、 property (オプション: 指定した場合はこのプロパティで正規表現検索を実行し、省略した場合は全文検索を実行します)、フィルター ( entityTypes 、 taskType 、 assignedToUserId )、オプション ( caseInsensitive (デフォルト: true、正規表現の場合)、 fuzzy (デフォルト: false、正規表現 'contains' または全文 Lucene fuzzy の場合))、ページ区切り ( 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
full-export.json
利用可能な場合は、それが優先されます。 - 警告:バックアップからの復元は破壊的な操作です。Neo4jデータベース内の現在のデータはすべて上書きされます。
- 手動復元: バックアップ ディレクトリからデータベースを復元するには、インポート スクリプトを使用します。
<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 をご覧ください。
ライセンス
Apacheライセンス2.0
You must be authenticated.
Tools
ATLAS(Adaptive Task & Logic Automation System)は、大規模言語モデル(LLM)に階層的なタスク管理機能を提供するモデルコンテキストプロトコル(CMP)サーバーです。このツールは、複雑なタスクと依存関係を管理するために必要な構造とコンテキストを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