SKILL.md
Start the cognee server locally
From an installed cognee (no Docker)
cognee-cli -ui
launches the full local stack: FastAPI backend on http://localhost:8000 and the UI on http://localhost:3000. Needs LLMAPIKEY in the environment or .env. The interactive API reference is at http://localhost:8000/docs, health at /health.
For API-only serving via Docker instead, use the cognee-docker skill (the prebuilt cognee/cognee:main image or docker compose up from the repo).
Auth posture
ENABLEBACKENDACCESS_CONTROL decides everything:
true(default): multi-tenant — auth required on every API call, per
user+dataset database isolation.
false: single-user local mode — no auth, shared local databases. Right
choice for a personal dev server; never for anything exposed.
REQUIREAUTHENTICATION=false is ignored while access control is on; to turn auth off you must set ENABLEBACKENDACCESSCONTROL=false.
Connecting clients to the running server
- SDK / CLI against the server (instead of embedded local mode):
``bash cognee-cli serve --url http://localhost:8000 # local instance cognee-cli serve # cognee cloud (device flow) cognee-cli serve --logout # disconnect ``
In Python: await cognee.serve(url="http://localhost:8000").
- HTTP: main routes live under
/api/v1/— the memory API isremember
(plus remember/entry), recall, improve, forget; sessions covers session memory; datasets, users, visualize handle the rest. The legacy add, cognify, search, memify, and delete routes still exist and are what the memory routes call underneath (see cognee/api/client.py for the registered routers, or GET /openapi.json on a running server).
Note there is no /api/v1/feedback route — feedback exists as a CLI command and in the SDK, but is not exposed over HTTP.
Graph visualization without the full UI
from cognee.api.v1.visualize import visualization_server
shutdown = visualization_server(port=8080) # synchronous; returns a shutdown callable
Troubleshooting
- Port 8000 already taken → stop the other service or remap (compose:
"8080:8000").
- 401/403 on every call → you're in multi-tenant mode; either authenticate or
set ENABLEBACKENDACCESS_CONTROL=false and restart.
recall/searchreturns[]instead of erroring → permission-filtered
result; check dataset access rights for the calling user.