WhatsApp bot developer & business automation expert. Building custom bots and workflows with n8n, Make, and WhatsApp API (official & WAHA). 50+ happy clients.
Work
Founder at Achiya Automation — WhatsApp bots & business automation
Great walkthrough. One lesson I'd add for first-time MCP server builders: be ruthless about state tracking if your tools mutate something the user owns (their browser tabs, files, terminal sessions).
I shipped a "safe" fallback in my Safari MCP server that defaulted to use the user's current tab when MCP loses track of its own — and an autonomous agent overwrote two of my real tabs with unsaved work mid-session. Three releases to get the guard right (v2.10.0 → v2.10.1 → v2.10.3). The permanent fix was a sticky session-scoped flag (_hasOwnedTab) that never resets, paired with thrown errors instead of silent fallback.
If you're building tools that act on user-owned state, this pattern is worth designing in up front rather than discovering it the hard way. Postmortem with the diff: dev.to/achiya-automation/an-ai-age...
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Great walkthrough. One lesson I'd add for first-time MCP server builders: be ruthless about state tracking if your tools mutate something the user owns (their browser tabs, files, terminal sessions).
I shipped a "safe" fallback in my Safari MCP server that defaulted to use the user's current tab when MCP loses track of its own — and an autonomous agent overwrote two of my real tabs with unsaved work mid-session. Three releases to get the guard right (v2.10.0 → v2.10.1 → v2.10.3). The permanent fix was a sticky session-scoped flag (
_hasOwnedTab) that never resets, paired with thrown errors instead of silent fallback.If you're building tools that act on user-owned state, this pattern is worth designing in up front rather than discovering it the hard way. Postmortem with the diff: dev.to/achiya-automation/an-ai-age...