agentic_huge_data_base / wiki
页面 Cognee · 11.1 数据管理工具·DeepWiki 中文全文译文

11.1 · 数据管理工具(Data Management Tools)

记忆管道与知识图谱构建 · 聚焦本章的模块关系、源码依据与实现要点。

项目Cognee 章节11.1 状态全文译文 模块测试、发布与运维、系统架构、智能体运行时、安装与启动
源码线索
  • .github/actions/install_cognee/action.yml
  • .github/workflows/cli_tests.yml
  • .github/workflows/dockerhub-mcp.yml
  • .github/workflows/test_mcp.yml
  • Dockerfile
  • cognee-mcp/Dockerfile
  • cognee-mcp/README.md
  • cognee-mcp/entrypoint.sh
  • cognee-mcp/pyproject.toml
  • cognee-mcp/src/__init__.py
模块标签
  • 测试、发布与运维
  • 系统架构
  • 智能体运行时
  • 安装与启动
  • 接口与服务契约

章节正文

数据管理工具

数据管理工具

相关源文件

本章引用的主要源码文件:

  • .github/actions/install_cognee/action.yml
  • .github/workflows/cli_tests.yml
  • .github/workflows/dockerhub-mcp.yml
  • .github/workflows/test_mcp.yml
  • Dockerfile
  • cognee-mcp/Dockerfile
  • cognee-mcp/README.md
  • cognee-mcp/entrypoint.sh
  • cognee-mcp/pyproject.toml
  • cognee-mcp/src/__init__.py
  • cognee-mcp/src/client.py
  • cognee-mcp/src/cognee_client.py
  • cognee-mcp/src/server.py
  • cognee-mcp/src/test_client.py
  • cognee-mcp/tests/test_mcp_server_hardening.py
  • cognee-mcp/uv.lock
  • cognee/alembic/versions/7c5d4e2f8a91_add_parent_user_id_to_users.py
  • cognee/modules/engine/models/__init__.py
  • cognee/modules/tools/__init__.py
  • cognee/modules/tools/path_safety.py
  • cognee/modules/users/authentication/default/default_transport.py
  • cognee/modules/users/authentication/get_api_auth_backend.py
  • cognee/modules/users/authentication/get_client_auth_backend.py
  • cognee/tests/cli_tests/cli_integration_tests/__init__.py
  • cognee/tests/cli_tests/cli_integration_tests/test_cli_integration.py
  • cognee/tests/cli_tests/cli_unit_tests/__init__.py
  • cognee/tests/cli_tests/cli_unit_tests/test_cli_runner.py
  • cognee/tests/unit/test_add_parent_user_id_migration.py
  • docker-compose.yml
  • entrypoint.sh

本文档介绍了管理数据入库、知识图谱构建和数据生命周期操作的 MCP 服务器工具。这些工具通过 cognee-mcp 服务器暴露,使 AI 助手能够向 Cognee 的知识图谱系统添加、处理、查询和删除数据。

概述

cognee-mcp 服务器暴露了与核心 Cognee 操作对应的主要数据管理工具。这些工具支持两种连接模式:直接模式(本地函数调用)和 API 模式(向 Cognee FastAPI 服务器发送 HTTP 请求)。

工具用途API 模式支持后台执行
cognify将数据转换为知识图谱✅ 是✅ 是
save_interaction将对话历史存储为记忆✅ 是✅ 是
prune重置所有数据和元数据❌ 否❌ 否
get_datasets列出可用数据集✅ 是❌ 否
get_data列出数据集中的数据项✅ 部分支持❌ 否
get_log_file_location查找当前操作日志✅ 是❌ 否

来源:cognee-mcp/src/server.py:203-210, cognee-mcp/src/server.py:657-662, cognee-mcp/src/server.py:829-834, cognee-mcp/src/cognee_client.py:20-37

工具执行架构

MCP 服务器采用两层架构,工具通过 @mcp.tool() 装饰器进行装饰,并委托给 CogneeClient,后者为直接函数调用和 HTTP API 请求提供了统一接口。

标题:"MCP 工具执行数据流"

Cognee · 工具执行架构 · 图 1
Cognee · 工具执行架构 · 图 1

工具执行流程 CogneeClient__init__ 期间根据是否存在 api_url 来确定其操作模式 cognee-mcp/src/cognee_client.py:44-48。如果提供了 api_url,它会使用 httpx.AsyncClient 与远程服务器通信;否则,它会导入本地的 cogneecognee-mcp/src/cognee_client.py:63-68

