cognee-docker skill
Use when the user wants to run cognee with Docker or docker compose — trying it out from the prebuilt image, starting the API server in a container, or bringing up the full stack (UI, MCP, Postgres, Neo4j) with compose profiles.
Is the cognee-docker skill safe?
Clean: nothing in its files matched our rules. We read 1 file in the folder on 2026-09-28.
No findings.
Install the cognee-docker skill
A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.
git clone --depth 1 https://github.com/topoteretes/cognee.git /tmp/cognee mkdir -p ~/.claude/skills cp -r /tmp/cognee/.claude/skills/cognee-docker ~/.claude/skills/cognee-docker
In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub
The instructions your agent would load
SKILL.md as published, without the frontmatter. Read it on GitHub
Start cognee from the Docker image
Fastest path: prebuilt image, one file
For a local try-out, do NOT clone or build anything. Follow docs/minimal-docker-compose.md: save this as docker-compose.yml in an empty directory:
services:
cognee:
image: cognee/cognee:main
ports:
- "8000:8000"
environment:
LLM_API_KEY: ${LLM_API_KEY:?set LLM_API_KEY to your OpenAI API key}
# Single-user try-out: no auth, shared local databases.
ENABLE_BACKEND_ACCESS_CONTROL: "false"Then:
export LLM_API_KEY="sk-..." # OpenAI key (default LLM + embedding provider)
docker compose up
curl http://localhost:8000/healthInteractive API reference: http://localhost:8000/docs. First requests:
echo "Cognee turns documents into AI memory." > note.txt
# remember = ingest + build the graph in one call (multipart form)
curl -X POST http://localhost:8000/api/v1/remember -F "data=@note.txt" -F "datasetName=main_dataset"
# recall = query it (JSON)
curl -X POST http://localhost:8000/api/v1/recall -H "Content-Type: application/json" \
-d '{"query": "What does Cognee do?", "datasets": ["main_dataset"]}'/api/v1/recall takes the question as query. Omit searchtype (or pass null) and the query is auto-routed by the same rule-based router the SDK recall() uses, with HYBRIDCOMPLETION as the fallback; pass a value such as "searchtype": "GRAPHCOMPLETION" to pin a strategy. The rule table is in docs/recall-vs-search.md.
Request DTOs accept both snakecase and camelCase for every field (aliasgenerator=tocamel + populatebyname in cognee/api/DTO.py), so searchtype and searchType are equally valid.
The legacy /api/v1/add + /api/v1/cognify + /api/v1/search endpoints still exist and are what remember/recall call underneath; use them only when you need a single stage on its own. /api/v1/improve and /api/v1/forget complete the memory API.
Data lives inside the container by default. To persist it, set DATAROOTDIRECTORY=/cognee-data/data and SYSTEMROOTDIRECTORY=/cognee-data/system and mount a named volume at /cognee-data (full example in docs/minimal-docker-compose.md).
Full stack from the repo
The repository's docker-compose.yml builds from source and adds opt-in profiles. From the repo root (needs a .env with at least LLMAPIKEY; copy .env.template):
docker compose up # API server only, port 8000
docker compose --profile ui up # + frontend on port 3000
docker compose --profile mcp up # + MCP server on port 8001
docker compose --profile postgres --profile neo4j up # + databasesPostgres profile: pgvector/pg17, user/password/db cognee/cognee/cogneedb on 5432. Neo4j profile: neo4j/pleaseletmein on 7474/7687. When cognee runs in a container and the database on the host, use DBHOST=host.docker.internal.
Gotchas
call requires authentication — the single-user try-out sets it to false.
- With ENABLEBACKENDACCESS_CONTROL unset (defaults to true), every API
one of them leaves the other on OpenAI, so keep a valid OpenAI key or configure both (see the cognee-integrations skill).
- The image defaults to OpenAI for both LLM and embeddings; configuring only
More skills from topoteretes/cognee
- Acognee-cliUse when the user wants to drive cognee from the terminal with cognee-cli — remember/recall/forget/improve memory commands, managing datasets and config, or database migrations.
- Acognee-communityUse when the user needs something that ships outside cognee core — community database adapters (Qdrant, Milvus, Weaviate, Redis, Pinecone, FalkorDB, Memgraph, DuckDB, NetworkX, …), data-source connectors (Slack, Gmail, Notion, Confluence, Google Drive), custom tasks/pipelines/retrievers (Exa, ScrapeGraph, codify), Keywords AI observability — or wants to contribute a package to the cognee-community repo.
- Acognee-installUse when the user wants to install cognee and run their first remember → recall flow with the Python SDK — fresh setup, virtual env, extras selection, or a minimal working example.
- Acognee-integrationsUse when the user wants to connect cognee to external services — switching LLM or embedding providers (OpenAI, Azure, Gemini, Anthropic, Ollama, OpenRouter), changing databases (Postgres, PGVector, Neo4j, Neptune, Turso), S3 storage, or the MCP server for IDE integration.
- Acognee-permissionsUse when working with cognee's permission system — understanding or changing how users, roles, and tenants get access to datasets, how ACL grants work, where permissions are enforced in add/cognify/search/delete, and how the grant records surface in the memory-provenance view.
- Acognee-serverUse when the user wants to run the cognee API server (and optional UI) on their own machine — starting it, checking it's healthy, connecting the SDK or other clients to it, and choosing the right auth posture.
- Adiff-risk-explainerUse to briefly explain small code diffs.
- Apr-comment-evaluatorUse to judge whether a PR review comment sounds polite.
- Askill-feedback-writerUse to identify missing instructions in another skill based on its output.