Everything below lives on GitHub at github.com/sandymac. Most of it is infrastructure glue — the sort of thing written because it was needed, then published in case it's useful to someone else.
MCP Servers
A set of Model Context Protocol servers written in Rust, letting an LLM agent drive a self-hosted media pipeline end to end.
myanonamouse-mcp
An MCP server for querying MyAnonamouse.net. Moderately complete — future versions will mostly refine what's there. Rust, MIT licensed.
deluge-torrent-mcp
An MCP server for controlling the Deluge BitTorrent client — adding torrents, inspecting state, renaming files, and moving storage. Currently in an enhance-and-refine phase. Rust, MIT licensed.
audiobookshelf-mcp
An MCP server for controlling Audiobookshelf. Still evolving. Rust, MIT licensed.
Grav Plugins
grav-plugin-mcp-server
Serves a Model Context Protocol endpoint directly from a Grav 2 site over Streamable HTTP, so a site editor can manage pages, media, configuration, users, translations and packages with the AI tool of their choice. Works as a hosted connector — claude.ai and other OAuth-capable clients — through a built-in OAuth 2.1 authorization server with per-permission consent, or with a static API key from a CLI or desktop client such as Claude Code.
A thin translation layer over grav-plugin-api: every tool call dispatches in-process through that plugin's router, so its permission scopes, page ACLs, ETag conflict handling, audit trail and rate limiting apply unchanged, and a connected client sees only the tools its account's permissions allow. Tracks the API plugin's REST surface for feature parity — more than sixty tools across twelve domains, plus resources and prompts — and other plugins can publish their own tools through a small manifest, as Flex Objects does. This site runs it, and it installs from Grav's package manager as mcp-server. PHP, MIT licensed. Write-up here.
Agent Skills
skills
Public repository for Agent Skills — reusable procedural instructions that teach an agent domain-specific conventions, such as how to organize an audiobook or lecture library. MIT licensed.
Archive
Older work, kept online for reference but no longer maintained.
gentoo-overlay
A Gentoo overlay for packages worth the trouble of packaging. Shell, Unlicense. Archived.
qnap-tinc
A tinc VPN package for QNAP NAS platforms. Shell. Archived.
punch-html-fragment-content-parser
A content parser for the Punch static site generator that passes HTML fragments straight through. JavaScript, WTFPL. Archived.