Abstract The ability of applications to dynamically discover required services is a key motivation for Web Services. However, this aspect is not entirely supported by current Web Services standards. It is our objective to develop a formal approach, allowing the automation of the discovery process. The approach is based on the matching of interface specifications of the required and provided services. In the present paper, we establish an integral notion of structural and behavioural compatibility of service specifications. While structural information is represented by operation declarations, behavioural descriptions are provided by contracts expressed as graph transformation rules with positive and negative application conditions. The integration of structural and behavioural descriptions is facilitated by typed and parameterised graph transformation systems, augmenting the rule-based description of behaviour by a type graph and operation declarations representing the structural aspect. The matching relation taking into account this combination is called parameterised substitution morphism. We show that substitution morphisms satisfy the semantic requirement inherent in its name: the substitutability of abstract operations by (calls to) concrete ones.