Skip to main content

Installation Issues

Command not found: ntcli

Symptoms: ntcli: command not found after running npm install -g @nimbletools/ntcliCause: NPM global bin directory not in PATHSolutions:
  1. Check NPM global bin location:
npm config get prefix 
# Should be in your PATH 
  1. Add NPM global bin to PATH:
# Add to ~/.bashrc, ~/.zshrc, etc. 
export PATH=$(npm config get prefix)/bin:$PATH 
  1. Verify installation:
which ntcli ntcli
--version
Symptoms: EACCES permission denied errors during installationCause: NPM trying to write to system directoriesSolutions:
  1. Configure NPM to use user directory (recommended):
    mkdir ~/.npm-global 
    npm config set prefix '~/.npm-global' 
    echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc 
    source ~/.bashrc npm install -g @nimbletools/ntcli 
    
  2. Use Node Version Manager (recommended):
# Install nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 
# Install and use Node.js 
nvm install node 
nvm use node 
npm install -g @nimbletools/ntcli
Symptoms: ntcli --version shows old version after updateCause: Multiple installations or cached binaries Solutions:
  1. Clear NPM cache:
npm cache clean --force
  1. Complete reinstall:
npm uninstall -g @nimbletools/ntcli
npm install -g @nimbletools/ntcli
  1. Check installation location:
which ntcli ls -la $(which ntcli)

Authentication Issues

OAuth Login Problems

Symptoms: Browser doesn’t automatically open during ntcli auth loginSolutions:
  1. Manual browser opening:
    ntcli auth login --verbose
    # Copy the URL from the output and open manually
    
  2. Check default browser:
    # macOS
    defaults read com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers
    
    # Linux - check $BROWSER variable
    echo $BROWSER
    
  3. Use alternative browser:
    # Set browser temporarily
    export BROWSER=firefox
    ntcli auth login
    
Symptoms: Error: listen EADDRINUSE: address already in use :::41247Solutions:
  1. Use different port:
    ntcli auth login --port 8080
    
  2. Find process using port:
    # Find process using port 41247
    lsof -i :41247
    
    # Kill process if safe to do so
    kill -9 <PID>
    
  3. Set default port:
    export NTCLI_DEFAULT_PORT=8080
    ntcli auth login
    
Symptoms: Authentication times out before completionSolutions:
  1. Increase timeout:
    ntcli auth login --timeout 120000  # 2 minutes
    
  2. Check network connectivity:
    curl -I https://clerk.nimbletools.ai
    ping clerk.nimbletools.ai
    
  3. Disable firewall/proxy temporarily:
    # Test without proxy
    unset http_proxy https_proxy
    ntcli auth login
    

Token and Credential Issues

Symptoms: Authentication token expired or 401 UnauthorizedSolutions:
  1. Re-authenticate:
ntcli auth logout ntcli auth login
  1. Refresh workspace tokens:
ntcli token refresh
  1. Check token status:
ntcli auth status 
ntcli token show

Workspace Issues

Workspace Sync and Access Problems

Symptoms: Can’t see or access workspaces that exist on the serverSolutions:
  1. Check workspace sync status:
    ntcli workspace sync
    
  2. Get access tokens for missing workspaces:
    ntcli token refresh <workspace-name>
    
  3. Verify workspace is now available:
    ntcli workspace list
    
Symptoms: Workspace commands failing or behaving unexpectedlySolutions:
  1. Debug local workspace storage:
    ntcli workspace debug
    
  2. Check for detailed file contents (if needed):
    ntcli workspace debug --verbose
    
  3. Compare local and server state:
    ntcli workspace sync
    
  4. Fix authentication issues:
    ntcli auth logout
    ntcli auth login
    
Symptoms: ntcli workspace debug shows expired tokensSolutions:
  1. Check token status:
    ntcli workspace debug
    
  2. Refresh expired tokens:
    ntcli token refresh <workspace-name>
    
  3. Verify all workspaces are accessible:
    ntcli workspace list
    ntcli workspace sync
    

Workspace Creation Problems

Symptoms: Invalid workspace name format errorCause: Workspace name violates naming rulesSolution: Follow naming conventions:
# ❌ Invalid names 
ntcli workspace create "my project"
# spaces 
ntcli workspace create my_project 
# underscores
ntcli workspace create very-long-workspace-name-here 
# too long 
ntcli workspace create my-project!
# special chars 
# ✅ Valid names 
ntcli workspace create my-project # good
ntcli workspace create data-science-2024 # good ntcli workspace create
prod-env # good
Symptoms: Workspace name already exists error Solutions:
  1. List existing workspaces:
ntcli workspace list
  1. Use different name:
ntcli workspace create my-project-v2
  1. Switch to existing workspace:
ntcli workspace switch my-project
Symptoms: Workspace quota exceeded errorSolutions:
  1. Check current workspaces:
ntcli workspace list
  1. Delete unused workspaces:
ntcli workspace delete old-workspace --force

Server Deployment Issues

Deployment Failures

Symptoms: Server 'xyz' not found in registrySolutions:
  1. Check available servers:
ntcli registry list
  1. Search for similar names:
ntcli registry list | grep -i keyword
  1. Get exact server ID:
ntcli registry show server-name
Symptoms: Deployment hangs or times outSolutions: 1. Check deployment status:
ntcli server list
ntcli server info server-name
  1. View deployment logs:
