Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use 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.
.claude/skills/topoteretes-cognee-integrations/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -9% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 12% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -64% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -16% | 0% |
All integration config is environment variables (.env). The authoritative, always-current list with commented examples is .env.template at the repo root — check it before inventing variable names. Install the matching extra before switching a backend (e.g. pip install cognee[postgres]).
Default is OpenAI (LLM_API_KEY is all you need). To switch, set LLM_PROVIDER, LLM_MODEL, LLM_API_KEY, and (where relevant) LLM_ENDPOINT / LLM_API_VERSION:
LLM_PROVIDER=azure, LLM_MODEL=azure/gpt-4o-mini, endpoint + api version required.LLM_PROVIDER=gemini, LLM_MODEL=gemini/gemini-2.0-flash-exp.cognee[anthropic]): LLM_PROVIDER=anthropic, model e.g. claude-3-5-sonnet-20241022.cognee[ollama]): LLM_PROVIDER=ollama, LLM_ENDPOINT=http://localhost:11434/v1, and set the embedding block + HUGGINGFACE_TOKENIZER too.LLM_PROVIDER=custom with the provider's OpenAI-compatible endpoint.cognee[aws]): LLM_PROVIDER=bedrock + AWS credentials/region.The classic trap: LLM and embeddings are configured independently (EMBEDDING_PROVIDER, EMBEDDING_MODEL, EMBEDDING_ENDPOINT, EMBEDDING_API_KEY). Configuring only one leaves the other on OpenAI — either keep a valid OpenAI key or configure both.
DB_PROVIDER): sqlite (default) or postgres(cognee[postgres]; host/port/user/password/name via DB_* vars).
VECTOR_DB_PROVIDER): lancedb (default), pgvector(cognee[postgres], needs VECTOR_DB_URL), neptune_analytics (cognee[neptune]), turso (cognee[turso]). Anything else (ChromaDB, Qdrant, Weaviate, Milvus, …) lives in community adapters — install from https://github.com/topoteretes/cognee-community and register with use_vector_adapter before use; setting VECTOR_DB_PROVIDER alone raises "Unsupported vector database provider".
GRAPH_DATABASE_PROVIDER): ladybug (default), neo4j(cognee[neo4j], bolt URL + credentials), neptune (cognee[neptune]), ladybug-remote, postgres (no raw Cypher / natural-language search).
The repo docker-compose.yml ships ready-to-use postgres (pgvector) and neo4j profiles with matching default credentials. From a container, reach host services with DB_HOST=host.docker.internal.
cognee[aws]): STORAGE_BACKEND=s3 + bucket/credentials,and point DATA_ROOT_DIRECTORY/SYSTEM_ROOT_DIRECTORY at s3:// paths.
CACHE_BACKEND = sqlite (default) | postgres | redis | fs | tapes.ONTOLOGY_FILE_PATH to an OWL file, resolver/matching viaONTOLOGY_RESOLVER / MATCHING_STRATEGY.
docker compose --profile mcp up starts the MCP server on port 8001 (SSE transport), built from cognee-mcp/. Point Cursor / Claude Desktop / Claude Code at it to use cognee memory from the IDE. Configure its DB_* env to match the main service so both see the same data.
Embeddings from different models are not comparable — after switching the embedding provider or model, reset local state (cognee-cli forget --all or await cognee.forget(everything=True)) and re-ingest with remember().
To drop just the graph and vectors while keeping the ingested files, use await cognee.forget(dataset="my_project", memory_only=True) — the dataset can then be rebuilt under the new embedding model without re-uploading anything.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 21,000 | 13,564 | -35% | 1 | 1 | 0% | 3,029 | 2,765 | -9% | 0 | 0 | — |
case-02 | fail→fail | 16,267 | 8,332 | -49% | 1 | 1 | 0% | 2,001 | 1,735 | -13% | 0 | 0 | — |
case-03 | fail→pass | 17,097 | 13,548 | -21% | 1 | 1 | 0% | 2,274 | 2,774 | +22% | 0 | 0 | — |
case-04 | fail→pass | 16,507 | 11,147 | -32% | 1 | 1 | 0% | 1,991 | 2,238 | +12% | 0 | 0 | — |
case-05 | pass→pass | 11,241 | 9,171 | -18% | 1 | 1 | 0% | 1,075 | 1,768 | +64% | 0 | 0 | — |
case-06 | pass→pass | 12,023 | 7,496 | -38% | 1 | 1 | 0% | 1,220 | 1,513 | +24% | 0 | 0 | — |
case-07 | fail→pass | 34,716 | 9,353 | -73% | 1 | 1 | 0% | 5,502 | 1,958 | -64% | 0 | 0 | — |
case-08 | pass→pass | 10,881 | 7,926 | -27% | 1 | 1 | 0% | 1,043 | 1,576 | +51% | 0 | 0 | — |
case-09 | fail→pass | 18,725 | 10,067 | -46% | 1 | 1 | 0% | 2,418 | 2,043 | -16% | 0 | 0 | — |
case-10 | fail→pass | 16,649 | 7,911 | -52% | 1 | 1 | 0% | 2,134 | 1,595 | -25% | 0 | 0 | — |
case-11 | pass→pass | 14,387 | 8,204 | -43% | 1 | 1 | 0% | 1,728 | 1,648 | -5% | 0 | 0 | — |
case-12 | fail→pass | 16,573 | 10,299 | -38% | 1 | 1 | 0% | 2,053 | 1,893 | -8% | 0 | 0 | — |
case-13 | fail→pass | 15,236 | 7,924 | -48% | 1 | 1 | 0% | 1,870 | 1,585 | -15% | 0 | 0 | — |
case-14 | fail→pass | 16,710 | 9,340 | -44% | 1 | 1 | 0% | 2,017 | 1,900 | -6% | 0 | 0 | — |
case-15 | pass→pass | 14,780 | 6,889 | -53% | 1 | 1 | 0% | 1,661 | 1,340 | -19% | 0 | 0 | — |
case-16 | pass→pass | 13,286 | 6,728 | -49% | 1 | 1 | 0% | 1,448 | 1,342 | -7% | 0 | 0 | — |
case-17 | fail→pass | 22,232 | 6,535 | -71% | 1 | 1 | 0% | 3,236 | 1,306 | -60% | 0 | 0 | — |
case-18 | fail→pass | 14,128 | 6,902 | -51% | 1 | 1 | 0% | 1,567 | 1,391 | -11% | 0 | 0 | — |
case-19 | fail→pass | 12,800 | 7,333 | -43% | 1 | 1 | 0% | 1,326 | 1,446 | +9% | 0 | 0 | — |
case-20 | pass→pass | 13,723 | 11,024 | -20% | 1 | 1 | 0% | 1,760 | 2,346 | +33% | 0 | 0 | — |
case-21 | pass→pass | 11,073 | 10,072 | -9% | 1 | 1 | 0% | 1,029 | 1,978 | +92% | 0 | 0 | — |
case-22 | pass→pass | 11,300 | 10,518 | -7% | 1 | 1 | 0% | 1,126 | 1,916 | +70% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +55 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.