<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Michael R Forrester</title>
    <description>The latest articles on DEV Community by Michael R Forrester (@michaelrishiforrester).</description>
    <link>https://dev.to/michaelrishiforrester</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1095308%2Fc0513c54-9978-4fac-b026-4bbf0b680038.png</url>
      <title>DEV Community: Michael R Forrester</title>
      <link>https://dev.to/michaelrishiforrester</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/michaelrishiforrester"/>
    <language>en</language>
    <item>
      <title>Opinion: Make Friends With Your Users, and Get the Agents Off Their Laptops</title>
      <dc:creator>Michael R Forrester</dc:creator>
      <pubDate>Mon, 12 Oct 2026 20:29:56 +0000</pubDate>
      <link>https://dev.to/michaelrishiforrester/opinion-make-friends-with-your-users-and-get-the-agents-off-their-laptops-2clo</link>
      <guid>https://dev.to/michaelrishiforrester/opinion-make-friends-with-your-users-and-get-the-agents-off-their-laptops-2clo</guid>
      <description>&lt;p&gt;&lt;em&gt;Enforced by Infrastructure, issue 1.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I just gave the MCP governance keynote at MCP Toronto, and I have to tell you:&lt;br&gt;
the main message was not about technology. It was about making friends with your&lt;br&gt;
users, because they're going to have these agents in their hands. The agents are&lt;br&gt;
going to help them find their way around all the little holes and little walls&lt;br&gt;
you haven't put up around your internal infrastructure, because it isn't&lt;br&gt;
production and we don't treat it like production.&lt;/p&gt;

&lt;p&gt;The premise of this whole issue is that people are still at the center of this&lt;br&gt;
technological revolution, and that not putting sensitive things on top of&lt;br&gt;
sensitive things, like running agents inside the end-user space, is still the&lt;br&gt;
thing.&lt;/p&gt;

&lt;h2&gt;
  
  
  What happened when the answer was no
&lt;/h2&gt;

&lt;p&gt;A user wanted an agent to manage their email. Reading mail was approved. Sending&lt;br&gt;
as them was not: the person on the other end expects a human. There was no MCP&lt;br&gt;
server for Outlook, so the user asked the agent whether there was another way.&lt;/p&gt;

&lt;p&gt;There was. Classic Outlook exposes a COM automation interface, scriptable from&lt;br&gt;
PowerShell. The agent wrote the script and read and sent mail through it.&lt;br&gt;
Outlook does guard that interface, but by default it warns only when antivirus&lt;br&gt;
is inactive or out of date, so on a healthy, managed laptop the agent goes&lt;br&gt;
straight through.&lt;/p&gt;

&lt;p&gt;Then the user asked for the same thing in Teams. Told no again, they switched on&lt;br&gt;
remote debugging in Edge, the approved browser, and let the agent drive the&lt;br&gt;
browser through Teams and Outlook. The Edge policy that controls this,&lt;br&gt;
&lt;code&gt;RemoteDebuggingAllowed&lt;/code&gt;, allows debugging unless an administrator sets it.&lt;/p&gt;

&lt;p&gt;You should be treating your users like customers and figuring out how to&lt;br&gt;
delightfully satisfy them, because otherwise they're going to use these same&lt;br&gt;
agents to push the boundaries. Are some of them going to do that anyway? Of&lt;br&gt;
course.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why blocking agents fails
&lt;/h2&gt;

&lt;p&gt;You're not going to know. Classic Outlook is supported until at least 2029, and&lt;br&gt;
open-source MCP servers that drive it over the same COM interface are on GitHub&lt;br&gt;
today. The MCP specification's security policy says that administrators are&lt;br&gt;
responsible for server selection. Of nearly 8,000 live remote MCP servers&lt;br&gt;
measured this year, 40 percent exposed tools with no authentication at all.&lt;/p&gt;

&lt;p&gt;I think those decisions are mainly defensible, but together they mean that the&lt;br&gt;
yes or no is yours. In other words, the people publishing these MCP servers are&lt;br&gt;
not going to stop you. And even more importantly, if you don't have a way of&lt;br&gt;
satisfying your users, they're going to use these agents to figure out a way to&lt;br&gt;
satisfy themselves.&lt;/p&gt;

&lt;p&gt;So does that mean we should take the agents away? No. I'm suggesting an&lt;br&gt;
alternative.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stop putting sensitive things on top of sensitive things
&lt;/h2&gt;

&lt;p&gt;Both workarounds above worked because the agent ran on the same laptop, in the&lt;br&gt;
same security context, with the same identity as Outlook and Edge.&lt;/p&gt;

