This module adds Open Graph Protocol metadata to URLs sent inside a MUC.

With mod_ogp enabled, when a user sends a URL in a MUC (where the message has its id equal to its origin-id), the module calls the URL and parses the result for <meta> html tags that have any og:... properties. If it finds any, it sends a XEP-0422 fastening applied to the original message that looks like:

<message id="example" from="" to="">
<apply-to xmlns="urn:xmpp:fasten:0" id="origin-id-X">
<meta xmlns="" property="og:title" content="The Rock"/>
<meta xmlns="" property="og:url" content=""/>
<meta xmlns="" property="og:image" content=""/>

The module is intentionally simple in the sense that it is basically a transport for


You can present an allowlist or denylist of domains for which OGP metadata will be fetched via the ogp_domain_allowlist and ogp_domain_denylist settings repectively.

For example:

Component "" "muc"
  modules_enabled = { "ogp" }
  ogp_domain_allowlist = { "" }


With the plugin installer in Prosody 0.12 you can use:

sudo prosodyctl install --server= mod_ogp

For earlier versions see the documentation for installing 3rd party modules