MCP Architecture Overview
At its heart, MCP follows a client-server architecture (much like the web or other network protocols).
However, the terminology is tailored to the AI context. There are three main roles to understand: the Host, the Client, and the Server.

Host
The Host is the user-facing AI application, the environment where the AI model lives and interacts with the user.
This could be a chat application (like OpenAI’s ChatGPT interface or Anthropic’s Claude desktop app), an AI-enhanced IDE (like Cursor), or any custom app that embeds an AI assistant like Chainlit.
Host is the one that initiates connections to the available MCP servers when the system needs them. It captures the user's input, keeps the conversation history, and displays the model’s replies.

Client
The MCP Client is a component within the Host that handles the low-level communication with an MCP Server.
Think of the Client as the adapter or messenger. While the Host decides what to do, the Client knows how to speak MCP to actually carry out those instructions with the server.

Server
The MCP Server is the external program or service that actually provides the capabilities (tools, data, etc.) to the application.
An MCP Server can be thought of as a wrapper around some functionality, which exposes a set of actions or resources in a standardized way so that any MCP Client can invoke them.
Servers can run locally on the same machine as the Host or remotely on some cloud service since MCP is designed to support both scenarios seamlessly. The key is that the Server advertises what it can do in a standard format (so the client can query and understand available tools) and will execute requests coming from the client, then return results.
