Shaji Sivaraman
All writing

When an MCP server is the right tool

A practical choice between a direct API integration and a reusable tool interface.

Identify the consumers

Say your team has an internal case-management API. An operations workflow needs one lookup, and a separate assistant needs to find cases, read their history, and show evidence. Start by listing each client, the capability it needs, and who owns the underlying service.

A direct integration can be a good fit for one application with a stable contract. An MCP server becomes more attractive when several compatible clients need the same capabilities and a shared interface will save repeated integration work.

Design the interface

Expose tasks in the language of the work. A tool named get_case_history can describe exactly which events it returns and accept one case ID. Give the caller a way to distinguish a missing case, an authorisation failure, and a temporary service failure.

Decide which identity the downstream API should see and enforce record-level access at the service boundary. Write operations need explicit semantics for retries and duplicate submissions.

Prove the reuse

Prototype the same read-only tool in two clients before committing to a larger surface. Check that each handles authentication, returned data, and errors consistently. Track what you had to customise in each client and use that to judge whether the shared interface is buying you anything.

Start with the smallest tool surface that lets both clients complete a real task.