OMAR
Field NotesCV
Model Context Protocol: Stop Writing Bespoke Tool Glue
← All Notes
AI Engineering02 June 2026 · 6 min read

Model Context Protocol: Stop Writing Bespoke Tool Glue

One protocol so any assistant can talk to your database, your files, your ticketing system. Write the server once.

Before the Model Context Protocol, every assistant that needed to read your database required its own custom integration. Five assistants meant writing the same connector five times, in five different shapes.

MCP makes that a protocol problem instead of a per-vendor problem. Write one server; any client that speaks MCP can use it.

The mental model

An MCP server exposes three kinds of thing:

  • Tools — actions the model can invoke (query a database, create a ticket, send an email)
  • Resources — data it can read (files, records, documentation)
  • Prompts — reusable templates the user can trigger

The client handles discovery and invocation. You describe capabilities; you do not write per-assistant glue.

Why it changes what you build

The interesting shift is that integration becomes an asset rather than a cost. A server that exposes a client's booking system is written once and works with whatever assistant that client adopts next year.

For my work the obvious candidates are project-specific: query the bookings database in a safe read-only way, look up a material in the catalog, check deployment status. Small, well-scoped servers beat one server that does everything.

Security is the whole conversation

This is where I want to be direct, because the failure mode is severe.

An MCP server is an API with a language model as its client, and that client can be manipulated by whatever text it reads. If a tool can delete records, assume a prompt injection will eventually try to.

Rules I hold to:

  • Read-only by default. Write access is a deliberate exception with a strong justification.
  • Scope the credential. The server gets a database user with access to exactly the tables it needs. Never an admin connection.
  • Validate arguments server-side. Tool arguments come from a model influenced by untrusted input. Treat them exactly like an HTTP request body.
  • Log every invocation. You want the record when something odd happens.
  • Vet third-party servers before installing. A community MCP server runs with whatever access you grant it. Read the source or do not install it.

The convenience is real, and so is the fact that you are handing tool access to something that can be talked into misusing it.

Resources

AIOpen Sourceservers

Need this built properly?

I build secure, fast, bilingual platforms for clients across Egypt, Saudi Arabia, the UAE and Kuwait.

Keep Reading