‹ BackHN Continuity

Thread

MCP was always a bad idea?

335 points · 331 comments · maharshi365

  1. simonw · · focus · HN ↗
    This article entirely misses the value that MCP brings today.

    Sure, there's almost no reason to use MCPs if you are running a full-blown terminal agent (Claude Code, Codex, Meta Muse, OpenClaw etc) with unfettered internet access - just let it call APIs directly.

    If you want to operate something that's less YOLO than that, you'll find yourself wanting:

    1. Control over exactly which external services it can access

    2. A way to handle authentication that doesn't allow the agent to directly access API keys

    3. A sensible UI to allow users to connect and authenticate further services

    4. Strong audit logging for what's going on

    MCP makes all of that so much easier to provide.

    Thinking MCP is obsolete because full coding agents don't need it misses out on all of the other things we might want to build.

    1. 0x696C6961 · · focus · HN ↗
      Even if your agent has internet access, why waste tokens having it re-discover and re-implement its own API client each time? It doesn't make any sense.
      1. mexicocitinluez · · focus · HN ↗
        > re-implement its own API client each time

        Is using curl considered re-implementing your own api client each time?

        1. 0x696C6961 · · focus · HN ↗
          Making the model use curl is even stupider. It still needs to do the same amount of work to lookup and understand the API contracts (assuming those are even public). But now it also needs to juggle the auth flows and marshalling at the tool call level.
          1. mexicocitinluez · · focus · HN ↗
            You said ""re-implements an API client" which means you either don't know what curl is or don't know what an api client is. So I'd chill on calling things "stupider" when you don't have a strong grasp on the words you're using.
            1. sophacles · · focus · HN ↗
              What is "implementing".... I'd define it as "figuring out the workflow, and storing it in a way that allows reuse". This could be a program written in assembly, or rust, or even python. Or it could be a shell script that calls curl. Or it could just be a set of tokens in the current session. Outside of the computer it could even be a set of processes people do, or a mechanical device.

              If it's just a set of tokens in the current session, well then next session it has to figure out the workflow, and then store it in a way to use in the next session.

              Seems like maybe you should take your own advice.

              1. mexicocitinluez · · focus · HN ↗
                How does the definition of "implementing" change the fact that curl quite literally is an api client? It's an implemented api client.

                > Seems like maybe you should take your own advice.

                Seems like maybe if you have to use your own custom definition of a word in order to support a point you might not have one. lol.

                1. sophacles · · focus · HN ↗
                  Nonsense, curl is a tool for executing a single http request.

                  Many apis require several requests to get things done. (one to auth, one or more to fecth resource ids, one or more to modify resources, etc).

                  That would be a series of curl calls with logic applied to the output of each call to curl. An api client just does those things in a single function call. The steps are the same, but in one case the AI has to figure out each curl call and implement the logic, rather than just call the function.

                  1. mexicocitinluez · · focus · HN ↗
                    lol Id say the nonsense is tying multiple calls to the definition of an api client.

                    Irony died in this comment thread.

                    1. sophacles · · focus · HN ↗
                      By your logic 'ls' is a file manager, 'grep' is a search engine, and 'echo $X >> /proc/sys/$Y' is a settings manager.

                      It makes sense though. It's the same logic that allows you to say promting an AI with "do a simple thing for me" makes you a programmer, and prompting an AI with "what is an api" allows makes you knowledgable about computers.

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.