CloudMesh AI

by cloudmesh-ai

Not rated
GitHub

About

Vendor-neutral gate between AI agents and production infrastructure. Deterministic policy engine, human-in-the-loop approval with diffs, JSONL audit log, graduated autonomy via empirical track record.

Details

Author
cloudmesh-ai
Categories
Developer Tools

Setup

Install CloudMesh AI in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/cloudmesh-ai/cloudmesh-ai-cmc

Follow the installation instructions in the repository README, then restart your MCP client.

- API Reference- Full technical documentation of all modules.

cloudmesh-ai-cmcis an extensible Command Line Interface (CLI) framework designed to integrate AI-driven tools and custom extensions seamlessly. It serves as the central orchestrator for the Cloudmesh AI ecosystem, providing a robust registry system for managing commands and a developer-friendly environment for rapid extension creation.

Thecmctool serves as a central hub for AI extensions. Whether you are performing system diagnostics, generating documentation, or running speed tests,cmcprovides a consistent interface to interact with various AI models and tools.

Its core strength lies in itsExtension Registry, which allows you to load plugins from:

- Core: Built-in extensions bundled with the package.
- Pip: Extensions installed viapipusing entry points.
- Registry: Local extensions registered via a path on your filesystem.

Usage: cmc [options] <command> [args]... cmc -h | --help Options: -h, --help Show this screen. --debug Enable verbose debug logging for troubleshooting. Commands: cmc command list List all registered AI extensions. cmc command load <path> Register and load a new command. cmc command activate <name> Activate a registered command. cmc command deactivate <name> Deactivate a registered command. cmc command unload <name> Remove a command from the registry. cmc command create <name> Create or expand a CMC command. cmc command man <name> Display the manual for CME commands. cmc version Display current version and extensions. cmc completion [--install] Generate or install shell completion. cmc shell Enter an interactive CMC shell. cmc docs Display framework documentation. cmc logs [--command <name>] [--status <status>] [--since <days>] [--limit <n>] [--format <fmt>] [--summary] View and analyze telemetry logs. cmc doctor Perform a system health check. cmc tree Display directory structure visually. cmc time Stopwatch commands for execution time. cmc time start <id> Start or resume a stopwatch. cmc time stop <id> Stop a stopwatch. cmc time rm <id> Remove a stopwatch. cmc time clean Erase all stopwatches. cmc time list List all stopwatches and elapsed times. cmc config Manage CMC configuration. cmc config get <key> Retrieve a configuration value. cmc config set <key> <val> Update a configuration value. cmc config list Show all current configurations. cmc telemetry Manage and view AI telemetry data. cmc telemetry on Enable telemetry collection. cmc telemetry off Disable telemetry collection. cmc telemetry list [--command <name>] [--status <status>] [--since <days>] [--export <fmt>] List and filter telemetry records. cmc markdown Markdown utility tools. cmc markdown fix <file> Fix formatting issues in a file. cmc sys System information and diagnostics. cmc sys info Display system information.

- Lazy Loading: To ensure near-instant startup times,cloudmesh-ai-cmcimplements a lazy-loading mechanism. Extension code is only imported into memory at the moment the specific command is invoked.
- Dynamic Extension Management: Extensions can be loaded from pip-installed packages (via entry points) or dynamically from local filesystem paths.

- Rapid Scaffolding: Thecmc command createutility eliminates boilerplate friction by instantly generating the required directory structure.
- Flexible Integration Patterns: Supports multiple registration styles:

- Simple: Function-based entry points for quick tools.
- Advanced: Theregister(cli)pattern for complex, nested command groups usingclick.

- Terminal-Native Docs: Thedocscommand renders formatted Markdown directly in the terminal usingrich.
- Integrated Man Pages: Every extension can provide a detailed manual page accessible viacmc man <command>.

Note:cmcis primarily developed on Linux and macOS. As the developers do not use Windows (PowerShell), we strongly recommend usingGit BashorWSL2for the best experience on Windows.