来源:cognee-mcp/src/server.py:50-54, cognee-mcp/src/cognee_client.py:33-46

数据入库与处理

cognify 工具

cognify 工具是将非结构化数据转换为结构化知识图谱的主要入口点。它执行两个步骤:add(入库)和 cognify(图谱构建)。

实现细节: 为防止长时间运行的图谱构建导致 MCP 超时,该工具可以通过 _track_background 启动一个 asyncio.create_task() 并立即返回 cognee-mcp/src/server.py:92-97。它还会对本地文件执行文件路径校验,确保文件可访问,特别是在 Docker 内部运行时 cognee-mcp/src/server.py:155-157

来源:cognee-mcp/src/server.py:203-346, cognee-mcp/src/cognee_client.py:107-149, cognee-mcp/src/cognee_client.py:150-198

save_interaction 工具

该工具将对话片段存储为持久化记忆。它映射到 cognee.add 操作,使用特定的 node_set 或元数据来标识其为交互历史 cognee-mcp/src/server.py:657-695

参数:

  • interaction_data:对话的文本内容。
  • dataset_name:目标数据集(默认值:"interactions")。

来源:cognee-mcp/src/server.py:657-695

开发者规则管理

Cognee 提供了一套专门的工具来管理"开发者规则"(例如 .cursorrulesAGENT.md)。这些规则存储在专用的节点集中,以便代理能够检索编码标准和项目特定的指令。

规则管理工具
工具用途
bootstrap_developer_rules扫描工作区中的规则文件并将其入库 cognee-mcp/src/server.py:129-181
add_rules手动向图谱添加特定规则和关联 cognee-mcp/src/server.py:406-432
get_rulesdeveloper_rules 节点集中检索现有规则 cognee-mcp/src/server.py:434-453
delete_rules从系统中删除规则 cognee-mcp/src/server.py:455-478

来源:cognee-mcp/src/server.py:61-70, cognee-mcp/src/server.py:129-181, cognee-mcp/src/server.py:406-478

规则发现逻辑

bootstrap_developer_rules 工具会相对于 base_path 搜索以下文件:

  • .cursorrules
  • .cursor/rules
  • CLAUDE.md
  • AGENT.md
  • .clinerules

来源:cognee-mcp/src/server.py:129-139

生命周期与元数据工具

prune 工具

prune 工具用于重置 Cognee 环境。它仅限于直接模式使用,因为它会执行破坏性的文件系统和数据库操作,出于安全原因,这些操作通常不会通过公共 REST API 暴露 cognee-mcp/src/server.py:829-877

作用范围:

  • data:清除所有已入库的文档和图谱节点。
  • system:清除数据以及系统元数据(用户、数据集、管线历史)。

来源:cognee-mcp/src/server.py:829-877, cognee-mcp/src/cognee_client.py:284-307

数据集与数据发现
  • get_datasets:返回默认用户拥有的所有数据集列表 cognee-mcp/src/server.py:697-710
  • get_data:返回特定数据集中的项目。在 API 模式下,目前仅限于列出数据集名称,而非单个文件内容 cognee-mcp/src/cognee_client.py:314-338

来源:cognee-mcp/src/server.py:697-726, cognee-mcp/src/cognee_client.py:314-338

系统可观测性

get_log_file_location

Cognee MCP 将所有后台操作记录到轮转日志文件中。该工具允许 AI 代理告知用户具体在哪里查找调试信息 cognee-mcp/src/server.py:334-340

实现: 该工具调用 cognee.shared.logging_utils.get_log_file_location() 来获取路径 cognee-mcp/src/server.py:14

来源:cognee-mcp/src/server.py:14, cognee-mcp/src/server.py:334-340

数据流:从自然语言到代码实体

下图展示了来自 MCP 客户端的自然语言请求如何转换为 Cognee 生态系统中的具体代码实体。

标题:"自然语言到代码实体映射"

Cognee · 数据流:从自然语言到代码实体 · 图 2
Cognee · 数据流:从自然语言到代码实体 · 图 2

映射总结:

  • MCP 工具bootstrap_developer_rules cognee-mcp/src/server.py:129
  • 客户端包装器CogneeClient.add cognee-mcp/src/cognee_client.py:107
  • 核心逻辑cognee.add cognee-mcp/src/cognee_client.py:147
  • 规则关联add_rule_associations cognee-mcp/src/server.py:62-63

来源:cognee-mcp/src/server.py:61-181, cognee-mcp/src/cognee_client.py:20-198