#!/usr/bin/env python3
"""
MCP Server runner that handles stdio properly
"""
import sys
import os
# Add the src directory to Python path for development
project_root = os.path.dirname(os.path.abspath(__file__))
src_path = os.path.join(project_root, 'src')
sys.path.insert(0, src_path)
print(f"=== ODOO MCP SERVER STARTING ===", file=sys.stderr)
print(f"Project root: {project_root}", file=sys.stderr)
print(f"Python executable: {sys.executable}", file=sys.stderr)
print(f"Python version: {sys.version}", file=sys.stderr)
try:
# Import and run the MCP server
print("Importing odoo_mcp.__main__...", file=sys.stderr)
from odoo_mcp.__main__ import main
print("Successfully imported main function", file=sys.stderr)
if __name__ == "__main__":
print("Starting MCP server...", file=sys.stderr)
sys.stderr.flush()
sys.exit(main())
except ImportError as e:
print(f"Import error: {e}", file=sys.stderr)
print(f"Python path: {sys.path[:5]}", file=sys.stderr)
sys.exit(1)
except Exception as e:
print(f"Error starting server: {e}", file=sys.stderr)
import traceback
traceback.print_exc(file=sys.stderr)
sys.exit(1)