While work on the varlink-http-bridge for systemd I had this idea that a lot of the tech could be used to build an #MCP for systemd via #varlink. So here it it is: https://github.com/mvo5/systemd-mcp - it auto-discovers systemd's varlink sockets, introspects the IDL, and exposes every method as a typed tool. On a typical system that's 50-80+ tools: units, journals, credentials, factory reset, you name it. What could possibly go wrong :) ? (requires systemd v260+)
Michael Vogt
I like tea and free software
Super excited to join Amutable and work on the next level of secure Linux: https://amutable.com/blog/introducing-amutable 🚀
#amutable #linux #systemd #⊼mutable #integrity
Some cool news about the rust based varlink-http-bridge - its now under the systemd org and @zeenix ported it to zlink in https://github.com/systemd/varlink-http-bridge/pull/7 - many thanks!
I'm exicted to see more rust usage in the systemd org and hope it will keep growing. Help (especially from experienced rust developers) with the varlink-http-bridge is of course always welcome!
@diegovsky @pid_eins Varlink streaming is supported when using the websocket, its pretty nice with the new varlink-protocol feature of systemd v260+: varlinkctl call --more http://localhost:1031/ws/sockets/io.systemd.JournalAccess io.systemd.JournalAccess.GetEntries {}. The regular API does not currently support streaming, I was thinking we could add it via SSE but not fully sure yet