
Research
Supply Chain Attack on Axios Pulls Malicious Dependency from npm
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.
@lanonasis/cli
Advanced tools
Professional CLI for LanOnasis Memory as a Service (MaaS) with MCP support, seamless inline editing, and enterprise-grade security
🎉 NEW IN v3.9.11: onasis memory stats now handles wrapped/partial backend responses without crashing, vendor key secure storage is lazy-loaded so unrelated commands no longer trigger noisy fallback warnings, and the bundled @lanonasis/oauth-client is updated to 2.0.4 for the ESM-safe keychain loader fix.
# Global installation (recommended)
npm install -g @lanonasis/cli
# Verify installation
lanonasis --version # or onasis --version
# Interactive guided setup (recommended for new users)
onasis guide
# Quick manual setup
onasis init # Initialize configuration
onasis login --vendor-key <your-vendor-key> # Authenticate with vendor key
onasis health # Verify system health
# Create your first memory
onasis memory create --title "Welcome" --content "My first memory"
No more external editor dependencies! Create and update memories with a professional inline text editor:
# Create memory with inline multi-line editor
onasis memory create --inline
# Type your content directly in the terminal
# Use arrow keys to navigate, Enter for new lines
# Ctrl+D to save, Ctrl+C to cancel
# Update existing memory
onasis memory update <id> --inline
# Your existing content is preserved and editable
Features:
Automatic MCP server discovery and configuration:
# Connect to local MCP server (auto-configured)
onasis mcp connect --local
# Server path detected automatically
# Configuration persisted for next time
# Check connection status
onasis mcp status
Features:
Interactive setup for new users:
onasis init
# Guided setup walks you through:
# - API configuration
# - Connectivity testing
# - Input mode preferences
# - Troubleshooting if needed
Features:
For instant Claude Desktop MCP integration with OAuth2 authentication, see our Claude Desktop Setup Guide.
Quick Links:
https://auth.lanonasis.com/oauth/authorizeclaude-desktopmcp:full memories:read memories:writeThe guide includes complete OAuth2 configuration, available MCP tools, and troubleshooting steps.
The CLI supports multiple command aliases for different use cases:
| Command | Purpose | Golden Contract |
|---|---|---|
onasis | Golden Contract compliant interface | ✅ Yes |
lanonasis | Standard LanOnasis interface | ✅ Yes |
memory | Memory-focused operations | ✅ Yes |
maas | Memory as a Service operations | ✅ Yes |
# All of these are equivalent:
onasis memory list
lanonasis memory list
memory list
maas memory list
The CLI uses secure local storage and sends credentials in the expected wire format:
X-API-Key over HTTPS.Authorization: Bearer <token> and refresh automatically before expiry.Transport note: for memory commands, keep
manualEndpointOverrides=falseso requests route throughhttps://api.lanonasis.com.
Best for API integrations and automation. Copy the vendor key value exactly as shown in your LanOnasis dashboard (keys may vary in format):
# Full option
onasis auth login --vendor-key <your-vendor-key>
# Short form (for scripts and CI/CD)
onasis auth login -k <your-vendor-key>
Secure browser-based authentication for MCP integration:
onasis login --oauth
Note: OAuth authentication enables MCP integration features (real-time updates, WebSocket connections). For direct CLI memory commands (
memory list,memory create, etc.), use vendor key or credentials authentication.
Traditional username/password authentication:
onasis login # Will prompt for email and password
onasis auth status # Check current authentication (probes live memory API access)
onasis auth logout # Logout from current session
onasis whoami # Display full authenticated user profile
auth status now performs a live end-to-end check:
/health)GET /v1/auth/meonasis whoami displays:
Auth Login Options:
| Short | Long | Description |
|---|---|---|
-k | --vendor-key <key> | Authenticate with vendor key (non-interactive) |
-e | --email <email> | Email for credentials login |
-p | --password <pass> | Password for credentials login |
onasis completion # Shows installation instructions for all shells
# Bash
echo 'source <(onasis --completion bash)' >> ~/.bashrc
# Zsh
echo 'source <(onasis --completion zsh)' >> ~/.zshrc
# Fish
echo 'onasis --completion fish | source' >> ~/.config/fish/config.fish
onasis health # Comprehensive system health check
onasis status # Quick status overview
onasis whoami # Display authenticated user profile (email, role, plan, provider)
onasis init # Initialize CLI configuration
onasis guide # Interactive setup guide
onasis quickstart # Essential commands reference
# List memories
onasis memory list # or: onasis memory ls
onasis memory list --type context --limit 20
# Create memories (non-interactive)
onasis memory create -t "Project Notes" -c "Important information"
onasis memory create -t "Reference" --type reference --tags "docs,api"
# Create memory via JSON payload
onasis memory create --json '{"title":"Design decisions","type":"project","content":"Summary...","tags":["architecture","design"]}'
# Create memory from a file
onasis memory create -t "Session notes" --content-file ./notes.md
# Create memories (interactive)
onasis memory create -i # Interactive mode with inline editor
onasis memory create # Prompts for missing fields
# Search memories
onasis memory search "api integration"
onasis memory search "meeting notes" --type context
# Memory operations
onasis memory get <id> # Get specific memory
onasis memory update <id> -t "New Title" # Update title
onasis memory update <id> -i # Interactive update
onasis memory delete <id> # Delete memory
onasis memory stats # Memory statistics
onasis memory save-sessionSave the current CLI session context (CWD + git branch/status + changed files) as a memory entry so you can persist what you worked on and pick it up later.
--test-summary: Stores a human-readable test result summary (e.g., Vitest: 53 passed, 1 skipped) in the saved session memory.--title: Sets the memory title (default: Session summary).--type: Sets the memory type (default: project).--tags: Comma-separated tags for session metadata (default: session,cli).Examples
onasis memory save-session --test-summary "Vitest: 53 passed, 1 skipped"
onasis memory save-session --title "API client fixes" --type project --tags "session,cli,testing"
See Session management below for related commands.
Sessions are stored as memory entries (tagged session,cli by default). Related commands:
onasis memory save-session
onasis memory list-sessions
onasis memory load-session <id>
onasis memory delete-session <id>
Create/Update Options:
| Short | Long | Description |
|---|---|---|
-t | --title | Memory title |
-c | --content | Memory content |
-i | --interactive | Interactive mode |
--type | Memory type (context, project, knowledge, etc.) | |
--tags | Comma-separated tags | |
--json | JSON payload (title, content, type/memory_type, tags, topic_id) | |
--content-file | Read content from a file |
onasis topic list # List all topics
onasis topic create --name "Development" --color blue --icon "💻"
onasis topic get <id> # Get specific topic
onasis topic update <id> --description "New description"
onasis topic delete <id> # Delete topic
onasis api-keys list # List API keys
onasis api-keys create --name "Integration Key" --scope "memory:read"
onasis api-keys revoke <id> # Revoke API key
onasis api-keys rotate <id> # Rotate API key
# Connection Management
onasis mcp status # MCP server status with health info
onasis mcp connect --remote # Connect to remote MCP server
onasis mcp connect --local # Connect to local MCP server
onasis mcp disconnect # Disconnect from MCP
onasis mcp list-servers # List all connected servers
# Tool & Resource Management
onasis mcp tools # List available MCP tools
onasis mcp resources # List MCP resources
onasis mcp call <tool> --args # Execute MCP tool directly
# Advanced Features (v3.0)
onasis mcp health # Detailed health check with latency
onasis mcp server start # Start local MCP server
onasis mcp server stop # Stop local MCP server
Run the CLI as a standalone MCP server:
# Start MCP server for IDE integrations
lanonasis-mcp-server --verbose
# Use with environment variables
LANONASIS_API_URL=https://api.lanonasis.com \
LANONASIS_TOKEN=your-token \
lanonasis-mcp-server
onasis config list # List all configuration
onasis config get <key> # Get configuration value
onasis config set <key> <value> # Set configuration value
onasis config reset # Reset configuration
onasis service list # List all services
onasis service status # Service status overview
onasis service restart <service> # Restart specific service
onasis deploy status # Deployment status
onasis deploy health # Deployment health check
# Available for all commands
--help # Show command help
--version # Show version information
--verbose # Enable verbose logging
--output <format> # Output format: table, json, yaml, csv
--api-url <url> # Override API URL
--no-mcp # Disable MCP and use direct API
onasis memory list --output json | jq '.data[].title'
onasis health --output json | jq '.status'
export MEMORY_API_URL="https://api.lanonasis.com/api/v1"
export CLI_OUTPUT_FORMAT="json"
export CLI_VERBOSE="true"
Location: ~/.maas/config.json
{
"apiUrl": "https://api.lanonasis.com/api/v1",
"defaultOutputFormat": "table",
"mcpPreference": "auto",
"vendorKey": "<your-vendor-key>"
}
onasis --verbose memory list # Detailed operation logs
onasis -V health # Short flag version
onasis config list # Check current configuration
onasis auth status # Verify authentication
onasis health --verbose # Detailed health information
onasis mcp status --verbose # Detailed MCP diagnostics
onasis --no-mcp memory list # Bypass MCP, use direct API
/.well-known/onasis.jsonpk_*.sk_* format)/mcp/ws)The CLI automatically discovers service endpoints:
# Service discovery happens automatically
onasis health # Uses discovered endpoints for health checks
Every API request includes correlation headers:
X-Request-ID: UUID for request trackingX-Project-Scope: Project scope validationX-Auth-Method: Authentication method usedonasis --help # Validate CLI installation
onasis completion # Test completion system
onasis guide # Test interactive guidance
onasis health # Test API connectivity
onasis memory list --limit 1 # Test memory service
onasis mcp status # Test MCP integration
# Check authentication status
onasis auth status
# Re-authenticate
onasis auth logout
onasis login --vendor-key <your-vendor-key>
# Check system health
onasis health --verbose
# Test API connectivity
onasis --api-url https://api.lanonasis.com/api/v1 health
# Check MCP status
onasis mcp status --verbose
# Disable MCP temporarily
onasis --no-mcp memory list
# Enable maximum verbosity
CLI_VERBOSE=true onasis --verbose health
# Clone CLI source
git clone https://github.com/lanonasis/lanonasis-maas.git
cd lanonasis-maas/cli
# Install dependencies
npm install
# Build CLI
npm run build
# Link for local development
npm link
# Test build
npm run build
# Test CLI functionality
onasis --help
onasis health
MIT License - see LICENSE for details.
Professional CLI for Enterprise Memory as a Service - Golden Contract Compliant
The CLI now supports secure OAuth2 authentication with PKCE (Proof Key for Code Exchange) for browser-based login:
onasis auth login
# Choose: 🌐 Browser Login (Get token from web page)
How it works:
Benefits:
The CLI supports three authentication methods:
🔑 Vendor Key (Recommended for API access)
🌐 Browser Login (OAuth2 PKCE)
⚙️ Username/Password (Direct credentials)
OAuth2 tokens are automatically refreshed when expired:
# Check authentication status
onasis auth status
# Force re-authentication
onasis auth logout
onasis auth login
Port 8888 already in use: The CLI needs port 8888 for the OAuth callback. If it's in use, close the application using it or use the Vendor Key method instead.
Browser doesn't open: The CLI will show the authorization URL - copy and paste it into your browser manually.
Token refresh failed:
Run onasis auth login to re-authenticate.
FAQs
Professional CLI for LanOnasis Memory as a Service (MaaS) with MCP support, seamless inline editing, and enterprise-grade security
We found that @lanonasis/cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.

Security News
TeamPCP is partnering with ransomware group Vect to turn open source supply chain attacks on tools like Trivy and LiteLLM into large-scale ransomware operations.