Files
basicmachines-co-basic-memory/src/basic_memory/mcp/main.py
T
2024-12-26 11:46:40 -06:00

48 lines
1.1 KiB
Python

"""Main MCP entrypoint for Basic Memory.
Creates and configures the shared MCP instance and handles server startup.
"""
import sys
from loguru import logger
from basic_memory.config import config
# Import shared mcp instance
from basic_memory.mcp.server import mcp
# Import tools to register them
from basic_memory.mcp.tools import knowledge, search, documents
__all__ = ["mcp", "knowledge", "search", "documents"]
def setup_logging(home_dir: str = config.home, log_file: str = "basic-memory.log"):
"""Configure logging for the application."""
# Remove default handler
logger.remove()
log = f"{home_dir}/{log_file}"
# Add file handler with rotation
logger.add(
log,
rotation="100 MB",
retention="10 days",
backtrace=True,
diagnose=True,
enqueue=True,
colorize=False,
)
# Add stderr handler
logger.add(
sys.stderr,
colorize=True,
)
if __name__ == "__main__":
home_dir = config.home
setup_logging(home_dir)
logger.info("Starting Basic Memory MCP server")
logger.info(f"Home directory: {home_dir}" )
mcp.run()