This paper describes an agent-based architecture designed to support the interoperation of distributed and disparate information processing tools and resources. This work is based on the premise that many computer users have a tool kit of familiar software tools and information resources that must be used in conjunction to perform the user's information processing tasks. The architecture extends previous work on agent-based software interoperability, being based on the technique of encapsulating tools inside agent wrappers that communicate using high-level declarative messages. This, together with the use of a matchmaking `facilitator' agent, allows agents to be added to the system or replaced at any time. Common patterns of tool interoperation can be automated through the use of a planning agent and a user agent that executes plans on behalf of the user. To address the unique features of information processing tasks, a novel extension of hierarchical task-network (HTN) plan...