Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Cml2

FreeNot checked

Thin MCP server for Cisco CML2: openapi.json + generic authenticated REST.

GitHubEmbed

About

Thin MCP server for Cisco CML2: openapi.json + generic authenticated REST.

README

Thin MCP server for Cisco CML2.

It deliberately avoids mirroring the CML API as typed (Pydantic) tools — every prior generation that did so broke when the controller shipped a schema change. Instead this server exposes only:

  • cml_openapi(refresh=False) — fetch CML's live openapi.json (cached 24 h).
  • cml_api(method, path, body=None) — generic authenticated REST call after /api/v0. Re-authenticates and retries once on HTTP 401.
  • Resource cml://openapi.json — same content as cml_openapi().

The model is expected to read the OpenAPI spec first and then craft calls.

Configuration

Required environment:

Var Example
CML_URL https://cml.example.net/
CML_USERNAME admin
CML_PASSWORD

Optional:

  • CML_VERIFY_SSL=true — verify TLS (default: off; CML often uses self-signed certs).
  • CML_CACHE_DIR — token / openapi cache directory (default: ~/.cache/cml/).

The token is written to $CML_CACHE_DIR/token with mode 0600.

Running

With uv directly from the source tree:

uv run cml2-mcp

After publishing to PyPI (or via uv tool install .):

uvx cml2-mcp

Claude Desktop / Claude Code registration

Wrap the command so the password is fetched from a secure store rather than appearing in plain text. Example with macOS Keychain:

{
  "mcpServers": {
    "cml2": {
      "command": "sh",
      "args": [
        "-c",
        "CML_PASSWORD=$(security find-generic-password -a <account> -s <service> -w) exec uvx cml2-mcp"
      ],
      "env": {
        "CML_URL": "https://cml.example.net/",
        "CML_USERNAME": "admin"
      }
    }
  }
}

For Claude Code:

claude mcp add cml2 -- sh -c 'CML_PASSWORD=$(security find-generic-password -a <account> -s <service> -w) exec uvx cml2-mcp'

(Set CML_URL / CML_USERNAME in the same env or via claude mcp add ... -e KEY=VAL.)

from github.com/higebu/cml2-mcp

Installing Cml2

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/higebu/cml2-mcp

FAQ

Is Cml2 MCP free?

Yes, Cml2 MCP is free — one-click install via Unyly at no cost.

Does Cml2 need an API key?

No, Cml2 runs without API keys or environment variables.

Is Cml2 hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Cml2 in Claude Desktop, Claude Code or Cursor?

Open Cml2 on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Cml2 with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs