agentic_huge_data_base / wiki
页面 Cognee · 12.6 MCP 客户端集成示例·DeepWiki 中文全文译文

12.6 · MCP 客户端集成示例(MCP Client Integration Examples)

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

项目Cognee 章节12.6 状态全文译文 模块配置治理、安装与启动、接口与服务契约、智能体运行时
源码线索
  • .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
模块标签
  • 配置治理
  • 安装与启动
  • 接口与服务契约
  • 智能体运行时
  • 模型调用与提供方适配

章节正文

MCP 客户端集成示例

MCP 客户端集成示例

相关源文件

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

  • .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

本文提供了将 Cognee MCP 服务器与各种 AI 助手客户端集成的实用示例。这些示例涵盖了不同的传输模式(stdio、SSE、HTTP)、连接模式(直接模式、API 模式)以及部署方式(本地、Docker)。

有关 MCP 服务器架构和可用工具的信息,请参阅 MCP 工具参考。有关部署选项,请参阅 Docker 部署。有关 REST API 集成,请参阅 REST API 服务器

传输模式与连接架构

Cognee MCP 服务器支持三种传输协议和两种连接模式,可以灵活地与不同的客户端环境集成。

传输协议选项

传输模式通过命令行参数 --transport 或环境变量 TRANSPORT_MODE 进行配置 cognee-mcp/src/server.py:4-5cognee-mcp/entrypoint.sh:45-57

标题:MCP 传输与连接架构

Cognee · 传输协议选项 · 图 1
Cognee · 传输协议选项 · 图 1
传输模式使用场景端口协议
stdio本地 CLI 集成,经典管道通信不适用stdin/stdout
sse实时流式传输,Claude Desktop/CLI8000基于 HTTP 的服务器发送事件
httpWeb 部署,Cursor,VS Code8000支持 CORS 的可流式 HTTP

来源:cognee-mcp/README.md:40-47cognee-mcp/src/server.py:166-202cognee-mcp/entrypoint.sh:44-57

连接模式架构

连接模式由 CogneeClient 类处理 cognee-mcp/src/cognee_client.py:31,该类充当 MCP 工具与底层知识引擎之间的桥梁。

标题:CogneeClient 连接逻辑

Cognee · 连接模式架构 · 图 2
Cognee · 连接模式架构 · 图 2

连接模式由构造函数中的 api_url 参数决定 cognee-mcp/src/cognee_client.py:44-47

  • 直接模式:未指定 api_url,直接导入 cogneecognee-mcp/src/cognee_client.py:65-68
  • API 模式:指定了 api_url,初始化 httpx.AsyncClient 用于远程通信 cognee-mcp/src/cognee_client.py:58-62

来源:cognee-mcp/src/cognee_client.py:31-68cognee-mcp/src/server.py:77-78cognee-mcp/entrypoint.sh:63-89

Claude 桌面集成

使用直接模式的 stdio 传输

最简单的集成方式是使用 stdio 传输,让 Claude Desktop 将 MCP 服务器作为子进程运行。

配置文件: ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows)

{
  "mcpServers": {
    "Cognee": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/cognee/cognee-mcp",
        "run",
        "cognee-mcp"
      ],
      "env": {
        "LLM_API_KEY": "your-api-key-here"
      }
    }
  }
}

来源:cognee-mcp/pyproject.toml:70-73cognee-mcp/README.md:290-307

使用 SSE 传输与 Claude CLI

为了获得流式响应和更好的错误处理,可以使用 SSE 传输。server.py 中的 run_sse_with_cors 函数 cognee-mcp/src/server.py:166-184 负责处理 Uvicorn 的启动设置。

# 使用 SSE 传输启动 MCP 服务器
cd cognee/cognee-mcp
source .venv/bin/activate
python src/server.py --transport sse --host 127.0.0.1 --port 8000

来源:cognee-mcp/src/server.py:166-184cognee-mcp/README.md:86-89

Cursor IDE 集成

Cursor 需要 HTTP 传输来进行 MCP 集成。该集成依赖于在 run_http_with_cors cognee-mcp/src/server.py:187-202 中配置的 mcp.streamable_http_app()

HTTP 传输集成流程

标题:通过 HTTP 的工具执行流程

