from Hacker News

MCP: An in-depth introduction

by ritzaco on 5/13/25, 12:47 PM with 93 comments

  • by epistasis on 5/17/25, 6:04 AM

    > But even after a few hours of reading about what MCP is and working through an example , it can be confusing to follow exactly what is happening when and where. What does the LLM do? What does the MCP server do? What does the MCP client do? Where does data flow, and where are choices made?

    Yeah MCP is the worst documented technology I have ever encountered. I understand APIs for calling LLMs, I understand tool calling APIs. Yet I have read so much about MCP and have zero fucking clue except vague marketing speak. Or code that has zero explanation. What an amateur effort.

    I've given up, I don't care about MCP. I'll use tool calling APIs as I currently do.

  • by oliviergg on 5/17/25, 10:06 AM

    I have trouble understanding the level of criticism about MCPs. As I understand it, it's just a tool that allows an LLM to communicate with other tools.

    People often talk about web APIs, but we should also consider the integration of local tools. For me, the integration is mind-blowing.

    When I tried the Playwright MCP integration [0][1] a few months ago, I really felt that after giving computers the ability to speak or communicate, we had now given them arms. I still get goosebumps thinking about it.

    [0]https://youtu.be/3NWy_sxD3Vc [1]https://github.com/microsoft/playwright-mcp [EDIT]

  • by defaultcompany on 5/17/25, 4:53 PM

    One confusing thing to me was the word "server". An "MCP server" is a server to the LLM "client". But the MCP server itself is a client to the thing it's connecting the LLM to. So it's more like an adapter or proxy. Also I was confused because often this server runs on your local system (although it doesn't have to). In my mind I thought if they're calling it a server it must be run in the cloud somewhere but that's often not the case.
  • by amannm on 5/17/25, 2:26 PM

    It's a half-baked, rushed out, speculative attempt to capture developer mindshare and establish an ecosystem/moat early in a (perceived) market. It's a desperate "standard" muscled in by Amazon/Claude, similar to their overwrought "Smithy" IDL that basically nobody outside the Amazon SDK team chooses to use for API/Schema management. It will end up in that same niche in the long term, most likely... AWS/Amazon/Claude specific app integrations, buried underneath some other 3rd party framework that abstracts it away and makes the "spec" irrelevant.
  • by snowstormsun on 5/17/25, 2:45 PM

    MCP is practically useful, but the total lack of security in its "design" for me just underlines the type of YOLO-driven development and lack of quality that's being marketed as productivity improvement in software engineering too often these days.
  • by shaneos on 5/17/25, 11:56 AM

    Using MCP in production has a lot of tricky edge cases. This post describes some cool solutions to them https://www.stainless.com/blog/what-we-learned-converting-co...
  • by CSMastermind on 5/17/25, 5:43 PM

    Anyone who has worked with LLMs for non-trival tasks know how poorly they handle JSON vs other formats (they do notably well with XML for some reason but even YAML seems to be handled fine).

    MCP forcing JSON for tool specifications seems like a massive mistake.

    Maybe Google can save us with something built on top of protobuffs.

  • by quantadev on 5/17/25, 3:45 PM

    Not to complain but this "introduction" would've been better if it was just a simple tool to add numbers to make an LLM able to solve "What is 10 + 50?" using a remote tool. By solving a complex problem you've just added unnecessary complexity. Everyone would've already known how to extend a function call to solve some other set of problems. Sure it made the intro more "impressive" as an actual accomplishment, but seems like counterproductive impressiveness bordering on just showing off. lol. Nice work tho. I was impressed.
  • by danjc on 5/17/25, 6:44 AM

    MCP Clients need to support auth (and probably the spec needs to have a broader set of options for auth) - this is going to be a major blocker for adoption.
  • by TZubiri on 5/17/25, 1:23 AM

    I feel like I need the opposite, a cursory view, or at least a definition.

    Most of the material on MCP is either too specific or too in depth.

    WTF is it?! (Other than a dependency by Anthropic)

  • by TZubiri on 5/17/25, 1:31 AM

    "“MCP is an open protocol that standardizes how applications provide context to LLMs, what’s the problem?”"

    We are already off to a wrong start, context has a meaning specific to LLMs, everyone who works with LLMs knows what it means: the context is the text that is fed as input at runtime to LLM, including the current message (user prompt) as well as the previous messages and responses by the LLM.

    So we don't need to read any further and we can ignore this article, and MCPs by extension, YAGNI

  • by valzam on 5/17/25, 11:54 AM

    Isn't MCP just an OpenAPI spec that everyone agrees on? I don't really get the confusion around it
  • by andes314 on 5/17/25, 2:18 AM

    For anyone confused, you can play with mcp for free on usetexture.com