diff --git a/Makefile b/Makefile
index 3452a66585a463b1ade85a5f616e44d52b589610..db4b105ede7d37525f0b873ea747a5b5ba28703b 100644
--- a/Makefile
+++ b/Makefile
@@ -107,6 +107,12 @@ PTEST_USE_WP_CACHE:=yes
 # Part that can be shared for external plugins
 include share/Makefile.testing
 
+###############################################################################
+# Server Documentation
+################################
+
+include share/Makefile.serverdoc
+
 ###############################################################################
 
 # Code prettyfication and lint
diff --git a/share/Makefile.serverdoc b/share/Makefile.serverdoc
new file mode 100644
index 0000000000000000000000000000000000000000..8d438a8fd7439b1430bbce26d97dfc6734e58561
--- /dev/null
+++ b/share/Makefile.serverdoc
@@ -0,0 +1,51 @@
+##########################################################################
+#                                                                        #
+#  This file is part of Frama-C.                                         #
+#                                                                        #
+#  Copyright (C) 2007-2022                                               #
+#    CEA (Commissariat à l'énergie atomique et aux énergies              #
+#         alternatives)                                                  #
+#                                                                        #
+#  you can redistribute it and/or modify it under the terms of the GNU   #
+#  Lesser General Public License as published by the Free Software       #
+#  Foundation, version 2.1.                                              #
+#                                                                        #
+#  It is distributed in the hope that it will be useful,                 #
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of        #
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         #
+#  GNU Lesser General Public License for more details.                   #
+#                                                                        #
+#  See the GNU Lesser General Public License version 2.1                 #
+#  for more details (enclosed in the file licenses/LGPLv2.1).            #
+#                                                                        #
+##########################################################################
+
+##########################################################################
+#                                                                        #
+# Generate Documentation for Server Requests and Protocols.              #
+#                                                                        #
+##########################################################################
+
+.PHONY: server-doc-md server-doc-html server-doc
+
+server-doc-md: all
+	$(PRINT) 'Generating Markdown server documentation'
+	@rm -fr doc/server
+	@mkdir -p doc/server
+	./bin/frama-c -server-doc doc/server
+
+server-doc-html: server-doc-md
+	$(PRINT) 'Generating HTML server documentation'
+	@find doc/server -name "*.md" -print -exec pandoc \
+			--standalone --toc --toc-depth=2 --to html \
+			--template doc/pandoc/template.html \
+			--metadata-file {}.json \
+			--lua-filter doc/pandoc/href.lua \
+			{} -o {}.html \;
+	@cp -f doc/pandoc/style.css doc/server/
+	$(PRINT) 'Server Documentation Generated'
+	$(PRINT) '  file://$(PWD)/doc/server/readme.md.html'
+
+server-doc: server-doc-html
+
+##########################################################################