An MCP server is a process that exposes tools, resources and prompts to an MCP host over JSON-RPC, so before you compare build and buy you should write down three things on one page: the tool list, the auth model, and the data each tool touches. The published documentation describes MCP hosts holding connections to one or more servers, each exposing tools that a model can invoke, with the transport either local (STDIO) or remote (HTTP) the MCP authorization tutorial. A security whitepaper from the Cloud Security Alliance puts the same architecture in risk terms: there are three trust boundaries, between model and client, client and server, and server and downstream systems the CSA MCP security guide. Which of those boundaries you control is the real subject of a build versus buy decision.
The authorization model matters more than most teams expect. For remote servers, MCP follows OAuth 2.1 conventions, and the spec requires protected resource metadata (RFC 9728) so clients can discover the authorization server, and authorization server metadata (RFC 8414) the CSA MCP security guide. If you build, someone on your team owns that flow, token validation and scope checks. If you buy, the vendor usually owns it, which is a large part of what you are paying for.
A practical first exercise: list every tool the candidate server would expose and mark each one read or write, and internal or external. A server that only reads a public catalog is a very different risk from one that can delete records or move money. Casdoor's documentation shows the useful scope pattern in practice, where each tool requires a scope of the form resource:action, so a token with application:read can call the read tools but not add_application or delete_application Casdoor MCP authorization. Apply that same granularity to your own design before you decide who should own it.



