MCP Design Patterns: What Works in Production
The tool composition, pagination, and confirmation patterns that hold up once an MCP server sees real traffic.
Patterns that look elegant in a demo often break down under real usage. These are the ones that consistently survive production traffic.
Coarse-Grained Tools
Fewer, higher-level tools outperform many narrow ones. A single manage_ticket tool with an action parameter is easier for a model to use correctly than five separate tools.
Cursor-Based Pagination
Offset pagination breaks when the model re-requests a page mid-conversation and the underlying data has shifted. Cursor tokens are stable and cheap to pass back through context.
Confirmation Before Destructive Actions
For anything that deletes or charges, return a preview result first and require an explicit second call to commit. This single pattern prevents most of the "agent did something irreversible" incident reports in this community.