cveutils MCP server for a suckless FreeBSD desktop an MCP (Model Context Protocol) server that gives Claude Code system-level tools for managing a suckless/FreeBSD setup. runs as a local stdio MCP server. tools ----- suckless suckless_build build and install a suckless tool (dwm, st, dmenu, etc) suckless_config_read read config.h for a suckless tool suckless_config_write write config.h and optionally rebuild server (debian box via ssh) server_logs docker compose logs for a service server_restart restart a docker compose service server_shell run arbitrary commands via ssh caddy_config_read read the Caddyfile caddy_config_write write Caddyfile and reload caddy packages pkg_search search FreeBSD pkg pkg_install install a FreeBSD package with doas forgejo forgejo_repo_list list repos for a user/org forgejo_create_repo create a new repo forgejo_push_file create or update a file in a repo forgejo_list_issues list issues forgejo_create_issue create an issue forgejo_close_issue close an issue forgejo_delete_file delete a file system battery battery status (apm) wifi_status wifi interface info disk_usage df -h sysctl_get read a sysctl value dmesg_tail last N lines of dmesg proc_list ps aux desktop / X dwm_status set the dwm status bar text dwm_status_read read the current dwm status bar text clipboard_read read X clipboard clipboard_write write X clipboard xwindow_list list open X windows xwindow_focus focus a window by name xprop_focused get X properties of focused window xdotool_key send key combo to focused window xdotool_type type text into focused window xdotool_click click mouse button surf_open open URL in running surf instance screenshot take a screenshot (returns base64 PNG) cmus cmus_status playback status and track info cmus_control control cmus in natural language (play, next, volume up, etc) irc (ii) irc_read read messages from an ii channel log irc_send send a message to an ii channel util wait wait N seconds (useful for dwm bar chat loops) setup ----- cp config.example.js config.js # edit config.js with your values npm install # add to ~/.config/claude/claude_desktop_config.json or equivalent MCP config: # { # "mcpServers": { # "cveutils": { # "command": "/usr/local/bin/node", # "args": ["/path/to/cveutils/server.js"] # } # } # } license ------- ISC