<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Open Builds on Blundersurfer</title>
    <link>https://blundersurfer.com/projects/builds/</link>
    <description>Recent content in Open Builds on Blundersurfer</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>© 2026 Blundersurfer</copyright>
    <lastBuildDate>Sun, 19 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blundersurfer.com/projects/builds/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>IT Ops because I&#39;m lazy</title>
      <link>https://blundersurfer.com/projects/builds/servermonkey/</link>
      <pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blundersurfer.com/projects/builds/servermonkey/</guid>
      <description>Servermonkey is an MCP to help your agent do your IT ops for you.</description>
      <content>&lt;p&gt;&lt;a href=&#34;https://github.com/blundersurfer/servermonkey&#34;&gt;Get Servermonkey&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;overview&#34;&gt;Overview.&lt;/h2&gt;
&lt;p&gt;I have a problem. My project list is far too long. I have a ton of tools I want to deploy, capabilities to expand into and dependencies for my lab. All of this would be fine, but I&amp;rsquo;m short on time, and picky about my lab. So what&amp;rsquo;s the answer for me? Lower the energy needed to stand up and maintain services in my lab. Luckily I&amp;rsquo;ve got a new Proxmox host and an AI agent. So enter servermonkey. This is my attempt to be comfortable letting my AI agent make changes to my environment.&lt;/p&gt;
&lt;h2 id=&#34;what-do-i-want-to-do&#34;&gt;What do I want to do?&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Prevent the Agent from doing anything dangerous enough to bother me&lt;/li&gt;
&lt;li&gt;Limit the scope of issues of it does go sideways&lt;/li&gt;
&lt;li&gt;The agent needs enough permissions to do useful things&lt;/li&gt;
&lt;li&gt;The solution should be a building block. The goal isn&amp;rsquo;t to deploy stuff, it&amp;rsquo;s do do stuff with the deployed stuff.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;so-what-did-i-do&#34;&gt;So what did I do?&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Give access tokens to my AI Agent&lt;/li&gt;
&lt;li&gt;Limit the access tokens to create, configure and start, but not stop or destroy resources. This limits the amount of cleanup I have to do.&lt;/li&gt;
&lt;li&gt;Persistent durable data is stored on my NAS through a SMB share so I don&amp;rsquo;t need to worry about the container volume being destroyed&lt;/li&gt;
&lt;li&gt;When in doubt or if access is limited the AI gives me the commands to run to perform an action. Ex: If my agent can&amp;rsquo;t ssh into a container I have to install ssh, configure the service and add the key first. This is usually a set of pct commands that take a minute or two to run. It&amp;rsquo;s annoying, but just annoying enough for me to read the bash scripts.&lt;/li&gt;
&lt;li&gt;The containers are only available locally. Network segmentation via VLAN, ID&amp;rsquo;s and meta data that indicate it an AI container, and a planning process to choose secure, widely used applications all limit the attack surface of the resource.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The goal here is to move quicker with less hassle. If it&amp;rsquo;s important enough for me to worry about it I should plan the deployment better.&lt;/p&gt;
&lt;h2 id=&#34;criticisms&#34;&gt;Criticisms&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&amp;ldquo;But isn&amp;rsquo;t this automating deploying a template and syncing from a repo?&amp;rdquo; Yes yes it is, when it works well. When there are issues telling the robot to &amp;lsquo;go fix it&amp;rsquo; takes the cognitive load off of creating tech debt for myself&lt;/li&gt;
&lt;li&gt;&amp;ldquo;It sounds like you don&amp;rsquo;t care about the services you&amp;rsquo;re installing.&amp;rdquo; Yep, the services are disposable and serve to solve a problem I have as quickly and as friction less as possible.&lt;/li&gt;
&lt;/ol&gt;
</content>
    </item>
    
  </channel>
</rss>
