http://flyeric.top/archives/mcp-protocol-explanation