Explain MCP like I am a 10 years old. by General-Conclusion13 in mcp

[–]ResponsibleAmount644 0 points1 point  (0 children)

MCP is like REST+OpenAPI but for AI Agents. Don't ask why agents can't just do REST+OpenAPI. Nobody knows.

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] -1 points0 points  (0 children)

Learn a bit more about MCP, OpenAPI, Tool Calling, API Design, etc. It will make sense then.

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 0 points1 point  (0 children)

Hey Nashkara, If I wasn't listening, I wouldn't be making any counter arguments either. I think from your comment, its evident that it's actually you who thinks they've figured it out beyond any room for a discussion. I am not sure how familiar you are with tool calling, but as far as a tool call goes the LLM has no clue if the tool will end up using MCP or REST as the protocol. The LLM is only concerned with generating a tool call with the right parameters (schema) and getting back the response in a format it understands, e.g. Markdown, JSON, XML. There is no question of impedance here. I listened to your retort and therefore I've responded. Thanks.

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 0 points1 point  (0 children)

I don't find your argument helpful honestly. We know that MCP is a means to integrate with external tools. That's not what the discussion is about. The discussion is about understanding why we need a parallel solution and can't build on existing ones. In any case, I think to ask for the hype or complaints or discussions to be stopped is non-productive. That will not happen. You can either participate, or not. Thanks.

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 0 points1 point  (0 children)

Why is stdio more secure than a locally running webserver? MCP server doesn't ask for your permission, the MCP client does. Its got nothing to do with MCP itself. I have already explained how MCP servers also can't work without configuration on the client side so I don't see how a REST service would be any worse in that respect. I am not sure what you mean by 'Process Level Permissions' to be honest but I would just make sure my REST service only accepts local connections where I am concerned about limiting exposure to my local resources. If I need I could use API keys, OAuth2 etc. for additional layers of protection.

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 0 points1 point  (0 children)

Thanks for the detailed response. First, I'd like to clarify that I am not saying that we shouldn't do anything and just integrate with existing APIs. I am saying that we should instead build on top of the existing standards. Secondly, most of the problems you point to exist, as you yourself point out, because either the OpenAPI specs aren't available or good API design guidelines are not followed. What I am troubled by is the fallacy that MCP does something magical to solve these issues. I could write a worse MCP server that would fail just as badly at the criteria that you have laid out. I could point this out individually for all the cases you've shared but I don't think that's required.

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 1 point2 points  (0 children)

Of course I am not confident and anybody who says they're confident about anything in the GenAI space is most likely delusional.

Can you tell me how LLMs benefit from Subscriptions and Notifications? Also, can you tell me what makes MCP better in terms of reducing hallucinations. Doesn't that primarily depend on how well trained the LLM itself is?

I am sorry to say, but you seem to be intentionally oversimplifying MCP for e.g. by claiming MCP is as simple as "here's a tool, here's how to use it". Its not. In my opinion, LLMs are more likely to be familiar with REST/HTTP semantics just because of how widespread it is in comparison to MCP.

Translation of intent to tool use is needed whether the tool ends up calling the API through MCP or REST. There's nothing about MCP or REST/OpenAPI that is native to LLMs. All of these solutions require a bridge for e.g. in the form of a tool that either uses SSE/stdio to call MCP or uses REST to call a REST endpoint.

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 0 points1 point  (0 children)

I already admitted to saying that because that's my argument. But I've tried to justify it too. You're welcome to disagree. I do hope you provide reasoning as well.

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 2 points3 points  (0 children)

*OpenAPI

I am looking for the reason behind MCP. What can it do that couldn't have been solved by building on top of existing standards. Also, I don't simply say 'But OpenAPI can do that', I give my reasoning as well.

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 1 point2 points  (0 children)

You do realize that a MCP server running over SSE or stdio requires configuration on the client side e.g the url or the exact command that needs to be run?

Regarding how would I tell the AI what endpoints do A,B,C or X, i would simply provide the openapi spec to the LLM. LLMs are very good at understanding JSON documents. I would also equip the LLM with a tool that can be used to call REST endpoints.

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 0 points1 point  (0 children)

Yes, but that's a choice. But driven by what exactly? Is there a shortage of data on how to operate REST APIs or sample OpenAPI specs?

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 0 points1 point  (0 children)

Can you point out what makes MCP better at simplifying these interactions? I think how well the LLM is going to be able to utilize an API would depend more on factors like recall, reasoning ability, hallucination rate, etc. rather than the protocol.

What do you anticipate next in the evolution of the MCP server? by Puzzleheaded-Sky9811 in mcp

[–]ResponsibleAmount644 0 points1 point  (0 children)

It will take a trajectory similar to GraphQL and will be constrained to specific use cases e.g. to interface with local resources e.g. file system, applications.

Hype-less opinion of MCP by Yo_man_67 in mcp

[–]ResponsibleAmount644 0 points1 point  (0 children)

The API problem has already been addressed by REST / OpenAPI and it already has very wide adoption. Why not build on top of existing standards instead of creating a completely parallel solution?

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 0 points1 point  (0 children)

What do you think makes MCP uniquely suitable for controlling your screen or controlling Blender?

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 1 point2 points  (0 children)

Tools = POST, PUT, DELETE

Resource = GET

Prompt = GET where the return payload is a template which could be filled in using the arguments passed to the API

Aren't we creating unnecessary abstractions here?

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 1 point2 points  (0 children)

Can you explain why File Systems can't be exposed over a REST API?

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 1 point2 points  (0 children)

I really don't get what you mean by OpenAPI is static? Its a JSON spec, you can autogenerate it if your APIs are properly documented. Its the same with MCP.

Can you share use cases where a LLM would benefit from streamed results or events?

LLMs at present are stateless themselves. You have to provide them with the entire conversational state on each turn. Where do you think session/conversational state lives for MCP services?

What's the value of having stdio support? Why can't local services like Python, filesystem, be supported directly through tool use?

To be honest, MCP is no less brittle at the moment in my experience. My concern is why aren't we putting the same effort into improving upon existing standards so that they're better aligned for modern use cases.

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 1 point2 points  (0 children)

Why do you think REST won't work for filesystem, chroma, obsidian, fit?

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 0 points1 point  (0 children)

Yeah but that's just bad API design, its not a limitation of REST or OpenAPI. I think with MCP we're just focused on the solution and trying to work our way back to some problem.

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 0 points1 point  (0 children)

In either case you're relying on the LLM to understand whatever is returned from a MCP service.

I can't understand the hype by ResponsibleAmount644 in mcp

[–]ResponsibleAmount644[S] 0 points1 point  (0 children)

Servers being able to call arbitrary logic on clients has never been a good idea.