Use a plugin when the client can provide lifecycle hooks, richer system prompts, or compaction-specific behavior.
Use bare MCP when portability and simplicity matter more than orchestration.