Cognee · HTTP 传输集成流程 · 图 3
Cognee · HTTP 传输集成流程 · 图 3

来源:cognee-mcp/src/server.py:187-202cognee-mcp/src/cognee_client.py:150-198

直接模式配置

Cursor 设置文件: .cursor/mcp.json~/.cursor/mcp.json

{
  "mcpServers": {
    "Cognee": {
      "url": "http://localhost:8000/mcp",
      "transport": "http"
    }
  }
}

启动服务器:

cd cognee/cognee-mcp
source .venv/bin/activate
python src/server.py --transport http --host 127.0.0.1 --port 8000 --path /mcp

来源:cognee-mcp/README.md:90-93cognee-mcp/src/server.py:187-202

使用 Cline 扩展的 VS 代码

通过 Cline 扩展集成的 VS Code 使用与 Cursor 类似的 HTTP 传输。

Cline 配置

Cline 设置文件: .vscode/cline_mcp_settings.json

{
  "mcpServers": {
    "Cognee": {
      "url": "http://localhost:8000/mcp",
      "transport": "http",
      "disabled": false
    }
  }
}

启动服务器:

cd cognee/cognee-mcp
uv run python src/server.py --transport http --host 127.0.0.1 --port 8000 --path /mcp

来源:cognee-mcp/README.md:327-344

CORS 配置

HTTP 和 SSE 传输包含用于前端兼容性的 CORS 中间件,通过 _get_cors_origins cognee-mcp/src/server.py:160-163 进行配置,该函数从 MCP_CORS_ALLOW_ORIGINS 读取设置。

来源:cognee-mcp/src/server.py:160-175

基于 Docker 的集成

Docker 部署简化了环境设置。cognee-mcp 中的 entrypoint.sh 脚本负责处理额外依赖的动态安装和传输配置。

Docker 部署架构

标题:Docker MCP 运行时环境

Cognee · Docker 部署架构 · 图 4
Cognee · Docker 部署架构 · 图 4

来源:cognee-mcp/Dockerfile:12-94cognee-mcp/entrypoint.sh:1-102

运行时依赖安装

Docker 容器允许在运行时使用 EXTRAS 环境变量安装可选的依赖组 cognee-mcp/entrypoint.sh:7-40

# 在运行时安装 postgres 和 neo4j 支持
docker run \
  -e TRANSPORT_MODE=sse \
  -e EXTRAS=postgres,neo4j \
  --env-file ./.env \
  -p 8000:8000 \
  --rm -it cognee/cognee-mcp:main

来源:cognee-mcp/entrypoint.sh:6-40cognee-mcp/README.md:120-139

环境变量配置参考

传输与连接配置
变量默认值描述
TRANSPORT_MODEstdiossehttpstdioMCP 传输协议 cognee-mcp/entrypoint.sh:45
API_URLURL 字符串Cognee API 服务器 URL(启用 API 模式)cognee-mcp/entrypoint.sh:63
API_TOKEN令牌字符串API 模式的认证令牌 cognee-mcp/entrypoint.sh:84-85
HTTP_PORT整数8000HTTP/SSE 服务器端口 cognee-mcp/entrypoint.sh:51
MCP_DISABLE_DNS_REBINDING_PROTECTIONtruefalsefalse禁用主机/来源校验 cognee-mcp/src/server.py:119

来源:cognee-mcp/src/server.py:106-153cognee-mcp/entrypoint.sh:44-89

数据库配置(传递给 Cognee)
变量默认值描述
DB_PROVIDERsqlitepostgressqlite关系型数据库提供者
DB_HOST主机名host.docker.internal数据库主机

来源:docker-compose.yml:61-63

常见集成问题排查

后台任务监控

MCP 服务器为每个数据集维护一个任务错误的环形缓冲区,以帮助调试像 cognify 这样的长时间运行操作 cognee-mcp/src/server.py:79-82。可以通过 cognify_status 工具检索这些信息。

来源:cognee-mcp/src/server.py:79-103

Docker API 模式下的本地主机连接

当在 Docker 中运行 MCP 并连接到主机上的 API 时,localhost 指向的是容器本身。entrypoint.sh 会自动将其转换为 host.docker.internal cognee-mcp/entrypoint.sh:72

来源:cognee-mcp/entrypoint.sh:66-81