An AI application may need information from a document system or an action from a business service. Each integration needs a shared way to request that information or action.

The [MCP specification](https://modelcontextprotocol.io/specification/2026-07-28) defines that shared interface. A compatible client can discover the capabilities a server exposes. The application still needs permission to use protected capabilities.

## What are the host, client and server?

The host is the AI application. The client is its connector. The server is the program supplying capabilities.

The [specification's roles](https://modelcontextprotocol.io/specification/2026-07-28#overview) separate the application from the connector inside it.

| Role   | Responsibility                                     | Example                                 |
| ------ | -------------------------------------------------- | --------------------------------------- |
| Host   | Coordinates the AI interaction and its connections | An assistant application                |
| Client | Exchanges protocol messages with an MCP server     | A connector inside that application     |
| Server | Exposes context or callable operations             | A program providing access to documents |

A host can use several clients to connect to different servers. The [architecture guide](https://modelcontextprotocol.io/docs/2026-07-28/learn/architecture#participants) describes one client for each server connection.

## How do the messages travel?

The standard transports carry messages through local process streams or HTTP.

The [transport specification](https://modelcontextprotocol.io/specification/2026-07-28/basic/transports) defines both:

- **Stdio:** the client launches a server process and exchanges messages through its input and output streams.
- **Streamable HTTP:** a server receives HTTP requests and can stream messages back to clients.

A server therefore need not be a remote website. It can be a program running on the same machine as the client.

The transport carries the exchange. Account permissions still require authorization. The [MCP OAuth answer](/explained/platform/how-does-oauth-work-for-an-mcp-client) explains authorization for protected HTTP servers.

## Is MCP an agent framework?

MCP defines an integration protocol rather than a framework that runs an agent's reasoning and task loop.

The [architecture guide's scope](https://modelcontextprotocol.io/docs/2026-07-28/learn/architecture#scope) leaves how applications use models and manage context to those applications. The host chooses how to use the information and operations available through its connections.

A protocol connection alone does not decide which action completes a user's task.

## Does MCP replace an API?

MCP can expose an API's operations through a separate protocol interface. The underlying API can continue carrying out those operations.

The [architecture guide's tool example](https://modelcontextprotocol.io/docs/2026-07-28/learn/architecture#understanding-the-tool-execution-request) shows an MCP server executing a requested tool. The implementation behind a tool can call another service.

For example, a hypothetical order-status tool could retrieve an order through an existing API. MCP describes the client-server exchange. The order service still owns its records and access rules.

The [primitives answer](/explained/platform/what-are-the-mcp-primitives) explains tools, resources and prompts. The [A2A comparison](/explained/platform/what-is-a2a-and-how-is-it-different-from-mcp) covers communication between agents.

## How do I use MCP with Bird?

You can connect an AI client to [Bird's MCP server](/explained/platform/what-is-an-mcp-server-and-how-does-an-agent-send-messages).

## Related resources

- [Send your first email](/docs/get-started/send-your-first-email) (docs)
- [Should I use a Bird SDK or call the API directly?](/explained/platform/should-i-use-an-sdk-or-call-the-api-directly) (answer)
- [Build your first integration](/learn/paths/integration) (course)

[Get an implementation brief](/learn/workspace?topic=api-basics)
