Clients can discover services and features available on the server if mod_disco is enabled. Some clients will automatically take advantage of the available items while others will need manual configuration.


mod_disco implements XEP-0030. Some modules automatically add their service details such as mod_register and mod_proxy65. Additional disco items can be added using the disco_items configuration option.


Clients use service discovery listing to automatically detect extra services associated with their domain, such as chatroom hosts and file transfer services. The results in this list are known as “items”.

By default Prosody will include all direct subdomains when responding to a service discovery items request. For example, a query for the items belonging to a host called would include a component called or, but wouldn’t include (because it isn’t a subdomain of or (because it isn’t a direct subdomain of

To include items that don’t match this pattern, you can use the disco_items option to specify additional items - you must specify the address of the item and optionally a name (which some clients may display). There is no requirement for the included items to be on the same server.

Account Query Access

Normally, only contacts of an account can discover features of that account. For service administrators it might make sense to allow their status as admins to be discoverable by others, e.g. when reporting abuse or problems, especially on public services.


    modules_enabled = {
        -- Other modules
        "disco"; -- Enable mod_disco


Option Default Notes
disco_items { } The extra items to add to service discovery, specified as { "address", "name" } pairs
disco_hidden false Whether the host/component should be hidden from its parent’s discovery list by default
disco_expose_admins false Whether admin accounts can be identified as such by non-contacts


    modules_enabled = {
        -- Other modules
        "disco"; -- Enable mod_disco

    -- An example adding two additional services to the host
    VirtualHost ""
        disco_items = {
            { "", "Public channels" };
            { "", "A public IRC gateway using biboumi" };
    Component ""
        -- Prevent a service discovery on from showing this component:
        disco_hidden = true