MCP is great for the stateful systems, where shared context is a benefit, but this is a rarity. Developers generally write clients to use APIs in a stateless way, and we want to help this majority of users.
That said, agents.json is not mutually exclusive to MCP. I can see a future where an MCP for agents.json is created to access any API.
Can't you simply use a stateful protocol and not report any state? Doesn't statefulness subsume statelessness? I am beginning to wrap my head around this space, so excuse the naive questions.
No worries! In other cases, I believe you would be right. But splitting up context is not optional with MCP. Part of the whole state will always reside in an external entity.
That said, agents.json is not mutually exclusive to MCP. I can see a future where an MCP for agents.json is created to access any API.