Skip to main content
ariefrse.my
HomeSkillsProjectsAI WorkWritingContact
Resume
All writing

Article · Agentic engineering

MCP: the protocol every agentic engineer needs to know

Connecting one agent to N tools used to mean N one-off integrations. MCP is the interoperability layer that removes the multiplication.

February 11, 2026 · 8 min read

LLMs are powerful and isolated. Without a standard protocol, every integration becomes custom glue code that is fragile and expensive to maintain.

Before USB-C, every device needed a different cable. AI tool integrations had the same problem.

The core problem

Without a universal protocol, connecting one agent to N tools means N one-off integrations. Add a second agent and you are writing them all again.

What MCP is

The Model Context Protocol is an open standard for connecting AI clients to tools, resources and prompts through a consistent interface. Instead of custom integrations per model vendor, you expose one MCP server and reuse it across compatible agents.

It has three primitives, and the split matters more than it first appears:

PrimitiveRole
ToolsActions an agent can execute
ResourcesReadable context: docs, schemas, files
PromptsReusable prompt templates for common workflows

Separating readable context from executable action is what makes the security story tractable later. A resource cannot do anything to you.

Why it matters in practice

Build once, work across agents. MCP removes vendor-specific tool formats. One server supports multiple compatible clients.

Runtime tool discovery. Agents discover available capabilities dynamically rather than stuffing every tool into a static prompt. This is a context budget win as much as an architecture win.

Schema-aware integrations. Tools expose structured descriptions and parameter schemas, which improves call accuracy and reduces misuse. The model is guessing less because it has been told more.

Building your first server

A good first server is read-only database exploration, for agent-assisted debugging and analytics. Read-only is the point: you get the value before you take on any of the risk.

# mcp_server.py
from mcp.server import Server
from mcp.types import Tool, TextContent
import asyncpg

server = Server("project-db")

@server.tool()
async def list_tables() -> list[TextContent]:
    """Expose database schema to the agent."""
    ...

@server.tool()
async def query_database(sql: str, limit: int = 10) -> list[TextContent]:
    """Read-only query endpoint."""
    if not sql.strip().upper().startswith("SELECT"):
        raise ValueError("Only SELECT allowed")
    ...

Then register it so the client can discover and call these tools:

{
  "mcpServers": {
    "project-db": {
      "command": "python",
      "args": ["mcp_server.py"],
      "env": {
        "DATABASE_URL": "postgresql://user:pass@localhost/mydb"
      }
    }
  }
}

Where it earns its keep

Use caseWhat it enables
Codebase navigationAgent-driven search, dependency mapping, onboarding
Database explorationSchema inspection, query drafting, reporting
CI/CD integrationTrigger builds, inspect failures, summarise pipeline health
Project managementCreate issues, update status, connect work artifacts
Automated testingDrive browser test runners, validate expected UI behaviour

Security: treat MCP servers like production APIs

This is the part that gets skipped, and it should not be.

Tool poisoning, silent capability mutation and cross-server shadowing are real concerns. An MCP server is an execution surface you have handed to a non-deterministic client. Validate sources, constrain access, and log aggressively.

The practical roadmap follows from that. Start read-only, exposing schema and observability endpoints. Connect to your client and validate discovery and safe execution. Only then add controlled write actions, with confirmation gates on anything destructive. Scope tools by role once you are running multiple agents. Then add rate limits, logging and vulnerability scanning.

What I learned

MCP is an interoperability layer for agent systems. Build once, connect broadly, and harden it like critical backend infrastructure, because that is what it is.

The protocol is still moving fast. The leverage comes from shipping practical read-only servers now and improving operational quality over time, not from waiting for the spec to settle.

mcpprotocolstooling

Share

XLinkedInWhatsAppThreads

Related

  • Chain of Thought meets Agent Teams in Claude CodeChain of Thought is the plan and Agent Teams is the execution. They are two layers of one system, not two techniques.
  • Running agents in parallel is about waiting, not typingThe productivity is not in agents typing faster. It is in never sitting idle while something runs.

© 2026 Muhammad Arief Roseli

GitHubLinkedInSnapInvois