Human Who Codes Newsletter - Agents and MCP


Agents and MCP

Last month, Visual Studio Code officially launched agent mode. While similar features existed in VS Code forks like Cursor and Windsurf, this release put agents into the hands of the wider developer community. The result? A surge of interest in agents, and in MCP, as developers began experimenting at scale. It may be the most important milestone since GitHub Copilot first arrived, marking a real leap forward in how we build software.

So, what is an AI agent? It's a program powered by a large language model (LLM) and other tools, designed to accomplish a goal. Think of a real-world agent for an athlete or actor. They don’t ask for step-by-step instructions; they use judgment to get results and check back when it’s done. AI agents work the same way: you tell them what you want, and they figure out how to make it happen, whether that means searching the web, analyzing your codebase, or running tests.

What sets agents apart from earlier AI tools is autonomy. Before, you had to walk the AI through each step, building individual components by hand. Now, agents can understand your codebase and work from higher-level instructions like, “Let users change their password.” In some cases, they can even scaffold a full draft of an app. It can do that using any tools made available to the agent, and that’s where MCP comes in.

Model Context Protocol (MCP), developed by Anthropic (creators of Claude), defines how agents can access external capabilities. MCP introduces three key components—each playing a different role in how agents interact with the world around them:

  • Tools – Actions the agent can take that have real-world effects, like calling an API or updating a database. Think of them like POST requests in REST.
  • Resources – Data sources the agent can query, similar to GET requests. Resources let agents pull in knowledge they weren’t trained on.
  • Prompts – Pre-built templates that help users phrase instructions. They guide interactions with the agent and make it easier to trigger the right tools or resources.

MCP servers make it easy to give AI agents access to your internal knowledge and systems without retraining a model. Instead of fine-tuning an LLM, you can expose docs as resources or create tools that connect to existing services. It’s a faster, cheaper way to build smart, domain-aware agents.

All in all, the combination of agent mode and MCP is opening up a new chapter in how developers work with AI. Instead of just helping out with code snippets or suggestions, agents can now take on real tasks and make informed decisions using the tools and data you provide. It’s a shift from assistance to collaboration—and if the momentum from the past month is any indication, this approach is quickly becoming the new normal for modern software development.

Key Takeaways

  • With the official launch, AI agents are now widely available to developers, not just those using niche forks. It’s a major shift that feels as impactful as the debut of GitHub Copilot.
  • Unlike older AI tools, agents can interpret goals, inspect your codebase, and figure out the right steps on their own. You tell them what you want done and they handle the how.
  • MCP gives agents structured access to tools, data, and prompts, so you can extend their capabilities without retraining a model. It’s a practical way to build smarter, more useful agents fast.

Understanding JavaScript Promises

I just updated my e-book, Understanding JavaScript Promises, for 2024! It now includes information about Promise.withResolvers() and a whole new chapter on using and creating abortable functions.


Stuff I've Enjoyed this Month

📝 Jumping the line: How MCP servers can attack you before you ever use them by Trail of Bits Blog
With every new technology there are security holes that malicious actors can exploit, and MCP is no different. This article explains how malicious MCP servers can inject prompts into an LLM to cause damage. I expect the MCP protocol to adapt to cover this vulnerability soon.

🎬 VS Code agent mode just changed everything by Visual Studio Code
As already discussed, Visual Studio Code released Copilot agent mode this past month and this video gives an overview of what it is an how to use it effectively.

📖 The Graveyard Book by Neil Gaiman
I've never been much of a fiction reader but decided to give this book a try. I almost instantly fell in love. This is such a light, fun read that doesn't have any of the weight associate with most fiction books. If you're looking to get into fiction, this is a good place to start. Also, the Audible audiobook is amazing.

📝 The surprising truth about pixels and accessibility by Josh W. Comeau
This long articles is a deep-dive into the question of whether you should ever use pixels in CSS or if you should just use rems/ems. Must-read if you care about accessibility and design.

🎬 Getting started with the Model Context Protocol by Matt Pocock
This quick, two-minute video explains all of the basics of setting up a TypeScript MCP server. I'm impressed at just how much information is crammed into this video.

📝 About dark energy and dark matter: forces that shape an architecture by Chris Richardson
This article breaks down the decision-making process for architectures, primarily around monolithic or microservice-based architectures, into dark energy (pro-microservice) and dark matter (pro-monolith). This is a handy framework to think through on your next design.


What I'm Working On

🏠 Real Estate: It has been a slow month, thankfully. One of the apartment complexes I invested in was sold and I got my final return. This was the first syndication I invested in and it was a bumpy ride thanks to all the interest rate changes. I also loaned someone some money for a rehab project and they not only didn't pay me back but ghosted me. Now I'm getting a firsthand tour of the legal system as it relates to real estate. Follow my Instagram for real estate photos.

📝 Blog: I wrote about using Crosspost and Claude to post across multiple social media networks.

💻 Freelancing: I'm doing some freelance coding these days (10-15 hours per week). I'd love to work on your JavaScript, open source, AI, or any other project you think I could help with. Reply to this email if you have something in mind.

💻 Open Source:

  • I updated Crosspost, my utility for posting across multiple social networks, to generate URLs for the just-posted messages where possible. These are displayed to the user when using the built-in MCP server.
  • I added full support for redirects to Mentoss, my utility for mocking out fetch requests and responses. This means Mentoss now fully supports CORS, making it a suitable testing environment for debugging CORS issues without the hassle of setting up two different servers.

💻 ESLint: The two things I've been spending time on are:

  • I added an MCP server to ESLint. That means you can now use ESLint from your favorite IDE-based AI agent. In most cases the LLMs are really good at fixing errors that it finds.
  • I've started doing some boring but much needed refactoring of the ESLint core. These steps are necessary to prepare for a complete core rewrite, as I pull apart the giant mess that we currently have.

Coaching for Tech Leads and Staff+ Engineers

If you're a tech lead or staff+ engineer, chances are your manager has no experience in your role. While they may be well-intentioned, they may not know how to help you grow in such a challenging position.

That's where working with me can help. As a former tech lead and principal engineer at multiple companies, I learned firsthand the ins and outs of these roles. I work with my clients one-on-one to develop their leadership, communication, organization, and problem-solving skills to succeed in the upper ranks of the individual contributor track.

Human Who Codes Newsletter

A once-per-month newsletter discussing topics important to senior-level software engineers, with a particular focus on frontend technology and leadership.

Read more from Human Who Codes Newsletter

Thoughts on Getting Stuff Done One of this newsletter's main themes is the importance of the non-coding side of software engineering. Sure, knowing how to program gets you through the door with an entry-level job, but that skill alone only takes you so far—maybe to senior software engineer. Beyond that, you need to grow in areas like leadership, communication, and negotiation. CTOs and chief architects don’t spend their days buried in code; they get there by proving they can do one thing...

Human Who Codes logo

Thoughts on AI-First Development I spent the past month diving into Copilot Edits, testing whether I could go fully AI-first on my personal projects. Instead of jumping in and coding right away when I had an idea, I let Copilot take the first pass by following my instructions. What sets Copilot Edits apart from earlier versions is its ability to make changes across multiple files—not just suggest edits in a single one. Could this actually save me time and effort? Spoiler: yes, and in a big...

Thoughts on People Skills roles that require more interaction with our colleagues and customers. It’s at that point where a software engineering role shifts from primarily code-based to primarily people-based, and all of a sudden, it’s a different job. Previously, transitioning to a people-focused role took over five years and typically involved several promotions. However, with the advent of AI in software engineering, this timeline is shortening significantly. Companies once hired mediocre...