Summarize with AI:
Let’s sort out the differences between MCP servers, AI agents or assistants, and AI skills.
If you’ve been working with AI tools lately, you’ve probably noticed that there are a lot of ways we can expand the capabilities of our models to get better, more focused results in a specific domain. Many of the popular developer tools and libraries now offer their own MCP (or Model Context Protocol) servers, AI agents or assistants, or AI skills—but what’s the difference between these, and where do the fit into your AI workflow? Let’s break it down.
AI Agents are capable of advanced reasoning and actions beyond that of a standard model. Originally, tool usage was the defining characteristics to consider something “agentic,” but the lines are beginning to blur as the features of user-facing conversational models become more and more advanced. These days, when someone is discussing an “agent” or using a model in “agentic mode,” what they usually mean is that the system is capable of proactive autonomous function—the ability to perform multiple steps and work without human instruction.
What does “advanced reasoning” mean when we’re talking about generative AI? Most often, this is referring to an agent’s ability to use step-by-step “thinking” to break down a task into a series of smaller actions, create a plan and execute on it.
For example: it may seem like a fairly straightforward task (for a human) to “Add a one-hour meeting called ‘Q3 KPI Review’ to my calendar for 3 p.m. this Tuesday afternoon and invite Mandy.” But in reality, it involves a great many sub-steps. What day is it today and what is the date of “this” Tuesday? Do I have any tools that allow me to update calendars? What are the login credentials to access that calendar? Is there already anything booked in that time slot? Do I have any tools that allow me to read the user’s address book? Is there a contact named Mandy saved there? What is their email address?
AI assistants are agents that have been specialized to help a user complete tasks (usually within a specific domain). For example, a coding assistant can help users generate, review and implement code, while a scheduling assistant might help users manage their daily appointments and calendar updates. Assistants also tend to be less autonomous; while they are capable of tool use and chain-of-thought processing, they’re generally designed to work with a user in a more collaborative way: responding to requests, handling inputs and making suggestions.
It would be fair to characterize agents as proactive and assistants as reactive. An agent might notice you have a calendar conflict and automatically rearrange your schedule, whereas an assistant could notice the conflict and send an alert about it, but not autonomously take action.
However, like many AI technologies right now, the line between agents and assistants is thin and ever-changing. Most tools you encounter will sit somewhere on the agent/assistant spectrum, depending on how they’re designed and integrated.
MCP Servers are a way for products or applications to share information or capabilities with AI models via a standardized protocol. If you’re building something that you want AI models to be able to make use of or interface with, then an MCP Server is (at least for now) the best way to facilitate that. The MCP documentation identifies three core “building blocks” of functionality that MCP servers can provide: tools, resources and prompts.
Agent skills are a lightweight way to provide helpful context and workflows to AI agents without the need to create a full MCP Server. Let’s say we ask our AI agent to perform the same task each week: we give it a list of our to-dos for the week (including deadlines) and ask it to estimate how long it will take to complete each one and then organize the list by priority and time requirement. We could walk the agent through this task every week, answering its follow-up questions and reminding it of standard information (like how many hours we work in total, or how long it’s taken us in the past to complete similar work) … or we could write a skill that contains all this information and the step-by-step workflow it needs to complete the task.
Skills are markdown files that agents can reference like tools in order to complete tasks. Similarly to tools, a skill includes a name and brief description that will be used by the agent to assess when it’s relevant to leverage. Unlike tools, skills do not add new capabilities to an agent—they only provide the context and detailed instructions that can help an agent use the capabilities they already have more effectively.
You can think of it like the assembly instructions for flatpack furniture: the instructions tell you when and how to use a screwdriver to put together this desk … but they won’t include the actual screwdriver. To truly extend this metaphor to the breaking point—you can either use a screwdriver you already own (leveraging the agent’s innate capabilities) or you can go get one (making use of an MCP Server), but the skill will only tell you when to use it in this particular project. But, you can follow those detailed instructions multiple times to complete the same task again and again!
Kathryn Grayson Nanz is a developer advocate at Progress with a passion for React, UI and design and sharing with the community. She started her career as a graphic designer and was told by her Creative Director to never let anyone find out she could code because she’d be stuck doing it forever. She ignored his warning and has never been happier. You can find her writing, blogging, streaming and tweeting about React, design, UI and more. You can find her at @kathryngrayson on Twitter.