Ask HN: What is so good about MCP servers?
So I've been vibe coding full time for a few weeks now, but I can't yet understand what is so good or worthwhile about MCP servers versus just prompting, RAG style. Can you help enlighten me?
Thank you in advance for any replies!
27 comments
[ 6.6 ms ] story [ 32.1 ms ] threadAlmost like an API for LLM driven actions.
everything that didnt have an api i could integrate with, but does have a janky website is now something i can put into a locally-run workflow.
its not a panacea since i cant deploy it anywhere beyond my colleagues dev machines, but it enables a tone of automation that was otherwise a.big commitment, both from my team, and each of those janky website owners.
it was possible to do this website scraping before, but nobody was thinking about it in a plug and play manner
It is presented as a scalable way to provide tools to LLMs but that's only if you assume every use of LLMs is via the popular chatbot interfaces, which isn't the case.
Basically it's Anthropic's idea for extending their chatbot's toolset into desktop apps such as Google drive and others who may wish to make their software capabilities integrated into chatbots as tools.
Of course as with everything in tech, especially AI related, it has been cargo-culted to be the second coming of the messiah while all nuances about its suitability/applicability is ignored.
These other capabilities that chat tools provide are actually extras built on top of the output sequence:
- reading and editing files
- searching the web
- executing commands
If your favorite chat tool (ChatGPT, Gemini, Claude, Cursor, whatever) already has all the tools you want, then you don't need to add more via an MCP server.
It's great! crazy eyes all seriousness though, it's a terrible solution for the "vibe" space in terms of how careless people are about it. There are thousands of "who-knows-who-made-this" servers for major integrations out there.
While I’m not “vibe” coding, it is nice to be able to ask human language questions and have the LLM query the database to answer questions. Or while working on a feature, I can ask it to delete all the test records I created, etc. I can do that in a repl myself, but it’s sometimes a nice shortcut.
Note, this only runs in dev, so it’s not querying my production database or anything.
Basically, they can be a way to expose additional data or tools to the LLM.
> Let's create new feature XYZ. Use Postgres MCP to verify the schema of relevant tables instead of making assumptions.
> Use Supabase MCP to see if user@domain.com has the correct permissions to have the Create Project button present in the UI.
NOTE: only run Supabase MCP with the --read-only, doing otherwise will lead to a bad time.
They don't know how to write a simple function to call a REST API, store the results in an database, etc. etc. So they need this tooling.
There's also the fact that humans love to abstract things, even when the thing they're trying to abstract already does the job fairly well (see: Kubernetes, GraphQL)
There are 2 types of actions, (1) read-only and (2) MCP servers/tools with side effects
1. Read-only types. As you know, LLMs are static models, they don't learn things between your sessions, hence you need RAG or better prompting to enrich the context to get the best results for your use case. MCP helps you with enriching that context. For example, you want to categorize your recent emails, you can obviously copy paste all of them as a context, then ask LLM to categorize. Or you use MCP server to pull emails and add it to the context. This is very similar to RAG, but heavily personalized for your use case (e.g. by pulling data from Jira, Github only when you ask it)
2. MCPs with side effects (write/delete) - Here you can leverage NLP capabilities of MCP to take actions. For example, send email or create an event in your calendar, or enrich the contents of Jira ticket. Same as (1), you can ask LLM to come up with contents and then manually copy/paste it to your calendar to create an event or leverage the convenience of MCP tools to do it automatically.
Here are some demos from my MCP servers:
* Integration with Google Calendar to create events based on information of another MCP server (memory) - https://www.youtube.com/watch?v=ZgEy6Y1kfn4
* Here you can see how easily you can integrate your OpenAPI based spec and use human language to query it - https://x.com/getaikoapp/status/1945278307496235482