Use Agent Skills, NOT MCP
Show notes
Infographics built with https://buildmygraphic.com/ Website: https://maximilian-schwarzmueller.com/
Socials: 👉 Twitch: https://www.twitch.tv/maxedapps 👉 X: https://x.com/maxedapps 👉 Udemy: https://www.udemy.com/user/maximilian-schwarzmuller/ 👉 LinkedIn: https://www.linkedin.com/in/maximilian-schwarzmueller/
Want to become a web developer or expand your web development knowledge? I have multiple bestselling online courses on React, Angular, NodeJS, Docker & much more! 👉 https://academind.com/courses
Show transcript
00:00:00: As a developer, using AI efficiently can be quite
00:00:03: got a bit easier because you can safely ignore MCP, the Model Context
00:00:07: Protocol, now, and I'll explain why.
00:00:09: The Model Context Protocol was already introduced in 2024
00:00:13: behind it sounds pretty good. The idea is that large language
00:00:16: models on their own are dumb. They're just producing tokens,
00:00:20: always will. So they're producing tokens.
00:00:23: They don't know anything. And the reason why ChatGPT, for example,
00:00:27: now much better than it was when it was initially released is not only
00:00:30: because models got smarter or better but mostly
00:00:34: because ChatGPT now has tools included, like web
00:00:38: search or the capability to execute code.
00:00:41: And the idea behind MCP simply was to make it easier to expose new
00:00:45: tools to large language models. Sounds like it makes sense, right?
00:00:48: Yeah, sounds like it does but it doesn't unfortunately because one
00:00:52: is, or two big problems with MCP actually are
00:00:55: that you can't give them a lot of tools.
00:00:59: If you start adding, like dozens of MCP servers to your
00:01:03: AI application, chances are that it will just
00:01:07: not use any of these tools or use them in the wrong way because
00:01:11: polluting that context with all that MCP information because all these
00:01:14: MCP servers, of course, need to expose information about the tools
00:01:19: they provide and about the resources they provide and that can quickly lead to a
00:01:23: situation where you're making your AI application dumber
00:01:26: instead of smarter. So that's one problem.
00:01:28: Another problem is that you have to hope that the AI uses
00:01:32: certain tools or you have to kind of tell it, "Hey, please use that MCP
00:01:36: server to get a certain task done," which, eh, works but
00:01:40: is not really ideal and then there's another maybe even
00:01:44: bigger problem when it comes to MCP and development,
00:01:48: on here. As a developer when it comes to tools like Cursor there
00:01:52: only so many things you want your AI to do.
00:01:56: That might be spinning up a browser looking at the website.
00:01:59: That might be querying a database to see if some data has been
00:02:03: inserted. That might be to reach out to some
00:02:06: documentation. Maybe there also is some Git-related stuff and
00:02:10: that's it then. Now the bad news for the MCP fans are
00:02:15: you don't need MCP for any of that. Cursor and all these other AI
00:02:18: coding tools already have web search built in or the
00:02:23: capability to send a request to some website and fetch the
00:02:26: content to read it so they can already visit websites.
00:02:29: No MCP needed for that. They already have browser use
00:02:33: implemented. Cursor has at least.
00:02:35: It can spin up a browser and view it and work with it and
00:02:39: navigate it for you. They can use the command line
00:02:43: interact with Git which allows them to interact with a
00:02:47: can do all these things already and that's the reason why
00:02:50: I don't really use any MCPs and never felt like
00:02:54: anything's missing except for one thing.
00:02:57: One problem I do have as a developer is providing the
00:03:01: right context or it's not a problem but it's the most
00:03:05: difficult and important thing. For example, I know that there are a lot
00:03:08: of modern browser APIs and CSS features I would like to use in my
00:03:12: project. I don't want to write CSS code like it's
00:03:16: but that's what AI typically does as a default and I don't want that
00:03:20: so I typically remind AI to please use relative
00:03:24: colors, for example, or please use the pop-over API and that's,
00:03:28: course, annoying but that's something where I
00:03:32: this new Skills standard which is emerging and evolving.
00:03:36: The idea behind Skills is that in your project you can add
00:03:40: a Skill folder and right now where you add that
00:03:44: folder still kind of depends on which tool you're using.
00:03:47: Cloud code, you would have a Skills folder in the
00:03:51: and then for each skill you would add a subfolder in that Skills folder
00:03:56: and add a skill.md file. That is the bare minimum.
00:03:59: Now what goes into that skill.md file?
00:04:01: In the end just some context, just a prompt you could say.
00:04:04: This is simply how such a skill.md file could look like.
00:04:06: You have some metadata which is just the name and description a- as
00:04:10: a minimum and the description is the part that will help the AI decide
00:04:14: whether to use the skill because the idea behind these Skills
00:04:18: is that the coding agent essentially loads all
00:04:22: these names and descriptions into its context whenever you
00:04:25: start a new chat and that's obviously just a few tokens so that's no problem.
00:04:29: It's not polluting your context but it has all that
00:04:33: information. It has a system prompt, of course, that makes sure that this
00:04:37: is prominently embedded and that it considers all
00:04:41: these skills whenever tackling a task and it would then
00:04:45: take a look at the entire file, open that entire file but only then
00:04:48: and then it therefore gets the rest of this content which is
00:04:52: just an extra prompt, just some extra context that's loaded
00:04:56: on demand and that's the important part.
00:04:59: Now a Skill can be more than that. You can add subfolders to each
00:05:02: skill to even add scripts so your own code that should be
00:05:06: executable so that you can add your own tools in the end connected to
00:05:10: a skill that can be used so for example you could add code that opens and
00:05:14: reads a PDF document so that you have your own parsing logic in
00:05:18: place. You can add extra references like extra
00:05:22: you could therefore, for example, build a skill that helps the AI write
00:05:26: better React components by making it aware of the fact that it might
00:05:30: not need useEffect because AIs love to use useEffect
00:05:34: but they might not need to. There is a full article on the official docs
00:05:38: that you might not need an effect. You can put that into your references,
00:05:42: skill related to that, maybe also add some other React component
00:05:46: related information in there and then whenever you ask the AI
00:05:49: to do something that's related to a React component there's a high chance
00:05:53: of it loading that skill and using that extra knowledge and context
00:05:57: so that you don't constantly have to repeat yourself or hope
00:06:01: that the AI does things the way you want it to do and that's why I
00:06:05: find this Skill spec quite interesting and why I'm using Skills in
00:06:09: my projects to make AI aware of all the modern syntax I'd
00:06:13: like it to use and why I personally don't find MCP super
00:06:16: interesting when it comes to development with AI.
New comment