diff --git a/.gitignore b/.gitignore
index 007ef76046f16522120663ea798724d4f4a9b4dc..509b46e7ac947299b35a7ef11dcaf12597820e1d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -210,6 +210,7 @@ Makefile.plugin.generated
 /src/plugins/gui/GSourceView2.ml
 /src/plugins/gui/GSourceView2.mli
 /src/plugins/gui/gtk_compat.ml
+/src/plugins/markdown-report/META
 
 # generated tar.gz files
 
diff --git a/src/plugins/markdown-report/.gitignore b/src/plugins/markdown-report/.gitignore
index 6c2faaa71d31861e38605eb6bebc51dec9a0e3da..08329726023435c95a4fdd89252eb0c3a5b27651 100644
--- a/src/plugins/markdown-report/.gitignore
+++ b/src/plugins/markdown-report/.gitignore
@@ -1,5 +1,4 @@
 *.cm*
-META.*
 *.o
 top/
 *.check_mli_exists
diff --git a/src/plugins/markdown-report/META.in b/src/plugins/markdown-report/META.in
new file mode 100644
index 0000000000000000000000000000000000000000..75396188206df1341f30f1f7c28adc067aa2acb6
--- /dev/null
+++ b/src/plugins/markdown-report/META.in
@@ -0,0 +1,7 @@
+description = "Frama-C Markdown_report plug-in"
+version = "@VERSION@"
+requires = "frama-c.kernel ppx_deriving ppx_deriving_yojson yojson"
+archive(byte) = "top/Markdown_report.cmo"
+archive(native) = "top/Markdown_report.cmx"
+plugin(native) = "top/Markdown_report.cmxs"
+plugin(byte) = "top/Markdown_report.cmo"
diff --git a/src/plugins/markdown-report/Makefile.in b/src/plugins/markdown-report/Makefile.in
index 1adec8aa487ab7e020bccff40c7594fa694ffed3..833c1113e093df02b5a3c8eda2500c58e987a2a7 100644
--- a/src/plugins/markdown-report/Makefile.in
+++ b/src/plugins/markdown-report/Makefile.in
@@ -32,6 +32,7 @@ endif
 PLUGIN_DIR ?=.
 PLUGIN_ENABLE:=@ENABLE_MDR@
 PLUGIN_NAME:=Markdown_report
+PLUGIN_HAS_META:=yes
 PLUGIN_GENERATED:=$(PLUGIN_DIR)/Markdown_report.mli
 PLUGIN_CMO:=\
   sarif mdr_params parse_remarks \
@@ -54,6 +55,14 @@ $(Markdown_report_DIR)/Markdown_report.mli: \
 	cat $(Markdown_report_DIR)/md_gen.mli >> $@
 	echo "end" >> $@
 
+VERSION:=$(shell $(CAT) $(FRAMAC_SRC)/VERSION)
+
+$(Markdown_report_DIR)/META: $(Markdown_report_DIR)/META.in $(FRAMAC_SRC)/VERSION
+	$(PRINT_MAKING) $@
+	$(RM) $@
+	$(SED) -e 's|@VERSION@|$(VERSION)|' $< > $@
+	$(CHMOD_RO) $@
+
 ifeq ("$(FRAMAC_INTERNAL)","yes")
 CONFIG_STATUS_DIR=$(FRAMAC_SRC)
 else