ATLAS:任务管理系统
ATLAS(自适应任务和逻辑自动化系统)是针对 LLM 代理的项目、知识和任务管理系统。
基于三层架构构建:
ATLAS 作为模型上下文协议 (MCP) 服务器实现,允许 LLM 代理与项目管理数据库交互,从而使他们能够管理项目、任务和知识项。
重要版本说明: 1.5.4 版是最后一个使用 SQLite 作为数据库的版本。2.0 版及更高版本已完全重写,使用 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 平台将这些组件集成到一个有凝聚力的系统中:
- 项目-任务关系:项目包含任务,这些任务代表实现项目目标所需的可操作步骤。任务继承其父项目的上下文,同时提供对各个工作项的精细跟踪。
- 知识整合:项目和任务都可以通过知识项来丰富,为团队成员提供必要的信息和背景。
- 依赖管理:项目和任务都支持依赖关系,允许具有先决条件和顺序执行要求的复杂工作流。
- 统一搜索:该平台提供跨实体搜索功能,允许用户根据各种标准查找相关的项目、任务或知识。
特征
项目管理
- **全面跟踪:**管理项目元数据、状态和丰富内容(注释、链接等),内置批量操作支持。
- **依赖和关系处理:**自动验证和跟踪项目间依赖关系。
任务管理
- **任务生命周期管理:**在整个生命周期内创建、跟踪和更新任务。
- **优先级和分类:**分配优先级并使用标签对任务进行分类,以便更好地组织。
- **依赖关系跟踪:**建立任务依赖关系以创建结构化工作流程。
知识管理
- **结构化知识库:**维护一个可搜索的项目相关信息库。
- **领域分类:**按领域和标签组织知识,以便于检索。
- **引用支持:**跟踪知识项目的来源和参考。
图数据库集成
- **原生关系管理:**利用 Neo4j 的 ACID 兼容事务和优化查询来实现强大的数据完整性。
- **高级搜索和可扩展性:**使用模糊匹配和通配符执行基于属性的搜索,同时保持高性能。
统一搜索
- **跨实体搜索:**根据内容、元数据或关系查找相关的项目、任务或知识。
- **灵活的查询选项:**支持不区分大小写、模糊和高级过滤选项。
安装
- 克隆存储库:
- 安装依赖项:
- **配置 Neo4j:**确保 Neo4j 实例已运行且可访问。您可以使用提供的 Docker 配置启动一个 Neo4j 实例:使用 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,请在终端中运行以下命令:
- 功能:
- 您可以在此处看到 Web UI 的示例屏幕截图。
配置
环境变量
环境变量应在 MCP 客户端的客户端配置中设置,或者在项目根目录中的.env
文件中设置以进行本地开发。
请参阅src/config/index.ts
了解所有可用的环境变量、它们的描述和默认值。
MCP 客户端设置
如何配置 MCP 客户端取决于客户端本身及其所选的传输类型。某些客户端(例如mcp-inspector
)可以使用项目根目录中的mcp.json
文件来定义服务器配置;请根据需要进行更新。
对于 Stdio 传输(示例配置):
**对于 Streamable HTTP(示例配置):**如果您的客户端支持通过 Streamable 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 ('全部'/'详细信息',默认值:'全部'), id (用于详细信息模式),过滤器( status , taskType ),分页( page , limit ),包括( includeKnowledge , includeTasks ), responseFormat ('格式化'/'json',可选,默认值:'格式化')。 |
atlas_project_update | 更新现有项目(单个/批量)。 | mode ('single'/'bulk')、 id (用于单次模式responseFormat 、 updates 对象。对于批量模式,请使用projects (对象数组,每个对象包含id 和updates )。responseFormat ('formatted'/'json',可选,默认值:'formatted')。 |
atlas_project_delete | 删除项目(单个/批量)。 | mode ('单一'/'批量'), 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 ('格式化'/'json',可选,默认值:'格式化')。 |
知识运营
工具名称 | 描述 | 关键论点 |
---|---|---|
atlas_knowledge_add | 添加新的知识项目(单个/批量)。 | mode ('single'/'bulk')、 id (可选,客户端生成的 ID)、 projectId 、知识详情( text 、 tags 、 domain 、 citations )。批量模式使用knowledge (知识对象数组responseFormat 。responseFormat ('formatted'/'json',可选,默认值:'formatted')。 |
atlas_knowledge_delete | 删除知识项(单个/批量)。 | mode ('单一'/'批量'), 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,用于正则表达式“包含”或全文 Lucene 模糊))、分页( 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
。 - 手动备份:您可以使用提供的脚本触发手动备份:此命令执行
scripts/db-backup.ts
,它会调用exportDatabase
函数。
恢复过程
- 机制:恢复过程首先会彻底清除现有的 Neo4j 数据库。然后,它会从指定备份目录中的 JSON 文件导入节点和关系。如果
full-export.json
可用,则会优先导入。 - 警告:从备份恢复是一项破坏性操作。它将覆盖 Neo4j 数据库中的所有当前数据。
- 手动恢复:要从备份目录恢复数据库,请使用导入脚本:将
<path_to_backup_directory>
替换为备份文件夹的实际路径(例如,./atlas-backups/atlas-backup-20250326120000
)。此命令执行scripts/db-import.ts
,该文件调用importDatabase
函数。 - 关系处理:导入过程会尝试根据导出过程中存储在节点中的
id
属性重新创建关系。请确保节点具有一致的id
属性,以便正确恢复关系。
示例
examples/
目录包含演示 ATLAS MCP 服务器各种功能的实用示例。
- 备份示例:位于
examples/backup-example/
下,展示了npm run db:backup
命令生成的 JSON 文件的结构和格式。更多详情,请参阅示例的 README文件。 - 深度研究示例:位于
examples/deep-research-example/
,演示了atlas_deep_research
工具生成的输出和结构。它包含一个 Markdown 文件 (covington_community_grant_research.md
),用于概述研究计划;以及一个 JSON 文件 (full-export.json
),用于包含研究计划创建后从数据库导出的原始数据。更多详情,请参阅示例的 README文件。
执照
Apache 许可证 2.0
You must be authenticated.
Tools
ATLAS(自适应任务与逻辑自动化系统)是一个模型上下文协议服务器,它为大型语言模型提供分层任务管理功能。该工具为 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