For the best experience with CLI tools, usepipxto installcloudmesh-ai-cmcin an isolated environment. This prevents dependency conflicts and automatically adds thecmccommand to your PATH.

If you prefer a standard installation in your current environment:

Git Bash / WSL2: Follow the Linux installation steps.

PowerShell/CMD: It is recommended to use a Python virtual environment:

python -m venv venv .\venv\Scripts\activate pip install cloudmesh-ai-cmc

For complex commands, the following options are available:

View and analyze the CMC telemetry logs.

- --command <name>: Filter logs to show only a specific command.
- --status <status>: Filter by execution status (e.g.,SUCCESS,FAILURE).
- --since <days>: Show records from the last N days.
- --limit <n>: Limit the number of records displayed (default: 100).
- --format <fmt>or-f: Output format. Options:table(default),json,csv.
- --summary: Generate a performance summary including success rates and average durations.

- --command <name>: Filter by command name.
- --status <status>: Filter by status (e.g.,completed,failed).
- --since <days>: Filter records from the last N days.
- --export <fmt>: Export results to a file. Options:json,csv.

Update a configuration value. The framework automatically casts values:

- true/false$\rightarrow$ Boolean
- Digits $\rightarrow$ Integer
- Decimals $\rightarrow$ Float
- Others $\rightarrow$ String

CMC provides native shell completion for Bash, Zsh, and Fish to accelerate command entry and discovery.

The easiest way to set up completion is to use the built-in install flag:

This command detects your current shell and appends the necessary activation script to your profile (e.g.,~/.bashrc,~/.zshrc, orconfig.fish).

If you prefer to manage your profile manually, add the following line to your shell configuration file:

- Bash:eval "$(_CME_COMPLETE=bash_source cmc)"
- Zsh:eval "$(_CME_COMPLETE=zsh_source cmc)"
- Fish:eval (_CME_COMPLETE=fish_source cmc)

After installation or manual editing, reload your shell profile to activate completion immediately:

# For Bash/Zsh source ~/.bashrc # or ~/.zshrc # For Fish source ~/.config/fish/config.fish

Alternatively, you can simply restart your terminal.

If completion is not working after following the steps above:
- Verify Installation: Runcmc completionto see the recommended activation string for your current shell.
- Manual Test: Try running the activation string directly in your terminal (e.g.,eval "$(_CME_COMPLETE=zsh_source cmc)"). If this produces an error, ensurecmcis in your systemPATH.
- Zsh Specifics: If you are using Zsh, ensure you havecompinitinitialized in your.zshrc(usually viaautoload -Uz compinit && compinit).
- Shell Restart: In some environments, a full terminal restart is required for the shell to recognize new completion functions.

The registry allows you to control which AI tools are available.

# View all available extensions and whether they are active cmc command list # Load a custom extension you are developing locally cmc command load /Users/grey/work/my-ai-extension # Toggle a command's availability cmc command activate speedtest cmc command deactivate speedtest

To start a new extension, use the scaffolding command:

Thecmc shellprovides an immersive environment for interacting with the CMC ecosystem without needing to restart the CLI for every command.

- Tab Completion: Intelligent autocomplete for all registered CMC commands, sub-commands, and internal shell utilities.
- Persistent History: Command history is saved to~/.config/cloudmesh/ai/cmc_history, allowing you to recall previous commands across sessions.
- Dynamic Updates: The command completer is refreshed on every loop, meaning newly added or enabled plugins are immediately available for autocomplete.

In addition to standardcmccommands, the shell supports several built-in utilities:

# 1. Enter the interactive shell cmc shell # 2. Inside the shell, run a CMC command (with tab completion) cmc> version # 3. Set a session variable for a plugin cmc> set MODEL_NAME=gpt-4o # 4. Run a command that uses that variable cmc> doctor # 5. View recent history cmc> h 5 # 6. Exit the shell cmc> exit

cmcuses a YAML configuration file located at~/.config/cloudmesh/ai/cmc.yaml.

You can override any configuration setting using environment variables with theCMC_prefix. Dot-separated keys are converted to underscores and uppercase.

