GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Tags · utmstack/MCP

Tags

v1.0.1

Toggle v1.0.1's commit message
Let the assistant configure the UTMStack connection in-conversation

Adds two MCP tools, configure_server and remove_server, so a user can set up or
change their SIEM connection (URL + API key or username/password) by asking the
assistant — "connect to my UTMStack at ... with API key ..." — instead of
running utmstack-mcp init separately. The change validates against the live API,
writes the same owner-only config file, reloads the registry in-process so it
applies to the current session, and never echoes the stored secret.

This closes the gap the CLI had: the LLM key was already configurable in the CLI
via /connect, but the SIEM connection was not — it required a separate binary.
Now both are reachable from the CLI.

configure_server deliberately cannot set allowAgentCommands. Enabling a remote
SYSTEM shell must stay a deliberate out-of-band action (the config file or the
init wizard), never something reachable from a conversation that may carry
attacker-influenced log content — the same boundary that keeps run_agent_command
opt-in.

Also fixes a real latent bug found by type-checking while adding this: an
earlier change had inserted the bulk-id guard into add_alert_notes, which takes
a singular alert_id, so the function referenced an undefined `alert_ids` and
would have raised NameError on any call. The tool had never been exercised.

The config writer, reader, and Windows ACL logic move to config.py so the
wizard and the new tools share one 0600-from-first-byte code path.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
  • Jul 20, 2026
  • 6fce6b5
  • zip
  • tar.gz
  • Notes
  • Downloads

v1.0.0

Toggle v1.0.0's commit message
Stop the PyInstaller build importing mcp.cli

collect_submodules("mcp") imports every submodule to walk it, including
mcp.cli.cli, which does `import typer` at module scope and calls sys.exit(1)
when it is missing. typer ships only with the mcp[cli] extra, which is not a
dependency — so the build died on every CI runner.

It passed locally only because typer had leaked into the development
virtualenv. Verified the fix by rebuilding in a clean venv containing nothing
but the declared dependencies, which reproduces the CI environment.

We only use mcp.server.fastmcp; mcp.cli is now filtered out of the submodule
walk and excluded from the bundle.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
  • Jul 19, 2026
  • ae32b35
  • zip
  • tar.gz
  • Notes
  • Downloads
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.