&lt;p&gt;So why are we running these incredible agents of chaos, also known as coding&lt;br&gt;
agents, locally on endpoint devices that already carry an authentication&lt;br&gt;
context, where the price of a mistake by the user or by us is tremendous? They&lt;br&gt;
are, in a sense, inside the house making the phone call.&lt;/p&gt;

&lt;p&gt;They have access to user mistakes, in an environment where users feel&lt;br&gt;
comfortable and leave tokens and PATs and keys lying around. Even if they don't,&lt;br&gt;
the agents are inside our firewall, in a non-isolated environment where you&lt;br&gt;
somehow have to tell the user's behavior apart from the agent's, while the user&lt;br&gt;
sits there asking it to do things constantly.&lt;/p&gt;

&lt;p&gt;Why? Because we told them to. We told them to experiment.&lt;/p&gt;

&lt;p&gt;I'm not talking about the model. The model can live somewhere else. The agent&lt;br&gt;
harness is sitting inside the system. Why aren't we running it on a remote&lt;br&gt;
system? In my own world, I don't run agents on my laptop. They run on a remote&lt;br&gt;
system, and if I give that system access to anything, it's super explicit,&lt;br&gt;
because it's a server with no OneDrive, no Outlook, no Firefox, no Chrome, and no&lt;br&gt;
PATs lying around. Don't get me wrong, I've made mistakes and left keys out&lt;br&gt;
there. But the agent runs under its own user, separate from mine, with limited&lt;br&gt;
egress.&lt;/p&gt;

&lt;p&gt;Coding agents in particular are some of the most unpredictable pieces of&lt;br&gt;
software we've ever seen, and yet we're putting them on one of the most&lt;br&gt;
unprotected, unreliable, convenience-focused platforms there is: the end-user&lt;br&gt;
device. I'm not saying internal support is bad, and I'm not saying the tools&lt;br&gt;
aren't mature. But are any of us really ready for the full capabilities of AI?&lt;br&gt;
I've seen commands I haven't seen since the '90s: complex chroot and Bash escape&lt;br&gt;
shells I haven't seen since I was a Solaris user.&lt;/p&gt;

&lt;p&gt;So maybe we should all take a step back and think about where we're&lt;br&gt;
prioritizing convenience over security. I am the biggest fan in the world of&lt;br&gt;
giving users what they want. But right now, with how new agents are, how fast&lt;br&gt;
they're moving and how immature our tooling around them still is, it just&lt;br&gt;
doesn't make sense.&lt;/p&gt;

&lt;h2&gt;
  
  
  Here's what I suggest
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Say yes as fast as you can.&lt;/strong&gt; Arrive at a sanctioned path as soon as
possible. If you don't have a yes, have a "not yet": here's the roadmap, we're
working on it, can you help us solve this problem? And I just have to ask your
users: please don't try to force the agent to do something you know is out of
bounds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decide on risk, not on function.&lt;/strong&gt; Read, draft and send are three different
yeses. Split your tools so each one sits at a single risk level. I believe
Anthropic does this, keeping MCP servers that read separate from ones that
write. I can't cite exactly where I heard that, but I think it's still true.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enforce outside the prompt.&lt;/strong&gt; Put the decision where the agent cannot talk
its way past it: the gateway, workload identity, admission control. That holds
until we get singular identities for agents and sub-agents, with their own
scoping and control, on the end-user device. I'm thinking of something like
AppArmor or SELinux for end-user devices.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run the agent harness off the endpoint.&lt;/strong&gt; Give it a remote machine, grant it
very limited egress, and grant MCP servers and data to it explicitly.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;On the laptops that remain, close the doors to these workarounds: set&lt;br&gt;
&lt;code&gt;RemoteDebuggingAllowed&lt;/code&gt;, and tighten the Outlook programmatic-access guard&lt;br&gt;
rather than leaving it on the antivirus default.&lt;/p&gt;

&lt;p&gt;I know we're going to discover these things as we go, but that's not going to&lt;br&gt;
help. We are not ready. And the one simple move of taking the agent off the&lt;br&gt;
endpoint gives you so much breathing room.&lt;/p&gt;

&lt;h2&gt;
  
  
  The message
&lt;/h2&gt;

&lt;p&gt;If you ask me what the technical message was behind how you govern MCP for a&lt;br&gt;
workforce the size of a city, it's this: make friends with your users. Oh, and&lt;br&gt;
if you want a technical answer, move those chaotic little Tasmanian devil coding&lt;br&gt;
agents off to their own isolated desert, so they can't wreck your luscious city&lt;br&gt;
of end-user computing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://mcp.michaelrishiforrester.com/" rel="noopener noreferrer"&gt;Slides and links from the Toronto keynote&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm Michael Forrester. Feel free to completely lambaste this article and take it&lt;br&gt;
apart. I'd love to hear from you.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>security</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