- telemetry.path$\rightarrow$CMC_TELEMETRY_PATH
- logging.level$\rightarrow$CMC_LOGGING_LEVEL

# Override log level for a single execution CMC_LOGGING_LEVEL=DEBUG cmc doctor

cmcuses a configurable logging system. You can control the granularity of the output using theCMC_LOGGING_LEVELenvironment variable or the--debugflag.

- ERROR: Only critical errors are shown.
- WARNING: Errors and potential issues are shown (Default).
- INFO: General operational messages.
- DEBUG: Detailed diagnostic information, including extension loading and validation steps.

Best for single-purpose tools. Define aclickcommand in your module:

import click version = "0.1.0" description = "My awesome AI extension" dependencies = [] # List of other plugin names this plugin depends on @click.command() def entry_point(): """Plugin description here.""" click.echo("Hello from the new plugin!")

2. Advanced Extension (TheregisterPattern)

Best for complex tools with sub-commands. Implement aregisterfunction:

import click @click.command() def start(): click.echo("Service started!") def register(cli): @cli.group(name="myservice") def service_group(): """Manage the custom service.""" pass service_group.add_command(start)

CMC includes a built-in telemetry system to track AI tool performance and reliability.

Every command execution captures: Duration: Total execution time in seconds (duration_sec). Status:started,completed, orfailed. System Context: CPU model, GPU presence/model, and total memory. Custom KPIs: Extension-specific metrics passed to the telemetry sink.

Telemetry can be routed to multiple sinks: JSONL: Structured logs for machine ingestion. SQLite: Relational storage for complex querying. *Text: Human-readable logs for quick debugging.

To disable telemetry globally, set the following environment variable:CLOUDMESH_AI_TELEMETRY_DISABLED=true

# View the global AI documentation index cmc docs # View the specific manual for the speedtest tool cmc man speedtest

The CMC framework uses a delegating registry to maintain a small memory footprint while supporting a vast library of tools.

graph TD A[User Input: cmc <cmd>] --> B[SubcommandHelpGroup] B --> C{Is Command Lazy?} C -- Yes --> D[LazyCommand Registry] D --> E[importlib.import_module] E --> F[DelegatingCommand Wrapper] C -- No --> G[Direct Execution] F --> H[Extension Logic] G --> H

TheDelegatingCommandwrapper is critical for enterprise stability; it isolates the core framework from extensions that may have been compiled against different versions of theclicklibrary, preventing runtime type-mismatch crashes.

Q: I installed a pip extension, butcmcdoesn't see it.A: Ensure the package defines thecloudmesh.ai.commandentry point in itspyproject.tomlorsetup.py. Runpip listto verify installation.

Q: I'm seeing "Click version mismatch" errors in debug logs.A: This is normal. CMC usesDelegatingCommandto wrap these extensions, ensuring they still execute correctly despite version differences.

Q: How do I debug a failingcommand load?A: Run the command withCMC_LOG_LEVEL=DEBUG. The logs will show exactly where theimportlibfailure occurred during the lazy-load attempt.

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Create crafted UI components inspired by the best 21st.dev design engineers.

Bring agent evaluations, observability, and synthetic test set generation directly into your IDE for free with Galileo's new MCP server

An MCP server to help AI assistants to answer questions and generate AccelByte Extend SDK code more effectively .

MCP server for AI Diagram Maker — generate beautiful software engineering diagrams directly inside Cursor, Claude Desktop, Claude Code, or any MCP-compatible AI agent

ALAPI MCP Tools,Call hundreds of API interfaces via MCP

AI-powered SVG animation generator that transforms static files into animated SVG components using the Allyson platform

MCP server that gives AI assistants on-demand access to 1,500+ amCharts docs, ~300 code examples, and 1000+ class API references.

APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by leveraging APIMatic’s API.

One shared context layer for AI agents and humans — live API specs, DB schemas, and versioned contracts across repos so every agent and teammate works from the same source of truth.

Build and deploy full-stack Next.js apps with 98 tools for React, AWS, and MongoDB

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.