From 521d851ee5c1de0eab71a026e349b50f81ed9e00 Mon Sep 17 00:00:00 2001 From: latinogino <154024559+latinogino@users.noreply.github.com> Date: Thu, 25 Sep 2025 13:55:08 +0200 Subject: [PATCH] Add comprehensive configuration validator for Claude Desktop setup --- validate_claude_config.bat | 126 +++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 validate_claude_config.bat diff --git a/validate_claude_config.bat b/validate_claude_config.bat new file mode 100644 index 0000000..d52909f --- /dev/null +++ b/validate_claude_config.bat @@ -0,0 +1,126 @@ +@echo off +echo ====================================== +echo Dolibarr MCP - Configuration Validator +echo ====================================== +echo. + +cd /d "C:\Users\gino\GitHub\dolibarr-mcp" + +echo Checking virtual environment... +if exist "venv_dolibarr\Scripts\python.exe" ( + echo ✓ Virtual environment found +) else ( + echo ✗ Virtual environment not found - creating... + python -m venv venv_dolibarr +) + +echo. +echo Activating virtual environment... +call venv_dolibarr\Scripts\activate + +echo. +echo Installing package in development mode... +pip install -e . >nul 2>&1 + +echo. +echo Installing dependencies... +pip install requests python-dotenv mcp aiohttp pydantic click typing-extensions >nul 2>&1 + +echo. +echo Testing module import paths... +echo ---------------------------------------- + +echo Test 1: Direct module import +python -c "import sys; sys.path.insert(0, 'src'); from dolibarr_mcp import __version__; print(f' ✓ Direct import works - version: {__version__}')" 2>nul +if %errorlevel% neq 0 ( + echo ✗ Direct import failed +) + +echo. +echo Test 2: Module execution with -m flag +python -m dolibarr_mcp.dolibarr_mcp_server --help >nul 2>&1 +if %errorlevel% neq 0 ( + echo ✗ Module execution failed + echo Attempting fix... + cd src + python -m dolibarr_mcp.dolibarr_mcp_server --help >nul 2>&1 + if %errorlevel% neq 0 ( + echo ✗ Still failing - checking Python path... + python -c "import sys; print('Python paths:'); [print(f' {p}') for p in sys.path[:5]]" + ) else ( + echo ✓ Works when run from src directory + ) + cd .. +) else ( + echo ✓ Module execution works +) + +echo. +echo Test 3: Environment Variables +echo ---------------------------------------- +python -c "import os; url=os.getenv('DOLIBARR_URL') or os.getenv('DOLIBARR_BASE_URL'); key=os.getenv('DOLIBARR_API_KEY'); print(f' URL: {url[:30] if url else \"NOT SET\"}...'); print(f' KEY: {\"*\" * 10 if key else \"NOT SET\"}')" + +echo. +echo Test 4: Configuration for Claude Desktop +echo ---------------------------------------- +echo Your configuration uses: +echo - Command: venv_dolibarr\Scripts\python.exe +echo - Args: -m dolibarr_mcp.dolibarr_mcp_server +echo - CWD: C:\Users\gino\GitHub\dolibarr-mcp +echo - ENV: DOLIBARR_BASE_URL and DOLIBARR_API_KEY + +echo. +echo Validating this configuration... +set DOLIBARR_BASE_URL=https://db.ginos.cloud/api/index.php/ +set DOLIBARR_API_KEY=7cxAAO835BF7bXy6DsQ2j2a7nT6ectGY + +python -c "from src.dolibarr_mcp.config import Config; c=Config(); print(f' ✓ Config loads successfully'); print(f' URL processed as: {c.dolibarr_url}')" 2>nul +if %errorlevel% neq 0 ( + echo ✗ Config loading failed +) + +echo. +echo ======================================== +echo FINAL TEST: Running MCP server briefly +echo ======================================== +timeout /t 1 >nul +echo Starting server (will run for 3 seconds)... +start /B python -m dolibarr_mcp.dolibarr_mcp_server 2>server_test.log +timeout /t 3 >nul +taskkill /F /IM python.exe >nul 2>&1 + +if exist server_test.log ( + echo. + echo Server output: + type server_test.log | findstr /C:"Starting Professional Dolibarr MCP server" >nul + if %errorlevel% equ 0 ( + echo ✓ Server starts successfully! + ) else ( + echo ✗ Server failed to start properly + echo Check server_test.log for details + ) + del server_test.log +) + +echo. +echo ======================================== +echo Configuration Status: READY +echo ======================================== +echo. +echo Your Claude Desktop config should work with: +echo. +echo { +echo "mcpServers": { +echo "dolibarr-python": { +echo "command": "C:\\Users\\gino\\GitHub\\dolibarr-mcp\\venv_dolibarr\\Scripts\\python.exe", +echo "args": ["-m", "dolibarr_mcp.dolibarr_mcp_server"], +echo "cwd": "C:\\Users\\gino\\GitHub\\dolibarr-mcp", +echo "env": { +echo "DOLIBARR_BASE_URL": "https://db.ginos.cloud/api/index.php/", +echo "DOLIBARR_API_KEY": "7cxAAO835BF7bXy6DsQ2j2a7nT6ectGY" +echo } +echo } +echo } +echo } +echo. +pause