ntcli server logs server-name --lines 50
  1. Retry deployment:
ntcli server remove server-name --force
ntcli server deploy server-name
Symptoms: Resource quota exceeded during deploymentSolutions:
  1. Check current resource usage:
ntcli server list
  1. Scale down or remove unused servers:
ntcli server scale server-name 1 
ntcli server remove unused-server

Runtime Issues

Symptoms: MCP calls fail with connection errorsSolutions:
  1. Check server status:
    ntcli server info server-name
    ntcli server logs server-name --lines 20
    
  2. Test MCP connection:
    ntcli mcp connect server-name --verbose
    
  3. Restart server (scale to 0 then back up):
    ntcli server scale server-name 0
    sleep 10
    ntcli server scale server-name 1
    
Symptoms: Server logs show missing required environment variablesSolutions:
  1. Check required secrets:
    ntcli registry show server-name
    # Look for required environment variables
    
  2. Set missing secrets:
    ntcli secrets set API_KEY=your-key-here
    ntcli secrets set DATABASE_URL=postgres://...
    
  3. Restart server after setting secrets:
    ntcli server scale server-name 0
    ntcli server scale server-name 1
    

MCP Integration Issues

Claude Desktop Integration

Symptoms: Claude Desktop doesn’t show MCP tools or shows connection errorsSolutions:
  1. Verify server is running:
ntcli server list
ntcli server info server-name
  1. Test MCP connection directly:
ntcli mcp connect server-name
ntcli mcp tools server-name
  1. Regenerate Claude Desktop config:
ntcli server claude-config server-name --insecure
# Copy output to claude_desktop_config.json
  1. Restart Claude Desktop after config changes
Symptoms: @nimbletools/mcp-http-bridge connection failuresSolutions:
  1. Test bridge manually:
    npx @nimbletools/mcp-http-bridge \
      --endpoint "https://mcp.nimbletools.ai/v1/workspaces/your-workspace/servers/server-name/mcp" \
      --token "your-token" \
      --insecure
    
  2. Check network connectivity:
    curl -H "Authorization: Bearer your-token" \
      "https://mcp.nimbletools.ai/v1/workspaces/your-workspace/servers/server-name/mcp"
    
  3. Clear npx cache (if bridge seems outdated):
    npx clear-npx-cache
    # or
    rm -rf ~/.npm/_npx
    
Symptoms: SSL certificate errors in Claude Desktop or MCP bridge Solutions: 1. Use —insecure flag for development: bash ntcli server claude-config server-name --insecure 2. Update system certificates: bash # macOS brew install ca-certificates # Linux sudo apt update && sudo apt install ca-certificates 3. Check certificate validity: bash openssl s_client -connect mcp.nimbletools.ai:443 -servername mcp.nimbletools.ai

Network and Connectivity Issues

API Connection Problems

Symptoms: ETIMEDOUT or ECONNREFUSED errorsSolutions:
  1. Check API endpoint:
echo $NTCLI_API_URL
curl -I $NTCLI_API_URL/health
  1. Test DNS resolution:
nslookup mcp.nimbletools.ai
ping mcp.nimbletools.ai
  1. Check firewall/proxy settings:
# Temporarily disable proxy
unset http_proxy https_proxy
ntcli health
Symptoms: Connection issues in corporate networksSolutions:
  1. Configure proxy settings:
    export http_proxy=http://proxy.company.com:8080
    export https_proxy=http://proxy.company.com:8080
    export no_proxy=localhost,127.0.0.1
    
  2. NPM proxy configuration:
    npm config set proxy http://proxy.company.com:8080
    npm config set https-proxy http://proxy.company.com:8080
    
  3. Test connectivity:
    ntcli health --verbose
    

Performance Issues

Slow Operations

Symptoms: Server deployment takes unusually longSolutions:
  1. Check network connection:
    curl -w "@curl-format.txt" -o /dev/null -s $NTCLI_API_URL/health
    
  2. Monitor deployment progress:
    ntcli server deploy server-name --verbose --wait
    
  3. Use smaller resource limits:
    ntcli server deploy server-name --cpu "100m" --memory "128Mi"
    
Symptoms: MCP tool calls take a long time to respondSolutions:
  1. Check server logs for errors:
    ntcli server logs server-name --lines 50
    
  2. Scale up server resources:
    ntcli server scale server-name 2
    
  3. Test MCP call timing:
    time ntcli mcp call server-name tool-name --arg key=value
    

Debug and Diagnostic Commands

Collecting Debug Information

# Node.js and NPM versions
node --version
npm --version

# ntcli version and location
ntcli --version
which ntcli

# Environment variables
env | grep NTCLI

Enable Global Debug Mode

For comprehensive debugging across all commands:
export NTCLI_DEBUG=1
export NODE_ENV=development

# All ntcli commands will now show debug output
ntcli auth status
ntcli server list
ntcli mcp tools server-name

Getting Help

If you’re still experiencing issues after trying these solutions:

When Reporting Issues

Please include the following information:
  • Environment
  • Error Details
  • Steps to Reproduce
# System information
uname -a
node --version
npm --version
ntcli --version

# Environment variables
env | grep NTCLI
Most issues can be resolved by re-authenticating (ntcli auth logout && ntcli auth login) or updating to the latest version (npm update -g @nimbletools/ntcli).
I