| import dotenv | |
| import typer | |
| from fastmcp.server.server import Transport | |
| from data360.config import get_mcp_server_settings, setup_logging | |
| from data360.mcp_server import mcp | |
| def main( | |
| transport: Transport = typer.Option( | |
| "streamable-http", "-t", "--transport", help="Transport to use." | |
| ), | |
| port: int = typer.Option(8021, "-p", "--port", help="Port to bind the server to."), | |
| ): | |
| """Run the MCP server with configurable transport and port.""" | |
| dotenv.load_dotenv() | |
| # Setup logging from configuration | |
| mcp_settings = get_mcp_server_settings() | |
| setup_logging( | |
| log_file=mcp_settings.log_file, | |
| log_level=mcp_settings.log_level, | |
| env=mcp_settings.env, | |
| azure_connection_string=mcp_settings.azure_connection_string, | |
| ) | |
| kwargs = {"port": port} if transport != "stdio" else {} | |
| mcp.run(transport=transport, **kwargs) | |
| if __name__ == "__main__": | |
| typer.run(main) | |