Many teams start MCP by wrapping an API they already have. Doing it thoughtfully produces a much better server.
Start From Tasks
List what users would ask an AI assistant to do with your product: "find overdue invoices for this customer", "create a follow-up task". Design tools around those tasks.
Don't Mirror Every Endpoint
Hundreds of endpoint-shaped tools overwhelm models. Combine calls where a task needs several, and leave out rarely useful endpoints.
Simplify Inputs
Hide internal IDs and complex parameters where possible. Accept names or natural identifiers and resolve them in the server.
Shape Outputs
Return the fields a model needs, in readable form, with pagination for long lists.
Reuse Authorisation
Map MCP authorisation onto your existing identity system, and apply the same permission checks as your API.
Read First
Launch with read-only tools, gather feedback, then add carefully described write actions.
Generated Servers
Tools exist to generate MCP servers from API specifications automatically. They're a quick start, but usually need curation to be pleasant for models to use.
Measure
Log tool usage and failures to see what to improve.