A comprehensive Model Context Protocol (MCP) server for Notion integration with enhanced functionality, robust error handling, production-readyΒ feature.
This project explores the concept of long-term memory in AI agents and demonstrates how to build sophisticated agentic memory systems using various approaches and tools. Now featuring complete Notion workspace integration and MCP (Model Context Protocol) implementation!
Feel free to βοΈ the repo if it helps you understand long-term memory for agents!
β οΈ Note: Please use Python 3.11 as Python 3.12 may cause compatibility issues with some dependencies.
# Create virtual environment
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
# Install dependencies
pip install -r requirements.txt
# Setup SQLite DB
python src/prepare_sqldb.py
# Setup Vector DB
python src/prepare_vectordb.py
# Verify databases
python src/check_sqldb.py
python src/check_vectordb.py
# Required
export OPENAI_API_KEY="your_openai_api_key"
export NOTION_TOKEN="your_notion_integration_token"
# Optional
export NOTION_API_KEY="your_notion_integration_token" # Alternative to NOTION_TOKEN
# Terminal version with full Notion integration
python src/chat_in_terminal.py
# Gradio UI version
python src/chat_in_ui.py
# Test Notion integration
python test_notion_integration.py
# Test MCP functionality
python test_notion_mcp.py
basic_chatbot_v1.py
)chatbot_agentic_v2.py
)chatbot_agentic_v3.py
) - β MAIN VERSIONβββββββββββββββββββββββ βββββββββββββββββββββββ βββββββββββββββββββββββ
β User Interface βββββΆβ Chatbot Agentic V3 βββββΆβ External Systems β
β (Terminal/UI) β β (Main Controller) β β (Notion, DB, etc) β
βββββββββββββββββββββββ βββββββββββββββββββββββ βββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββ
β Core Components β
β βββββββββββββββ βββββββββββββββββββ β
β β OpenAI β β Notion β β
β β Agent β β ServerV2 β β
β βββββββββββββββ βββββββββββββββββββ β
β βββββββββββββββ βββββββββββββββββββ β
β β Memory β β Vector DB β β
β β Systems β β (Embeddings) β β
β βββββββββββββββ βββββββββββββββββββ β
β βββββββββββββββ βββββββββββββββββββ β
β β MCP β β SQL Database β β
β β Protocol β β (Structured) β β
β βββββββββββββββ βββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββ
src/
βββ chat_in_terminal.py # Enhanced terminal chatbot
βββ chat_in_ui.py # Gradio UI version
βββ prepare_sqldb.py # Creates SQLite DB
βββ prepare_vectordb.py # Creates Vector DB
βββ check_sqldb.py # Checks SQLite DB contents
βββ check_vectordb.py # Checks Vector DB contents
βββ notion_mcp_server/ # π Complete Notion MCP Server
β βββ core_operations.py # Basic Notion operations
β βββ analytics_operations.py # Workspace analytics
β βββ bulk_operations.py # Bulk operations
β βββ update_operations.py # Content updates
β βββ notion_utils.py # Utility functions
β βββ api_serverV2.py # HTTP API server
β βββ serverV2.py # MCP server implementation
β βββ test_server.py # π 48KB comprehensive test suite
β βββ README.md # π Complete MCP Server V2.1 documentation
βββ utils/
βββ basic_chatbot_v1.py # Basic chatbot implementation
βββ chatbot_agentic_v2.py # Agentic chatbot v2
βββ chatbot_agentic_v3.py # π Main enhanced chatbot (LATEST)
βββ mcp_client_manager.py # π MCP client management
βββ chat_history_manager.py
βββ vector_db_manager.py
βββ user_manager.py
βββ prepare_system_prompt.py
βββ search_manager.py
βββ sql_manager.py
βββ config.py
βββ utils.py
# Testing Files
βββ test_notion_integration.py # π Notion integration tests
βββ test_notion_mcp.py # π MCP functionality tests
βββ test_chatbot_integration.py # π Chatbot integration tests
βββ [other test files...]
# Documentation
βββ HOW_MCP_TOOLS_WORK.md # π MCP implementation guide
βββ NOTION_INTEGRATION_README.md # π Notion integration docs
βββ MCP_IMPLEMENTATION_COMPARISON.md # π Implementation comparison
βββ MCP_NOTION_README.md # π MCP Notion setup guide
βββ PRODUCTION_CONFIG.md # π Production deployment
βββ README.md # This file
# Additional Directories
langgraph/ # LangGraph implementations
letta/ # Letta memory system
docker/ # π Docker deployment
config/ # Configuration files
data/ # Database storage
LLM Default Behavior
Concept of Memory
Basic Chatbot Schema
Agentic_Chatbot_v2 Schema
Agentic_Chatbot_v3 Schema (Old Version)
Longterm Memory with Graph DB and Vector DB using LangGraph
Longterm Memory (Semantic, Episodical, and Procedural) with LangGraph
Old Project Structure
Feel free to contribute by:
This project is open source
π This is a complete AI agent system with production-ready Notion integration, advanced memory management, and MCP protocol implementation!