# Hosts, Clients, Servers and Peer Agents — MCP & Agent-to-Agent Protocols

Source: https://www.geekswithgeeks.com/en/mcp-a2a/w-roles

> Name the participants and who talks to whom.

## The vocabulary

In MCP the **host** is the AI application the user interacts with (a desktop assistant, an IDE, your own agent). Inside it, an **MCP client** maintains a one-to-one connection to an **MCP server**, which exposes capabilities such as tools. A host usually runs **several clients**, one per server, and is responsible for user consent and security decisions. In A2A the participants are a **client agent** (which has a goal and delegates) and a **remote agent** (which advertises skills and performs tasks). Notice that a single program can play several roles at once: an agent can be an MCP host toward its tools and an A2A remote agent toward its peers.

## Who talks to whom

MCP connections are one client to one server; hosts own the user relationship.

```text
MCP                               A2A
user -> HOST                      client agent  --task-->  remote agent
          |- client A <--> server A                       <--status/artifacts--
          |- client B <--> server B   (remote agent publishes an Agent Card:
          |- client C <--> server C    name, skills, URL, auth requirements)
```

## The host is the security boundary

Servers should not be trusted to police themselves. The host decides which servers to connect, which tools to expose to the model and when to ask the user.

**Quiz:** In MCP, what does a client maintain?

- [ ] The user's password
- [ ] The model weights
- [ ] A global database of all servers
- [x] A one-to-one connection to a server

*Answer:* A one-to-one connection to a server. A host runs one client per server connection.
