Skip to main content
Glama

MCP Memory Server

by jessefreitas
auto-start.ps17.05 kB
# MCP Memory Server - Configurador de Inicialização Automática Windows # Múltiplas opções para inicialização automática param( [Parameter(Position=0)] [ValidateSet("startup", "task", "service", "remove", "status")] [string]$Method = "startup", [switch]$Dashboard = $false, [switch]$Silent = $false ) $ErrorActionPreference = "Stop" # Caminhos $workingDir = Split-Path -Parent $MyInvocation.MyCommand.Path $startupFolder = [Environment]::GetFolderPath("Startup") $startupScript = Join-Path $startupFolder "MCP-Memory-Server.bat" function Write-ColorOutput { param([string]$Message, [string]$Color = "White") if (-not $Silent) { Write-Host $Message -ForegroundColor $Color } } function Initialize-StartupFolder { Write-ColorOutput "Configurando inicialização via pasta Startup..." "Blue" $batContent = @" @echo off REM MCP Memory Server - Auto Start cd /d "$workingDir" REM Verificar Node.js node --version >nul 2>&1 if errorlevel 1 goto :error REM Compilar se necessário if not exist "build\index.js" ( call npm run build if errorlevel 1 goto :error ) REM Iniciar servidor start "MCP Memory Server" /min node build\index.js "@ if ($Dashboard) { $batContent += @" timeout /t 2 /nobreak >nul start "MCP Dashboard" /min node dashboard-server.js "@ } $batContent += @" exit /b 0 :error echo Erro ao iniciar MCP Memory Server pause exit /b 1 "@ $batContent | Out-File -FilePath $startupScript -Encoding ASCII Write-ColorOutput "Script criado em: $startupScript" "Green" Write-ColorOutput "O servidor será iniciado automaticamente no próximo login" "Blue" } function Initialize-ScheduledTask { Write-ColorOutput "Configurando tarefa agendada..." "Blue" $taskName = "MCP Memory Server" $nodeExe = (Get-Command node).Source $serverPath = Join-Path $workingDir "build\index.js" # Remover tarefa existente se houver try { Unregister-ScheduledTask -TaskName $taskName -Confirm:$false -ErrorAction SilentlyContinue } catch {} # Criar ação principal $action1 = New-ScheduledTaskAction -Execute $nodeExe -Argument $serverPath -WorkingDirectory $workingDir $actions = @($action1) # Adicionar dashboard se solicitado if ($Dashboard) { $dashboardPath = Join-Path $workingDir "dashboard-server.js" $action2 = New-ScheduledTaskAction -Execute $nodeExe -Argument $dashboardPath -WorkingDirectory $workingDir $actions += $action2 } # Configurar trigger (no login) $trigger = New-ScheduledTaskTrigger -AtLogOn # Configurar configurações $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable # Configurar principal (usuário atual) $principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -LogonType Interactive # Registrar tarefa Register-ScheduledTask -TaskName $taskName -Action $actions -Trigger $trigger -Settings $settings -Principal $principal -Description "MCP Memory Server - Automatic startup" Write-ColorOutput "Tarefa agendada criada: $taskName" "Green" Write-ColorOutput "Use 'taskschd.msc' para gerenciar a tarefa" "Blue" } function Remove-AutoStart { Write-ColorOutput "Removendo configurações de inicialização automática..." "Blue" # Remover da pasta Startup if (Test-Path $startupScript) { Remove-Item $startupScript -Force Write-ColorOutput "Removido da pasta Startup" "Green" } # Remover tarefa agendada try { Unregister-ScheduledTask -TaskName "MCP Memory Server" -Confirm:$false -ErrorAction SilentlyContinue Write-ColorOutput "Tarefa agendada removida" "Green" } catch {} Write-ColorOutput "Todas as configurações de inicialização removidas" "Green" } function Get-AutoStartStatus { Write-ColorOutput "Status da inicialização automática:" "Blue" Write-ColorOutput "=================================" "Blue" # Verificar pasta Startup if (Test-Path $startupScript) { Write-ColorOutput "Pasta Startup: Configurado" "Green" } else { Write-ColorOutput "Pasta Startup: Não configurado" "Red" } # Verificar tarefa agendada try { $task = Get-ScheduledTask -TaskName "MCP Memory Server" -ErrorAction SilentlyContinue if ($task) { $status = if ($task.State -eq "Ready") { "Ativa" } else { $task.State } Write-ColorOutput "Tarefa Agendada: $status" "Green" } else { Write-ColorOutput "Tarefa Agendada: Não configurada" "Red" } } catch { Write-ColorOutput "Tarefa Agendada: Não configurada" "Red" } # Verificar se está rodando atualmente $process = Get-Process -Name "node" -ErrorAction SilentlyContinue | Where-Object { $_.CommandLine -like "*build/index.js*" } if ($process) { Write-ColorOutput "Status Atual: Rodando (PID: $($process.Id))" "Green" } else { Write-ColorOutput "Status Atual: Não está rodando" "Red" } } # Menu principal Write-ColorOutput "MCP Memory Server - Configurador de Inicialização" "Cyan" Write-ColorOutput "===============================================" "Cyan" switch ($Method.ToLower()) { "startup" { Initialize-StartupFolder Write-ColorOutput "" Write-ColorOutput "Método 'Startup': Mais simples, menos controle" "Yellow" } "task" { Initialize-ScheduledTask Write-ColorOutput "" Write-ColorOutput "Método 'Task': Mais controle, pode executar sem login" "Yellow" } "service" { Write-ColorOutput "Para instalar como serviço Windows, use:" "Blue" Write-ColorOutput ".\install-service.ps1 install" "Green" Write-ColorOutput "" Write-ColorOutput "Método 'Service': Mais robusto, executa sempre" "Yellow" } "remove" { Remove-AutoStart } "status" { Get-AutoStartStatus } default { Write-ColorOutput "Uso: .\auto-start.ps1 [startup|task|service|remove|status] [-Dashboard] [-Silent]" "Yellow" Write-ColorOutput "" Write-ColorOutput "Métodos:" "Blue" Write-ColorOutput " startup - Pasta de inicialização (simples)" "Green" Write-ColorOutput " task - Tarefa agendada (recomendado)" "Green" Write-ColorOutput " service - Serviço Windows (avançado)" "Green" Write-ColorOutput " remove - Remover todas as configurações" "Red" Write-ColorOutput " status - Ver status atual" "Blue" Write-ColorOutput "" Write-ColorOutput "Exemplos:" "Blue" Write-ColorOutput " .\auto-start.ps1 task -Dashboard # Tarefa com dashboard" "Green" Write-ColorOutput " .\auto-start.ps1 startup # Inicialização simples" "Green" Write-ColorOutput " .\auto-start.ps1 status # Ver status" "Green" } }

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/jessefreitas/mcp_memory'

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