Skip to main content
Glama
main.py2.13 kB
#!/usr/bin/env python3 """Main entry point for NIX MCP Server""" import sys import logging import os from pathlib import Path from logging.handlers import RotatingFileHandler # Configure logging based on environment log_level = os.getenv("NIX_MCP_DEBUG", "INFO") # Create logs directory in project root log_dir = Path(__file__).parent / ".logs" log_dir.mkdir(parents=True, exist_ok=True) log_file = log_dir / "nix-mcp.log" # Configure logging with both file and stderr handlers handlers = [] # Always log to file for debugging file_handler = RotatingFileHandler( log_file, maxBytes=10*1024*1024, # 10MB backupCount=3 ) file_handler.setFormatter( logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') ) handlers.append(file_handler) # Also log to stderr if not in production if log_level.upper() == "DEBUG": handlers.append(logging.StreamHandler(sys.stderr)) logging.basicConfig( level=getattr(logging, log_level.upper()), handlers=handlers ) logger = logging.getLogger(__name__) # Log the log file location on startup logger.info(f"NIX MCP Server logs: {log_file}") # Add src to path sys.path.insert(0, str(Path(__file__).parent / "src")) try: from nix_mcp.server_fastmcp import mcp logger.info("Successfully imported MCP modules") except ImportError as e: logger.error(f"Failed to import required modules: {e}") sys.exit(1) def main(): """Run the MCP server""" logger.info("Starting NIX MCP Server...") logger.debug(f"Python version: {sys.version}") logger.debug(f"Working directory: {os.getcwd()}") logger.debug(f"Script path: {__file__}") try: # FastMCP handles its own event loop mcp.run("stdio") except Exception as e: logger.error(f"Server error: {e}", exc_info=True) raise if __name__ == "__main__": try: logger.info("NIX MCP Server starting up...") main() except KeyboardInterrupt: logger.info("Server stopped by user") sys.exit(0) except Exception as e: logger.error(f"Fatal error: {e}", exc_info=True) sys.exit(1)

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/haiqiubullish/nix-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server