Skip to main content

VME Infrastructure Management CLI Tool - Chat interface with voice commands

Project description

VME MCP CLI

Rich terminal chat interface for VME infrastructure management with voice support.

Installation

# Basic installation
pip install vme-mcp-cli

# With audio support for voice commands
pip install "vme-mcp-cli[audio]"

MCP Server Setup

The VME MCP CLI requires an MCP server to communicate with your VME/Morpheus infrastructure.

Option 1: Local Server (Recommended for development)

# Install the server package from source
git clone https://github.com/frippe75/vme-fastmcp-server-v2.git
cd vme-fastmcp-server-v2
pip install -e packages/vme-mcp-server

# The server will be started automatically by the CLI

Option 2: Remote Server

If you have a remote MCP server running, configure it in your config file:

server:
  servers:
    vme:
      transport: http
      path_or_url: http://your-server:8080

Quick Start

# 1. Create default configuration
vme-mcp-cli config

# 2. Set your API credentials
export VME_API_BASE_URL=https://your-vme.com/api
export VME_API_TOKEN=your-token
export ANTHROPIC_API_KEY=your-anthropic-key
export OPENAI_API_KEY=your-openai-key  # Optional: for voice features

# 3. Start the chat interface
vme-mcp-cli

# Or with debug output
vme-mcp-cli --debug-level 3

Configuration

Config file location:

  • Linux/Mac: ~/.config/vme-cli/config.yaml
  • Windows: %APPDATA%\vme-cli\config.yaml

Default Configuration

llm:
  anthropic_key: ${ANTHROPIC_API_KEY}
  default_provider: anthropic
  default_model: claude-3-5-sonnet-20241022

server:
  servers:
    vme:
      name: "vme"
      transport: "stdio"
      command: "vme-mcp-server"  # Requires server package installed
      env:
        VME_API_BASE_URL: ${VME_API_BASE_URL}
        VME_API_TOKEN: ${VME_API_TOKEN}
        VME_LAZY_LOADING: "true"  # Fast startup with on-demand tool loading

audio:
  enabled: false
  voice: "alloy"  # OpenAI voice options: alloy, echo, fable, onyx, nova, shimmer

ui:
  theme: github_dark
  show_thinking_indicator: true

Environment Variables

The CLI supports environment variable substitution in the config file:

# Required
VME_API_BASE_URL=https://your-vme.com/api
VME_API_TOKEN=your-api-token
ANTHROPIC_API_KEY=your-anthropic-key

# Optional
OPENAI_API_KEY=your-openai-key  # For voice features
VME_LAZY_LOADING=true           # Control server startup behavior
VME_PRELOAD_GROUPS=compute      # Preload specific tool groups

Features

  • 🎨 Rich Terminal Interface - GitHub-inspired dark theme with syntax highlighting
  • 💬 Natural Language Processing - Chat with your infrastructure using plain English
  • 🎙️ Voice Commands - Speak to manage VMs (requires OpenAI API key)
  • 🔧 Progressive Tool Discovery - Start with 18 tools, unlock 500+ on demand
  • 📊 Real-time Status - Visual indicators for thinking, speaking, and operations
  • 🔒 Secure Credentials - Environment variables and encrypted config support
  • Lazy Loading - 70% faster startup with on-demand tool creation
  • 🤖 Multi-LLM Support - Works with Anthropic Claude and OpenAI GPT

Usage Examples

Basic Commands

> What tools are available?
> Show me the appliance settings
> Get current license information

VM Management

> List all VMs
> Create a VM called web-server-01
> Show me VMs in zone tc-lab
> Delete VM with ID 123

Progressive Discovery

> Discover compute infrastructure    # Unlocks 40+ VM tools
> Discover networking capabilities   # Unlocks network tools
> Discover storage capabilities      # Unlocks storage tools

Advanced Operations

> Create a Ubuntu 22.04 VM with 4 CPUs and 8GB RAM
> Show me all available instance types
> What virtual images are available?
> Help me create a web server with specific requirements

Requirements

  • Python 3.10+
  • Anthropic API key (for Claude LLM)
  • VME/Morpheus API credentials (URL and token)
  • OpenAI API key (optional, for voice features)
  • PortAudio (optional, for microphone support)

Audio Setup (Optional)

For voice command support:

Ubuntu/Debian:

sudo apt-get install portaudio19-dev
pip install "vme-mcp-cli[audio]"

Fedora/RHEL:

sudo dnf install portaudio-devel
pip install "vme-mcp-cli[audio]"

macOS:

brew install portaudio
pip install "vme-mcp-cli[audio]"

Troubleshooting

"MCP server not found" Error

If you see this error, install the server package:

git clone https://github.com/frippe75/vme-fastmcp-server-v2.git
cd vme-fastmcp-server-v2
pip install -e packages/vme-mcp-server

Audio Not Working

  1. Ensure PortAudio is installed (see Audio Setup above)
  2. Set your OpenAI API key: export OPENAI_API_KEY=your-key
  3. Enable audio in config: audio.enabled: true
  4. Check microphone permissions

Links

License

Private repository - Internal use only.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vme_mcp_cli-0.1.8.tar.gz (64.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vme_mcp_cli-0.1.8-py3-none-any.whl (77.0 kB view details)

Uploaded Python 3

File details

Details for the file vme_mcp_cli-0.1.8.tar.gz.

File metadata

  • Download URL: vme_mcp_cli-0.1.8.tar.gz
  • Upload date:
  • Size: 64.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for vme_mcp_cli-0.1.8.tar.gz
Algorithm Hash digest
SHA256 8e8e75c1f2608a8456b62c189d826255414875074cbe8a4ab4afecf076f4b6e4
MD5 9e61bf48fe6d41d454782fa096c53c91
BLAKE2b-256 a91f3380da20881f59f67864cdcf27ea81f4f9dd2aaa0125bd0a4d1a73331021

See more details on using hashes here.

File details

Details for the file vme_mcp_cli-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: vme_mcp_cli-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 77.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for vme_mcp_cli-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 8d810a7bbe9d2b2a256687c973b6e5e423381cad4749b42ad72fcd89e7139107
MD5 62192942c22b57a171dd28fa922e7670
BLAKE2b-256 1e755c99f3dc669626d64e834128950db263fbc38899fbe97be13bd104887354

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page