The computing industry has yet to take up agent technology as a new approach to software development. While other paradigms are supported by various tools, including generic IDEs, these are not well developed for agent-ware. Many agent platforms provide some form of IDE but these are platform-specific and are typically so tightly coupled to their agent platforms that they offer little re-use. There has been too little discussion about which tools an IDE should contain and few attempts to produce a generic IDE. In this paper, we identify two levels of abstraction requiring IDE tool support and draw on current research to categorise a set of generic tools for each level. We describe the reasons why existing MAS IDEs are coupled to their platforms and present an extendible software architecture which avoids this coupling. We build an IDE using this architecture and demonstrate its decoupling and extensibility by experimentation.