AV
HomeAboutProjectBlog

© 2026 Ave syah Shina. All rights reserved.

  1. Home
  2. Blog
  3. 15 — Model Context Protocol: A Standard Plug for Tools and Data

15 — Model Context Protocol: A Standard Plug for Tools and Data

August 13, 20268 min read
Download as Markdown

"Just another agent thing" was how I initially filed the Model Context Protocol, and I almost skipped the part that matters. The comparison that made it click: MCP is a standard client-server protocol that lets any AI app talk to any tool or data source through one plug — the way USB-C did for cables. [1][2] Before MCP, every agent framework had its own way of defining tools and connecting to data, so a tool written for one framework didn't work in another. MCP fixes that by defining a common protocol, so a tool or data source exposed as an MCP server can be used by any MCP-compatible client.

The framing that finally landed is the USB-C analogy, and it's worth taking literally. Before a standard plug, every device shipped with its own charger and its own connector; nothing interchanged. After the standard, one cable works across devices. MCP does the same for AI: the MCP server is the socket a tool or data source exposes; the MCP client is the plug an AI app (a host) uses to draw from it; the protocol is the shape they share. Once a data source speaks MCP, any MCP-compatible agent can use it without custom integration.

AI app (host) host manages the agent MCP client MCP plug MCP servers (tools + data) database same socket file system same socket API search same socket Slack same socket git the MCP protocol one shared contract one plug shape → any tool or data source works with any compatible host

The architecture: host, client, server

MCP defines three roles, and naming them precisely cleared up most of my confusion [1][3].

The MCP host is the AI application itself — the editor, the agent framework, the chatbot. It's where the user's request lands and where the model runs. The host manages one or more MCP clients.

The MCP client is the component inside the host that talks the protocol. It handles the communication, serialization, and deserialization of data exchanged with servers, so the host's agent logic doesn't have to know any protocol detail — it just asks its client for tools and data [4].

The MCP server is the thing that actually exposes the tools or data. A server might wrap a database, a file system, an external API, or a search index. It receives requests from clients, retrieves the relevant data or runs the requested tool, and returns results in the standardized format [5].

The split that matters: the host and its client are on the AI-app side; the server is on the data-or-tool side. The protocol is the contract between them. Because the contract is standard, a server written once can serve any compatible client.

The layers: transport and data

Inside MCP, two layers do the actual work [6]. The transport layer is responsible for reliably moving messages between client and server — how they're packaged, addressed, and transmitted, whether across a network or within a single machine. The data layer manages the actual data the agent reasons over — storage, retrieval, caching, transformation, making sure the right information is available in the right format. These mirror the classic separation of concerns in any protocol stack, and the reason to name them is that each can be chosen independently: I can run MCP over a local stdio transport for development or a remote HTTP/SSE transport for production, with the same data layer on top.

Local versus remote: where the server lives

An MCP server can run in two places, and the choice has real tradeoffs [7][8].

Local deployment runs the server directly on my own computer. It listens on a local address (something like 127.0.0.1:8000) accessible only from the same machine. This is great for development, personal tools, and private experiments — full control, no cloud costs, no network dependency. The limit is my hardware, and sharing with others requires tunneling.

Remote (cloud) deployment puts the server on a cloud provider, packaged as a container, given a public HTTPS address, fronted by a load balancer, and secured with TLS and API keys. This is what production needs — many users, elastic scaling, no local hardware limits — at the cost of cloud bills, ops burden, and data-protection responsibilities.

The protocol is the same in both cases. That's the point: I can develop against a local MCP server and ship a remote one without changing the client code, because the contract is identical.

Building servers and clients

The MCP ecosystem provides first-party tooling for both sides [9][10]. Building a server means defining the tools and data it exposes and speaking the protocol; the official docs walk through it, and community lists like "Awesome MCP Servers" collect pre-built servers for common data sources (databases, file systems, SaaS APIs) that I can use without writing my own. Building a client means implementing the client side of the protocol so my AI app can talk to any server — and again, the official docs cover this, with framework integrations meaning I often don't have to write a client from scratch at all.

The practical upshot: the common case is writing a _server_, because that's where my private data and custom tools live, and using an existing client that my host already provides. The rare case is writing a _client_, which I'd only do if I were building a new host application from scratch.

Why this matters: the integration explosion

The problem MCP solves is worth naming directly. Before a standard protocol, connecting an AI app to N tools meant writing N custom integrations, one per tool, in the framework the app used. Connecting M AI apps to N tools meant M×N integrations. With MCP, each tool exposes one server, each app includes one client, and the protocol handles the rest — the integration count drops to M+N [1]. For a field where new tools and new agents appear weekly, that reduction is what makes the ecosystem tractable rather than a combinatorial explosion of one-off connectors.

How I use this

I treat MCP as the default way to expose tools and private data to AI apps, and I reach for it whenever I'm connecting an agent to anything beyond a trivial built-in function. For private data sources — a database, an internal API, a file store — I build a small MCP server that wraps them, which means any MCP-compatible host can use them without further integration. I develop locally against a stdio transport and move to a remote server for production, with the same server code. And before writing a server, I check the community registries, because someone has often already written one for the common data source I need. The discipline is to stop writing per-framework tool integrations and instead write one MCP server per data source — the standard plug is cheaper than the bespoke cable, every time.

References

[1] Model Context Protocol, "Model Context Protocol," 2025. [Online]. Available: https://modelcontextprotocol.io/

[2] Hugging Face, "Model Context Protocol (MCP) Course," 2025. [Online]. Available: https://huggingface.co/learn/mcp-course/en/unit0/introduction

[3] Model Context Protocol, "Concepts of MCP," 2025. [Online]. Available: https://modelcontextprotocol.io/docs/learn/architecture#concepts-of-mcp

[4] Model Context Protocol, "Understanding MCP clients," 2025. [Online]. Available: https://modelcontextprotocol.io/docs/learn/client-concepts#understanding-mcp-clients

[5] Model Context Protocol, "Understanding MCP Servers," 2025. [Online]. Available: https://modelcontextprotocol.io/docs/learn/server-concepts#understanding-mcp-servers

[6] Model Context Protocol, "Layers," 2025. [Online]. Available: https://modelcontextprotocol.io/docs/learn/architecture#layers

[7] Model Context Protocol, "Connect to local MCP servers," 2025. [Online]. Available: https://modelcontextprotocol.io/docs/develop/connect-local-servers

[8] Model Context Protocol, "Connect to remote MCP Servers," 2025. [Online]. Available: https://modelcontextprotocol.io/docs/develop/connect-remote-servers

[9] Model Context Protocol, "Build an MCP server," 2025. [Online]. Available: https://modelcontextprotocol.io/docs/develop/build-server#build-an-mcp-server

[10] Model Context Protocol, "Build an MCP client," 2025. [Online]. Available: https://modelcontextprotocol.io/docs/develop/build-client

Knowledge check · Question 1 of 5

MCP is best described as…

Comments

Leave a Comment

You must be signed in to comment

0 Comments

No comments yet. Be the first to comment!