Skip to main content
Glama
portel-dev

NCP - Natural Context Provider

by portel-dev
cli-cross-platform.md3.19 kB
# CLI Tool Discovery - Cross-Platform Support ## Overview The CLI tool catalog now supports **Linux, macOS, and Windows** with platform-specific filtering. ## Platform Detection - **Linux**: `process.platform === 'linux'` - **macOS**: `process.platform === 'darwin'` - **Windows**: `process.platform === 'win32'` ## Command Existence Checking ### Unix (Linux/macOS) ```bash which ffmpeg ``` ### Windows ```cmd where ffmpeg ``` The scanner automatically uses the correct command based on platform. ## Tool Catalog Organization ### Cross-Platform Tools (No platform restriction) - ffmpeg, git, docker, npm, curl, etc. - These work on all platforms (if installed) ### Unix-Only Tools (Linux/macOS) - grep, sed, awk, find, ssh, tar - Most text processing and file utilities - Marked with: `platforms: ['linux', 'darwin']` ### Windows-Only Tools - powershell, cmd, robocopy, tasklist, ipconfig - Marked with: `platforms: ['win32']` ## Windows-Specific Tools Added ### Shell & Scripting - **powershell** - Windows PowerShell - **pwsh** - PowerShell Core (cross-platform) - **cmd** - Windows Command Prompt - **wsl** - Windows Subsystem for Linux ### Package Managers - **winget** - Windows Package Manager - **choco** - Chocolatey - **scoop** - Scoop installer ### File Operations - **robocopy** - Robust file copy - **xcopy** - Extended copy ### Process Management - **tasklist** - List processes - **taskkill** - Kill processes ### Network - **netsh** - Network shell - **ipconfig** - IP configuration ### System - **systeminfo** - System information - **wmic** - WMI command-line ## Total Tool Count - **Cross-platform**: ~90 tools - **Unix-only**: ~50 tools - **Windows-only**: ~15 tools - **Total catalog**: ~155 tools ## Usage on Different Platforms ### macOS (current) ```bash export NCP_CLI_AUTOSCAN=true ncp find "text processing" # Returns: grep, sed, awk, etc. ``` ### Linux ```bash export NCP_CLI_AUTOSCAN=true ncp find "text processing" # Returns: grep, sed, awk, etc. ``` ### Windows ```cmd set NCP_CLI_AUTOSCAN=true ncp find "process list" # Returns: tasklist, wmic, etc. ``` ## Testing ### Test on macOS/Linux ```bash node tests/debug-cli-scanner.cjs # Should find Unix tools (grep, sed, find, ssh, etc.) # Should NOT find Windows tools ``` ### Test on Windows ```cmd node tests\debug-cli-scanner.cjs # Should find Windows tools (tasklist, ipconfig, etc.) # Should NOT find Unix tools (unless in WSL/Git Bash) ``` ## Platform-Specific Notes ### Windows Considerations 1. **Git Bash** - Has Unix tools, platform detection shows 'win32' 2. **WSL** - Full Linux environment, shows as 'linux' 3. **PowerShell** - Native Windows, use Windows tools ### macOS Considerations 1. Most Unix tools pre-installed 2. Homebrew for additional tools 3. GNU versions available via Homebrew (gnu-sed, gnu-tar) ### Linux Considerations 1. Most tools pre-installed 2. Package manager varies (apt, yum, dnf) 3. Minimal systems may lack some tools ## Future Enhancements - [ ] Detect WSL vs native Windows - [ ] Suggest package manager commands for missing tools - [ ] Add more Windows PowerShell cmdlets - [ ] Platform-specific tool aliases (dir → ls on Windows)

Latest Blog Posts

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/portel-dev/ncp'

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