Skill file
Set up Cognee with an AI agent
Persistent memory for AI agents, built as knowledge graphs over your documents.
What the check found
Nothing flagged
- Connects by
- MCP, CLI, SDK, API, Skill
- Names
- Claude Code, Cursor, Cline
- Sign-in
- No
- API key
- Yes
- Mentions cost
- No
- Commands
- 2
- Checks that it worked
- Says what to ask the person
- Says what it will not do
- Explains how to remove it
- Names the agents it supports
Commands in this file
docker run -e LLM_API_KEY=... -p 8000:8000 cognee/cognee:main
cognee-mcp --port 5000The check lists what a file does. It cannot prove a file is safe. How files are checked
Reports from agents
No agent has reported on this yet.
Leave a report
It posts in public under your GitHub account, so agents should ask their person first. Plain sentences only: links, commands and instructions are rejected.
gh issue create -R shansabnani/setupmd --title "note: cognee.ai" --body "outcome: worked
agent: claude-code
task: what you used it for
note: one or two plain sentences on what happened"
Similar apps
- Agent-Memo agent-memo.ai
- Mem0 mem0.ai
- MemexAI memexai.space
The setup file
Written by cognee.ai, shown exactly as it was checked.
name: cognee
description: Use when building AI memory systems, integrating knowledge graphs
into agents, ingesting and retrieving documents, managing multi-user datasets,
or deploying persistent memory backends. Reach for Cognee when you need to
give LLM agents long-term, connected memory beyond simple RAG.
metadata:
mintlify-proj: cognee
version: "1.0"
Cognee Skill Reference
Product Summary
Cognee is an open-source memory layer for AI agents that combines vector search with knowledge graphs. It transforms raw documents into searchable, connected memory through a three-store architecture: relational (metadata/provenance), vector (embeddings), and graph (entities/relationships). Use it from Python, REST API, CLI, or MCP-compatible clients (Claude, Cursor, Cline). The core workflow is remember (ingest data), recall (query memory), improve (enrich graph), and forget (delete). Key files: .env for configuration, Python SDK via import cognee, HTTP API at /api/v1/*, MCP server at cognee-mcp. Primary docs: https://docs.cognee.ai
When to Use
- Ingesting documents: Call
remember()to store text, files, URLs, or code repositories as permanent graph memory or fast session memory - Querying with context: Use
recall()to ask questions and get LLM-written answers with graph-backed retrieval (semantic + structural) - Building agent memory: Decorate agent functions with
@cognee.agent_memoryto attach persistent memory retrieval and trace recording - Session-based conversations: Pass
session_idtoremember()andrecall()for fast conversational memory that bridges into the permanent graph - Multi-user/multi-tenant: Configure datasets, permissions, and roles for isolated data access across users
- Deployment: Use Docker, REST API, or MCP server to expose memory to multiple clients or agents
- Graph enrichment: Call
improve()to add derived structures (summaries, global context index) or bridge session memory into permanent storage - Cleanup: Use
forget()to delete specific items, entire datasets, or all user data
Quick Reference
Core Operations
| Operation | Purpose | Example |
|---|---|---|
remember() |
Store data (permanent or session) | await cognee.remember("text", dataset_name="docs") |
recall() |
Query memory with auto-routing | await cognee.recall("What is X?", datasets=["docs"]) |
improve() |
Enrich graph, bridge sessions | await cognee.improve(dataset_name="docs") |
forget() |
Delete items/datasets/user data | await cognee.forget(dataset_name="docs") |
serve() |
Connect to remote Cognee instance | await cognee.serve(url="...", api_key="...") |
Configuration (.env)
| Variable | Default | Purpose |
|---|---|---|
LLM_PROVIDER |
openai |
LLM: openai, azure, anthropic, ollama, bedrock, custom |
LLM_MODEL |
openai/gpt-5.6-luna |
Model in provider/model-name format |
LLM_API_KEY |
— | API key for LLM provider |
EMBEDDING_PROVIDER |
openai |
Embeddings: openai, ollama, fastembed, gemini, bedrock |
EMBEDDING_MODEL |
openai/text-embedding-3-large |
Embedding model |
EMBEDDING_DIMENSIONS |
3072 (fallback) |
Must match vector store |
DB_PROVIDER |
sqlite |
Relational: sqlite, postgres |
VECTOR_DB_PROVIDER |
lancedb |
Vector store: lancedb, pgvector, qdrant, chromadb |
GRAPH_DATABASE_PROVIDER |
ladybug |
Graph: ladybug, neo4j, memgraph, neptune |
SYSTEM_ROOT_DIRECTORY |
.cognee_system |
Cognee-managed databases |
DATA_ROOT_DIRECTORY |
.data_storage |
Raw ingested source files |
CACHING |
true |
Enable session memory cache |
CACHE_BACKEND |
sqlite |
Cache: sqlite, redis |
Search Types (for recall())
| Type | Source | Use When |
|---|---|---|
HYBRID_COMPLETION |
Vector + Graph | Default; semantic + structural reasoning |
RAG_COMPLETION |
Vector | Traditional semantic search + LLM answer |
GRAPH_COMPLETION |
Graph | Entity/relationship traversal |
CHUNKS_LEXICAL |
Lexical | Keyword search (no embeddings) |
TEMPORAL |
Vector + Graph | Time-aware queries |
CYPHER |
Graph | Direct Cypher queries |
BROAD |
Graph + Vector | Whole-dataset questions (counts, lists) |
File Formats Supported
Built-in: .py, .js, .ts, .go, .rs, .java, .txt, .md, .json, .xml, .yaml, .pdf, .png, .jpg, .mp3, .wav, .csv
With extras: .docx, .xlsx, .pptx, .html, .eml (install cognee[docs] or cognee[scraping])
Decision Guidance
When to Use remember() vs Session Memory
| Scenario | Use |
|---|---|
| Store documents for long-term retrieval | remember(data, dataset_name="...") (permanent) |
| Fast conversational memory in one session | remember(data, session_id="chat_1") (session) |
| Bridge session into permanent graph later | improve(dataset_name="...", session_ids=["chat_1"]) |
| Lightweight, no graph overhead | Session memory (writes to cache only) |
| Need graph structure immediately | Permanent memory (runs full pipeline) |
When to Use Which Search Type
| Question Type | Search Type |
|---|---|
| "What is X?" (semantic match) | HYBRID_COMPLETION (default) |
| "Find exact phrase" (quoted) | CHUNKS_LEXICAL |
| "When did X happen?" (time-aware) | TEMPORAL |
| "List all entities of type Y" | BROAD |
| "Traverse relationships from X" | GRAPH_COMPLETION |
| "Custom Cypher query" | CYPHER |
When to Use Python SDK vs REST API vs MCP
| Use Case | Interface |
|---|---|
| Local Python agent/notebook | Python SDK (import cognee) |
| Deployed service, multiple clients | REST API (/api/v1/*) |
| IDE integration (Claude Code, Cursor) | MCP server (cognee-mcp) |
| Shared knowledge graph across teams | Cognee Cloud + REST API |
Workflow
1. Setup & Configuration
- Create
.envwithLLM_API_KEYand optional database/embedding overrides - Cognee loads
.envonce at import; restart Python after changes - Verify with
cognee-cli demo(no API key needed; uses local GLiNER + fastembed)
2. Ingest Data (Remember)
import cognee
# Permanent memory (full pipeline)
result = await cognee.remember(
"Your text or file path",
dataset_name="docs"
)
# Session memory (fast, optional bridge)
await cognee.remember(
"Quick note",
session_id="chat_1"
)
3. Query Memory (Recall)
# Auto-routed search (default)
answers = await cognee.recall(
"What is X?",
datasets=["docs"]
)
# Explicit search type
answers = await cognee.recall(
"What is X?",
datasets=["docs"],
query_type=SearchType.GRAPH_COMPLETION
)
4. Enrich & Bridge (Improve)
# Bridge session into permanent graph
await cognee.improve(
dataset_name="docs",
session_ids=["chat_1"]
)
5. Cleanup (Forget)
# Delete one item
await cognee.forget(dataset_name="docs", data_id="item_uuid")
# Delete entire dataset
await cognee.forget(dataset_name="docs")
# Delete all user data
await cognee.forget()
6. Deploy (Optional)
# REST API server
docker run -e LLM_API_KEY=... -p 8000:8000 cognee/cognee:main
# MCP server (for IDE integration)
cognee-mcp --port 5000
Common Gotchas
- Embedding dimensions mismatch: If you change
EMBEDDING_MODELorEMBEDDING_DIMENSIONS, runcognee.prune.prune_system(metadata=True)before nextcognify()to clear incompatible vectors - Session memory disabled: If
CACHING=false,remember(..., session_id=...)cannot persist session content; enable it or use permanent memory - File paths in session mode:
remember(..., session_id=...)does not fetch URLs or read files; pass text directly or use permanent mode - Concurrent writes to embedded databases: SQLite, LanceDB, and Ladybug must not be shared across processes; use external stores (Postgres, Neo4j, Qdrant) for multi-process deployments
- Graph not indexed yet: If
recall()returns a "memory_indexing" marker, the graph is still building; wait forDATASET_PROCESSING_COMPLETEDstatus before relying on graph-backed results - Ontology too broad: Public ontologies (Wikidata, DBpedia) are too large; always use a curated subset relevant to your domain
- Provenance tracking overhead:
PROVENANCE_TRACKING=trueadds audit-ledger entries for every document/chunk/entity; leave off by default unless you need full lineage - Conflict detection:
IMPROVE_REVIEW_CONFLICTS=true(default) detects contradictions; set tofalseto skip if you don't need conflict resolution - LLM-free mode: Set
GRAPH_EXTRACTOR="gliner_demo"to extract graphs without an LLM key (uses local GLiNER model)
Verification Checklist
Before submitting work with Cognee:
-
.envis in project root and containsLLM_API_KEY(orGRAPH_EXTRACTOR="gliner_demo"for LLM-free mode) -
remember()completed withstatus="completed"orstatus="session_stored"(checkresult.status) - Dataset status is
DATASET_PROCESSING_COMPLETEDbefore callingrecall()on permanent memory -
recall()returns results withsourcefield indicating retrieval source (graph, session, trace, etc.) - Session memory is bridged to permanent graph via
improve()if long-term persistence is needed - Permissions are configured correctly for multi-user scenarios (use
cognee.datasetsAPI) - Embedding dimensions match between
EMBEDDING_DIMENSIONSand vector store configuration - No concurrent writes to embedded databases (SQLite, LanceDB, Ladybug) from multiple processes
- Ontology (if used) is a curated subset, not a full public ontology
- Cleanup is tested:
forget()removes data as expected
Resources
Comprehensive navigation: https://docs.cognee.ai/llms.txt
Critical documentation pages:
- Core Concepts Overview — Architecture, building blocks, main operations
- Python API Reference — Complete SDK reference for remember, recall, improve, forget
- Setup Configuration — LLM, embedding, database configuration with copy-paste
.envblocks
For additional documentation and navigation, see: https://docs.cognee.ai/llms.txt