From 157645b64d2dcd8f180a6e5d38ac8230588233d6 Mon Sep 17 00:00:00 2001 From: b3nw Date: Tue, 5 May 2026 02:54:38 +0000 Subject: [PATCH] feat: add startup diagnostics for debugging environment and library version --- src/monarch_mcp_custom/server.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/monarch_mcp_custom/server.py b/src/monarch_mcp_custom/server.py index 43022e0..ba89cf6 100644 --- a/src/monarch_mcp_custom/server.py +++ b/src/monarch_mcp_custom/server.py @@ -26,6 +26,38 @@ logging.basicConfig( ) logger = logging.getLogger(__name__) + +def run_startup_diagnostics(): + """Print startup diagnostics for debugging.""" + import monarchmoney + from monarchmoney import MonarchMoneyEndpoints + + print("\n" + "=" * 50) + print("Monarch MCP Server - Startup Diagnostics") + print("=" * 50) + + print(f"\nšŸ“¦ Library Version: monarchmoney {monarchmoney.__version__}") + + print(f"\nšŸ”— API Endpoints:") + print(f" GraphQL: {MonarchMoneyEndpoints.getGraphQL()}") + print(f" Login: {MonarchMoneyEndpoints.getLoginEndpoint()}") + + print(f"\nšŸ” Environment Variables:") + env_vars = ['MONARCH_TOKEN', 'MONARCH_EMAIL', 'MONARCH_PASSWORD', 'MONARCH_MFA_SECRET'] + for var in env_vars: + value = os.getenv(var) + if value: + masked = value[:8] + "..." if len(value) > 8 else "***" + print(f" {var}: āœ“ ({masked})") + else: + print(f" {var}: āœ— (not set or empty)") + + print("\n" + "=" * 50 + "\n") + + +# Run startup diagnostics +run_startup_diagnostics() + # Initialize FastMCP mcp = FastMCP("Monarch Money Custom")