An engineer describes one MCP server as "local" and another as "remote." What do these terms commonly mean in MCP?
Select an answer to reveal the explanation.
Short Explanation
Local versus remote is about where the server lives and how you talk to it. Local usually means a subprocess on your machine over stdio; remote usually means a service you reach over Streamable HTTP. It's not about what the server offers.
Full Explanation
The architecture documentation explains that MCP server refers to the program that serves context, wherever it runs. A server launched by the host as a subprocess on the same machine and spoken to over the stdio transport is commonly called a local server, and it typically serves a single client. A server running on a provider's platform and reached over Streamable HTTP is commonly called a remote server, and it typically serves many clients. The distinction is about deployment and transport, not about which primitives the server offers; a local server can expose destructive tools and a remote server can expose read-only resources, so splitting by capability is wrong. The authorization option mixes a half-truth with an error: stdio implementations take credentials from the environment rather than following the HTTP authorization specification, but remote servers use Streamable HTTP, not the deprecated HTTP+SSE transport. Tying the labels to which language model runs the server is a category mistake; servers are programs that provide context, and the host chooses its own model independently. Exam caveat: the terms are conventions rather than defined protocol fields, so a stem may say typically. Operational check: look at how the host starts or reaches each server, a launch command for stdio or an endpoint URL for Streamable HTTP, to classify it.