<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.15.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen MCP Server: doxygen_mcp.server Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Doxygen MCP Server
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.15.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('namespacedoxygen__mcp_1_1server.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">doxygen_mcp.server Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:DoxygenConfig" id="r_DoxygenConfig"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classdoxygen__mcp_1_1server_1_1_doxygen_config.html">DoxygenConfig</a></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a219b291d78942e6529d5d14a29afb3cd" id="r_a219b291d78942e6529d5d14a29afb3cd"><td class="memItemLeft" align="right" valign="top">str </td><td class="memItemRight" valign="bottom"><a class="el" href="#a219b291d78942e6529d5d14a29afb3cd">create_doxygen_project</a> (str project_name, str project_path, str language="mixed", bool include_subdirs=True, bool extract_private=False)</td></tr>
<tr class="memitem:af54109e1fe48151097551d8b6514733a" id="r_af54109e1fe48151097551d8b6514733a"><td class="memItemLeft" align="right" valign="top">str </td><td class="memItemRight" valign="bottom"><a class="el" href="#af54109e1fe48151097551d8b6514733a">generate_documentation</a> (str project_path, str output_format="html", bool clean_output=True, bool verbose=False)</td></tr>
<tr class="memitem:a35b2b9865417c2e4e5578eabf722985b" id="r_a35b2b9865417c2e4e5578eabf722985b"><td class="memItemLeft" align="right" valign="top">str </td><td class="memItemRight" valign="bottom"><a class="el" href="#a35b2b9865417c2e4e5578eabf722985b">scan_project</a> (str project_path)</td></tr>
<tr class="memitem:a9472b5af1271de553243057e15e66311" id="r_a9472b5af1271de553243057e15e66311"><td class="memItemLeft" align="right" valign="top">str </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9472b5af1271de553243057e15e66311">validate_documentation</a> (str project_path, bool check_coverage=True, bool warn_undocumented=True, str output_format="text")</td></tr>
<tr class="memitem:add05b8030cb0f38b92abae62f9b18b86" id="r_add05b8030cb0f38b92abae62f9b18b86"><td class="memItemLeft" align="right" valign="top">str </td><td class="memItemRight" valign="bottom"><a class="el" href="#add05b8030cb0f38b92abae62f9b18b86">create_doxyfile</a> (str output_path, str template="standard", dict project_settings={}, list language_optimizations=[])</td></tr>
<tr class="memitem:a59adf8cd9644737fde2a4d67112c83a9" id="r_a59adf8cd9644737fde2a4d67112c83a9"><td class="memItemLeft" align="right" valign="top">str </td><td class="memItemRight" valign="bottom"><a class="el" href="#a59adf8cd9644737fde2a4d67112c83a9">check_doxygen_install</a> (bool check_dot=True, bool check_latex=True, bool detailed=False)</td></tr>
<tr class="memitem:a4d3dbe0428ffe2d0bf544b4bf4307029" id="r_a4d3dbe0428ffe2d0bf544b4bf4307029"><td class="memItemLeft" align="right" valign="top">str </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4d3dbe0428ffe2d0bf544b4bf4307029">suggest_file_patterns</a> (str project_path, str primary_language="", bool include_tests=False, bool include_examples=True)</td></tr>
<tr class="memitem:a7200d238798fee09e5bf9611e578483b" id="r_a7200d238798fee09e5bf9611e578483b"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7200d238798fee09e5bf9611e578483b">main</a> ()</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-var-members" class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a2ee9b13cd0a6ff06a596e07b4f338a12" id="r_a2ee9b13cd0a6ff06a596e07b4f338a12"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2ee9b13cd0a6ff06a596e07b4f338a12">level</a></td></tr>
<tr class="memitem:a93f1b823888b5aa1e90f901e2ecf89cc" id="r_a93f1b823888b5aa1e90f901e2ecf89cc"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a93f1b823888b5aa1e90f901e2ecf89cc">logger</a> = logging.getLogger("doxygen-mcp")</td></tr>
<tr class="memitem:a1ba7fd448d6058b759c529cf472320aa" id="r_a1ba7fd448d6058b759c529cf472320aa"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1ba7fd448d6058b759c529cf472320aa">mcp</a> = FastMCP("Doxygen")</td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><pre class="fragment">Doxygen MCP Server
A comprehensive Model Context Protocol server that provides full access to Doxygen's
documentation generation capabilities. This server exposes Doxygen's complete feature
set through a clean MCP interface, enabling AI assistants to generate, configure,
and manage documentation for any supported programming language.
Supported Languages:
- Primary: C, C++, Python, PHP
- Extended: Java, C#, JavaScript, Objective-C, Fortran, VHDL
- Additional: Batch, PowerShell, Bash, Perl, Go (through extension mapping)
Key Features:
- Project initialization and configuration management
- Multi-format output generation (HTML, PDF, LaTeX, XML, etc.)
- Advanced diagram generation (UML, call graphs, inheritance diagrams)
- Documentation coverage analysis and validation
- Cross-referencing and link generation
- Custom theme and layout support
</pre> </div><a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
<a id="a59adf8cd9644737fde2a4d67112c83a9" name="a59adf8cd9644737fde2a4d67112c83a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59adf8cd9644737fde2a4d67112c83a9">◆ </a></span>check_doxygen_install()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"> str doxygen_mcp.server.check_doxygen_install </td>
<td>(</td>
<td class="paramtype">bool </td> <td class="paramname"><span class="paramname"><em>check_dot</em></span><span class="paramdefsep"> = </span><span class="paramdefval">True</span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td> <td class="paramname"><span class="paramname"><em>check_latex</em></span><span class="paramdefsep"> = </span><span class="paramdefval">True</span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td> <td class="paramname"><span class="paramname"><em>detailed</em></span><span class="paramdefsep"> = </span><span class="paramdefval">False</span> )</td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Verify Doxygen installation and capabilities</pre>
<p class="definition">Definition at line <a class="el" href="server_8py_source.html#l00403">403</a> of file <a class="el" href="server_8py_source.html">server.py</a>.</p>
</div>
</div>
<a id="add05b8030cb0f38b92abae62f9b18b86" name="add05b8030cb0f38b92abae62f9b18b86"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add05b8030cb0f38b92abae62f9b18b86">◆ </a></span>create_doxyfile()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"> str doxygen_mcp.server.create_doxyfile </td>
<td>(</td>
<td class="paramtype">str</td> <td class="paramname"><span class="paramname"><em>output_path</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">str </td> <td class="paramname"><span class="paramname"><em>template</em></span><span class="paramdefsep"> = </span><span class="paramdefval">"standard"</span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dict </td> <td class="paramname"><span class="paramname"><em>project_settings</em></span><span class="paramdefsep"> = </span><span class="paramdefval">{}</span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">list </td> <td class="paramname"><span class="paramname"><em>language_optimizations</em></span><span class="paramdefsep"> = </span><span class="paramdefval">[]</span> )</td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Generate a Doxyfile configuration with specified settings</pre>
<p class="definition">Definition at line <a class="el" href="server_8py_source.html#l00393">393</a> of file <a class="el" href="server_8py_source.html">server.py</a>.</p>
</div>
</div>
<a id="a219b291d78942e6529d5d14a29afb3cd" name="a219b291d78942e6529d5d14a29afb3cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a219b291d78942e6529d5d14a29afb3cd">◆ </a></span>create_doxygen_project()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"> str doxygen_mcp.server.create_doxygen_project </td>
<td>(</td>
<td class="paramtype">str</td> <td class="paramname"><span class="paramname"><em>project_name</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">str</td> <td class="paramname"><span class="paramname"><em>project_path</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">str </td> <td class="paramname"><span class="paramname"><em>language</em></span><span class="paramdefsep"> = </span><span class="paramdefval">"mixed"</span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td> <td class="paramname"><span class="paramname"><em>include_subdirs</em></span><span class="paramdefsep"> = </span><span class="paramdefval">True</span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td> <td class="paramname"><span class="paramname"><em>extract_private</em></span><span class="paramdefsep"> = </span><span class="paramdefval">False</span> )</td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Initialize a new Doxygen documentation project with configuration</pre>
<p class="definition">Definition at line <a class="el" href="server_8py_source.html#l00197">197</a> of file <a class="el" href="server_8py_source.html">server.py</a>.</p>
</div>
</div>
<a id="af54109e1fe48151097551d8b6514733a" name="af54109e1fe48151097551d8b6514733a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af54109e1fe48151097551d8b6514733a">◆ </a></span>generate_documentation()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"> str doxygen_mcp.server.generate_documentation </td>
<td>(</td>
<td class="paramtype">str</td> <td class="paramname"><span class="paramname"><em>project_path</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">str </td> <td class="paramname"><span class="paramname"><em>output_format</em></span><span class="paramdefsep"> = </span><span class="paramdefval">"html"</span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td> <td class="paramname"><span class="paramname"><em>clean_output</em></span><span class="paramdefsep"> = </span><span class="paramdefval">True</span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td> <td class="paramname"><span class="paramname"><em>verbose</em></span><span class="paramdefsep"> = </span><span class="paramdefval">False</span> )</td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Generate documentation from source code using Doxygen</pre>
<p class="definition">Definition at line <a class="el" href="server_8py_source.html#l00275">275</a> of file <a class="el" href="server_8py_source.html">server.py</a>.</p>
</div>
</div>
<a id="a7200d238798fee09e5bf9611e578483b" name="a7200d238798fee09e5bf9611e578483b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7200d238798fee09e5bf9611e578483b">◆ </a></span>main()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">doxygen_mcp.server.main </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Main entry point for the Doxygen MCP server</pre>
<p class="definition">Definition at line <a class="el" href="server_8py_source.html#l00500">500</a> of file <a class="el" href="server_8py_source.html">server.py</a>.</p>
</div>
</div>
<a id="a35b2b9865417c2e4e5578eabf722985b" name="a35b2b9865417c2e4e5578eabf722985b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35b2b9865417c2e4e5578eabf722985b">◆ </a></span>scan_project()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"> str doxygen_mcp.server.scan_project </td>
<td>(</td>
<td class="paramtype">str</td> <td class="paramname"><span class="paramname"><em>project_path</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Analyze project structure and identify documentation opportunities</pre>
<p class="definition">Definition at line <a class="el" href="server_8py_source.html#l00344">344</a> of file <a class="el" href="server_8py_source.html">server.py</a>.</p>
</div>
</div>
<a id="a4d3dbe0428ffe2d0bf544b4bf4307029" name="a4d3dbe0428ffe2d0bf544b4bf4307029"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d3dbe0428ffe2d0bf544b4bf4307029">◆ </a></span>suggest_file_patterns()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"> str doxygen_mcp.server.suggest_file_patterns </td>
<td>(</td>
<td class="paramtype">str</td> <td class="paramname"><span class="paramname"><em>project_path</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">str </td> <td class="paramname"><span class="paramname"><em>primary_language</em></span><span class="paramdefsep"> = </span><span class="paramdefval">""</span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td> <td class="paramname"><span class="paramname"><em>include_tests</em></span><span class="paramdefsep"> = </span><span class="paramdefval">False</span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td> <td class="paramname"><span class="paramname"><em>include_examples</em></span><span class="paramdefsep"> = </span><span class="paramdefval">True</span> )</td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Suggest appropriate file patterns for a project</pre>
<p class="definition">Definition at line <a class="el" href="server_8py_source.html#l00420">420</a> of file <a class="el" href="server_8py_source.html">server.py</a>.</p>
</div>
</div>
<a id="a9472b5af1271de553243057e15e66311" name="a9472b5af1271de553243057e15e66311"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9472b5af1271de553243057e15e66311">◆ </a></span>validate_documentation()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"> str doxygen_mcp.server.validate_documentation </td>
<td>(</td>
<td class="paramtype">str</td> <td class="paramname"><span class="paramname"><em>project_path</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td> <td class="paramname"><span class="paramname"><em>check_coverage</em></span><span class="paramdefsep"> = </span><span class="paramdefval">True</span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td> <td class="paramname"><span class="paramname"><em>warn_undocumented</em></span><span class="paramdefsep"> = </span><span class="paramdefval">True</span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">str </td> <td class="paramname"><span class="paramname"><em>output_format</em></span><span class="paramdefsep"> = </span><span class="paramdefval">"text"</span> )</td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Check for documentation warnings, missing docs, and coverage analysis</pre>
<p class="definition">Definition at line <a class="el" href="server_8py_source.html#l00383">383</a> of file <a class="el" href="server_8py_source.html">server.py</a>.</p>
</div>
</div>
<a name="doc-var-members" id="doc-var-members"></a><h2 id="header-doc-var-members" class="groupheader">Variable Documentation</h2>
<a id="a2ee9b13cd0a6ff06a596e07b4f338a12" name="a2ee9b13cd0a6ff06a596e07b4f338a12"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ee9b13cd0a6ff06a596e07b4f338a12">◆ </a></span>level</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">doxygen_mcp.server.level</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="server_8py_source.html#l00044">44</a> of file <a class="el" href="server_8py_source.html">server.py</a>.</p>
</div>
</div>
<a id="a93f1b823888b5aa1e90f901e2ecf89cc" name="a93f1b823888b5aa1e90f901e2ecf89cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93f1b823888b5aa1e90f901e2ecf89cc">◆ </a></span>logger</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">doxygen_mcp.server.logger = logging.getLogger("doxygen-mcp")</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="server_8py_source.html#l00045">45</a> of file <a class="el" href="server_8py_source.html">server.py</a>.</p>
</div>
</div>
<a id="a1ba7fd448d6058b759c529cf472320aa" name="a1ba7fd448d6058b759c529cf472320aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ba7fd448d6058b759c529cf472320aa">◆ </a></span>mcp</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">doxygen_mcp.server.mcp = FastMCP("Doxygen")</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="server_8py_source.html#l00047">47</a> of file <a class="el" href="server_8py_source.html">server.py</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="page-nav" class="page-nav-panel">
<div id="page-nav-resize-handle"></div>
<div id="page-nav-tree">
<div id="page-nav-contents">
</div><!-- page-nav-contents -->
</div><!-- page-nav-tree -->
</div><!-- page-nav -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a href="namespacedoxygen__mcp.html">doxygen_mcp</a></li><li class="navelem"><a href="namespacedoxygen__mcp_1_1server.html">server</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0 </li>
</ul>
</div>
</body>
</html>