initial commit
This commit is contained in:
parent
75a13eb482
commit
0b4d4b4bc1
1 changed files with 85 additions and 0 deletions
85
README
Normal file
85
README
Normal file
|
|
@ -0,0 +1,85 @@
|
||||||
|
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
|
||||||
Loading…
Reference in a new issue