No description
Find a file
Vasilije be453dc850
fix: update cognee-mcp script alias and Dockerfile entrypoint (#1471)
<!-- .github/pull_request_template.md -->

## Description

Running cognee-mcp as a docker container currently fails when using
latest main version:
```
(cognee-mcp) daulet@Mac cognee-claude % docker run  -e TRANSPORT_MODE=sse -p 8001:8000 cognee/cognee-mcp:main     
Debug mode: 
Environment: 
Transport mode: sse
Debug port: 5678
HTTP port: 8000
Running database migrations...

2025-09-25T21:15:17.065171 [info     ] Logging initialized            [cognee.shared.logging_utils] cognee_version=0.3.2 database_path=/app/.venv/lib/python3.12/site-packages/cognee/.cognee_system/databases graph_database_name= os_info='Linux 6.12.5-linuxkit (#1 SMP Tue Jan 21 10:23:32 UTC 2025)' python_version=3.12.11 relational_config=cognee_db structlog_version=25.4.0 vector_config=lancedb

2025-09-25T21:15:17.065330 [info     ] Database storage: /app/.venv/lib/python3.12/site-packages/cognee/.cognee_system/databases [cognee.shared.logging_utils]

generated new fontManager     
Database migrations done.
Starting Cognee MCP Server with transport mode: sse

2025-09-25T21:15:24.204708 [info     ] Logging initialized            [cognee.shared.logging_utils] cognee_version=0.3.2 database_path=/app/.venv/lib/python3.12/site-packages/cognee/.cognee_system/databases graph_database_name= os_info='Linux 6.12.5-linuxkit (#1 SMP Tue Jan 21 10:23:32 UTC 2025)' python_version=3.12.11 relational_config=cognee_db structlog_version=25.4.0 vector_config=lancedb

2025-09-25T21:15:24.204863 [info     ] Database storage: /app/.venv/lib/python3.12/site-packages/cognee/.cognee_system/databases [cognee.shared.logging_utils]
Usage: cognee [-h] [--version] [--debug] [-ui]
              {add,search,cognify,delete,config} ...
cognee: error: argument command: invalid choice: 'sse' (choose from add, search, cognify, delete, config)
(cognee-mcp) daulet@Mac cognee-claude % 
```

This is due to both `cognee-mcp` and `cognee` (v0.3.2) projects defining
their CLI script aliases as `cognee`.

`entrypoint.sh` uses `cognee` cli, assuming it's `cognee-mcp`, which is
failing (see logs above).

While in later version of cognee we define `cognee-cli` instead of
`cognee`, it's still important to be safer and be more explicit in
`cognee-mcp` cli alias.

## Testing the fix

```
(cognee-mcp) daulet@Mac cognee-claude % docker run  -e TRANSPORT_MODE=sse -p 8001:8000 cognee/cognee-mcp:daulet-dev
Debug mode: 
Environment: 
Transport mode: sse
Debug port: 5678
HTTP port: 8000
Running database migrations...

2025-09-25T21:18:45.855092 [info     ] Logging initialized            [cognee.shared.logging_utils] cognee_version=0.3.2 database_path=/app/.venv/lib/python3.12/site-packages/cognee/.cognee_system/databases graph_database_name= os_info='Linux 6.12.5-linuxkit (#1 SMP Tue Jan 21 10:23:32 UTC 2025)' python_version=3.12.11 relational_config=cognee_db structlog_version=25.4.0 vector_config=lancedb

2025-09-25T21:18:45.855270 [info     ] Database storage: /app/.venv/lib/python3.12/site-packages/cognee/.cognee_system/databases [cognee.shared.logging_utils]

generated new fontManager     
Database migrations done.
Starting Cognee MCP Server with transport mode: sse

2025-09-25T21:18:53.188498 [info     ] Logging initialized            [cognee.shared.logging_utils] cognee_version=0.3.2 database_path=/app/.venv/lib/python3.12/site-packages/cognee/.cognee_system/databases graph_database_name= os_info='Linux 6.12.5-linuxkit (#1 SMP Tue Jan 21 10:23:32 UTC 2025)' python_version=3.12.11 relational_config=cognee_db structlog_version=25.4.0 vector_config=lancedb

2025-09-25T21:18:53.188665 [info     ] Database storage: /app/.venv/lib/python3.12/site-packages/cognee/.cognee_system/databases [cognee.shared.logging_utils]

2025-09-25T21:18:54.272533 [info     ] Starting MCP server with transport: sse [cognee.shared.logging_utils]

2025-09-25T21:18:54.272661 [info     ] Running MCP server with SSE transport on 0.0.0.0:8000 [cognee.shared.logging_utils]
INFO:     Started server process [1]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
```

<!--
Please provide a clear, human-generated description of the changes in
this PR.
DO NOT use AI-generated descriptions. We want to understand your thought
process and reasoning.
-->

## Type of Change
<!-- Please check the relevant option -->
- [x] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.
2025-09-28 15:26:19 +02:00
.github refactor: Rework limit=0 for vector adapters (#1450) 2025-09-25 21:13:41 +02:00
alembic chore: Update MCP version 2025-09-11 23:41:24 +02:00
assets chore: update cognee ui on readme 2025-09-11 11:05:18 +02:00
bin Revert "Clean up core cognee repo" 2025-05-15 10:46:01 +02:00
cognee refactor: Rework limit=0 for vector adapters (#1450) 2025-09-25 21:13:41 +02:00
cognee-frontend version: v0.3.4.dev3 2025-09-18 18:08:22 +02:00
cognee-mcp ruff format 2025-09-26 15:14:47 +01:00
cognee-starter-kit improve structure, readability 2025-09-04 16:20:36 +02:00
deployment Fix/add async lock to all vector databases (#1244) 2025-08-14 15:57:34 +02:00
distributed chore(deps): bump the pip group across 2 directories with 1 update 2025-08-27 21:49:40 +00:00
evals renamed max tokens 2025-08-17 12:39:51 +02:00
examples refactor: Rework limit=0 for vector adapters (#1450) 2025-09-25 21:13:41 +02:00
licenses Revert "Clean up core cognee repo" 2025-05-15 10:46:01 +02:00
logs feat: Add logging to file [COG-1715] (#672) 2025-03-28 16:13:56 +01:00
notebooks feat: add new tutorial notebook 2025-09-24 16:14:28 +02:00
tools Revert "Clean up core cognee repo" 2025-05-15 10:46:01 +02:00
.dockerignore Revert "Clean up core cognee repo" 2025-05-15 10:46:01 +02:00
.env.template chore: updates env template 2025-09-19 13:46:01 +02:00
.gitattributes Merge dev with main (#921) 2025-06-07 07:48:47 -07:00
.gitguardian.yml fix: Mcp improvements (#1114) 2025-07-24 21:52:16 +02:00
.gitignore feat: add welcome tutorial notebook for new users (#1425) 2025-09-18 18:07:05 +02:00
.pre-commit-config.yaml Feat: log pipeline status and pass it through pipeline [COG-1214] (#501) 2025-02-11 16:41:40 +01:00
.pylintrc fix: enable sqlalchemy adapter 2024-08-04 22:23:28 +02:00
alembic.ini fix: Logger suppresion and database logs (#1041) 2025-07-03 20:08:27 +02:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md 2024-12-13 11:30:16 +01:00
CONTRIBUTING.md Merge main vol 4 (#1200) 2025-08-05 12:48:24 +02:00
CONTRIBUTORS.md Merge with main (#892) 2025-05-30 23:13:04 +02:00
DCO.md Create DCO.md 2024-12-13 11:28:44 +01:00
docker-compose.yml Merge main vol 4 (#1200) 2025-08-05 12:48:24 +02:00
Dockerfile Fix/add async lock to all vector databases (#1244) 2025-08-14 15:57:34 +02:00
entrypoint.sh Regen lock files (#1153) 2025-07-25 11:45:28 -04:00
LICENSE Update LICENSE 2024-03-30 11:57:07 +01:00
mypy.ini fix: Remove weaviate (#1139) 2025-07-23 19:34:35 +02:00
NOTICE.md add NOTICE file, reference CoC in contribution guidelines, add licenses folder for external licenses 2024-12-06 13:27:55 +00:00
poetry.lock chore: Update lock files 2025-09-23 19:26:09 +02:00
pyproject.toml Merge branch 'main' into dev 2025-09-19 17:27:48 +02:00
README.md fix: Update README.md to change the URL issue of hosted solution 2025-09-27 12:11:31 +05:30
SECURITY.md Merge main vol 2 (#967) 2025-06-11 09:28:41 -04:00
uv.lock fix: Resolve issue with MCP on main branch 2025-09-23 19:16:40 +02:00

Cognee Logo

cognee - Memory for AI Agents in 6 lines of code

Demo . Learn more · Join Discord · Join r/AIMemory . Docs . cognee community repo

GitHub forks GitHub stars GitHub commits Github tag Downloads License Contributors Sponsor

cognee - Memory for AI Agents  in 5 lines of code | Product Hunt topoteretes%2Fcognee | Trendshift

Build dynamic memory for Agents and replace RAG using scalable, modular ECL (Extract, Cognify, Load) pipelines.

🌐 Available Languages : Deutsch | Español | français | 日本語 | 한국어 | Português | Русский | 中文

Why cognee?

Get Started

Get started quickly with a Google Colab notebook , Deepnote notebook or starter repo

About cognee

Self-hosted package:

  • Interconnects any kind of documents: past conversations, files, images, and audio transcriptions
  • Replaces RAG systems with a memory layer based on graphs and vectors
  • Reduces developer effort and cost, while increasing quality and precision
  • Provides Pythonic data pipelines that manage data ingestion from 30+ data sources
  • Is highly customizable with custom tasks, pipelines, and a set of built-in search endpoints

Hosted platform:

Self-Hosted (Open Source)

📦 Installation

You can install Cognee using either pip, poetry, uv or any other python package manager.

Cognee supports Python 3.10 to 3.12

With uv

uv pip install cognee

Detailed instructions can be found in our docs

💻 Basic Usage

Setup

import os
os.environ["LLM_API_KEY"] = "YOUR OPENAI_API_KEY"

You can also set the variables by creating .env file, using our template. To use different LLM providers, for more info check out our documentation

Simple example

Python

This script will run the default pipeline:

import cognee
import asyncio


async def main():
    # Add text to cognee
    await cognee.add("Cognee turns documents into AI memory.")

    # Generate the knowledge graph
    await cognee.cognify()

    # Add memory algorithms to the graph
    await cognee.memify()

    # Query the knowledge graph
    results = await cognee.search("What does cognee do?")

    # Display the results
    for result in results:
        print(result)


if __name__ == '__main__':
    asyncio.run(main())

Example output:

  Cognee turns documents into AI memory.

Via CLI

Let's get the basics covered

cognee-cli add "Cognee turns documents into AI memory."

cognee-cli cognify

cognee-cli search "What does cognee do?"
cognee-cli delete --all

or run

cognee-cli -ui

Hosted Platform

Get up and running in minutes with automatic updates, analytics, and enterprise security.

  1. Sign up on cogwit
  2. Add your API key to local UI and sync your data to Cogwit

Demos

  1. Cogwit Beta demo:

Cogwit Beta

  1. Simple GraphRAG demo

Simple GraphRAG demo

  1. cognee with Ollama

cognee with local models

Contributing

Your contributions are at the core of making this a true open source project. Any contributions you make are greatly appreciated. See CONTRIBUTING.md for more information.

Code of Conduct

We are committed to making open source an enjoyable and respectful experience for our community. See CODE_OF_CONDUCT for more information.

Citation

We now have a paper you can cite:

@misc{markovic2025optimizinginterfaceknowledgegraphs,
      title={Optimizing the Interface Between Knowledge Graphs and LLMs for Complex Reasoning}, 
      author={Vasilije Markovic and Lazar Obradovic and Laszlo Hajdu and Jovan Pavlovic},
      year={2025},
      eprint={2505.24478},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2505.24478}, 
}