5.10. MCPs¶
Note
This code is “Pre-Release Functionality” or “Pre-Release Code” and is not yet ready for production. It is made available on a complimentary basis, in order to provide experimental support, showcase samples, or for other similar experimental reasons in connection with the services you get from The Qt Company Oy. This Pre-Release Functionality/Code is governed by your licensing agreement with The Qt Company (including specifically its Pre-Release Code provisions) or, if you don’t have one, the terms and conditions available at https://www.qt.io/terms-conditions-2024-02 (including the Qt Appendix for Axivion available at https://www.qt.io/terms-conditions/axivion-2025-03, Appendix for Qt AI Services available at https://www.qt.io/terms-conditions/ai-services-2025-06 and other addenda). Access to and use of this Pre-Release Code requires a valid commercial Axivion license and is available to active license holders.
The Axivion Suite can be accessed and controlled from various coding agents / LLMs via MCP servers. There are different MCP servers available, each serving a different purpose.
5.10.1. Available MCPs¶
5.10.1.1. Dashboard / Results MCP¶
The dashboard MCP (ax_dashboard) offers access to the results stored in a given
dashboard or database. It is intended for working with findings, analyzing and fixing them.
The ax_dashboard MCP server can also access the local build results if a local build
has been performed, allowing it to work with the most recent analysis results alongside
dashboard results. Additionally, it can execute local builds to verify whether findings have
been resolved, enabling an agent loop for iterative fixing and verification.
5.10.1.2. Documentation MCP¶
The documentation MCP (ax_documentation) provides improved access to the Axivion
documentation via semantic search. It enables LLMs and agents to query the documentation
efficiently and can be used standalone or to provide additional context when working with
other MCP servers.
5.10.2. How to Obtain the MCPs¶
The MCP servers are available as Axivion-MCPs-<version>.zip, which is distributed alongside the
main Axivion Suite installer.
5.10.3. Setup and Configuration¶
5.10.3.1. Prerequisites¶
To run the servers, install the Python packages from requirements.txt inside a virtual
environment, ideally managed by uv:
uv venv
uv pip install --requirements <path_to_axivion-mcps>/requirements.txt
The Python executable from this environment is then passed to the MCP server via the
BAUHAUS_PYTHON environment variable.
5.10.3.2. Configuration¶
Dashboard MCP (ax_dashboard)¶
For certain commands such as creating suppression comments, ax_dashboard needs access to
the current project configuration via BAUHAUS_CONFIG (set as usual).
ax_dashboard also cooperates with the Axivion Suite IDE plugins when available, using
locally available build results alongside dashboard results.
Documentation MCP (ax_documentation)¶
The search_axivion_documentation tool requires a search index generated by
parse_docs.py. What it does is turning the documentation into a vector embedding.
Together these embeddings form a semantic search index, which lets queries match
documentation by meaning rather than exact keywords.
Generate it once after installation:
uv run <path_to_axivion-mcps>/ax_documentation/parse_docs.py --suite-path <path_to_bauhaus-suite>
This creates <path_to_bauhaus-suite>/doc/doc_index/ from the HTML documentation and
code examples shipped with the suite.
Note that the generation can take several hours. If you run into issues check the FAQ or contact axivion.support@qt.io
5.10.3.3. Integration into IDEs¶
VS Code (Windows, Linux, macOS)¶
VS Code 1.109.2 or later is required for MCP server support. Add the servers to
.vscode/mcp.json, adapting the paths to your Axivion installation and project:
{
"servers": {
"axdocumentation": {
"type": "stdio",
"command": "<path_to_bauhaus-suite>/bin/rfgscript",
"args": [
"<path_to_axivion-mcps>/ax_documentation/ax_documentation.py"
],
"env": {
"BAUHAUS_PYTHON": "<path_to_venv>/bin/python",
"BAUHAUS_INSTDIR": "<path_to_bauhaus-suite>"
}
},
"axdashboard": {
"type": "stdio",
"command": "<path_to_bauhaus-suite>/bin/rfgscript",
"args": [
"<path_to_axivion-mcps>/ax_dashboard/ax_dashboard.py"
],
"env": {
"BAUHAUS_INSTDIR": "<path_to_bauhaus-suite>",
"BAUHAUS_PYTHON": "<path_to_venv>/bin/python",
"BAUHAUS_CONFIG": "${workspaceFolder}/axivion",
"AXIVION_DATABASES_DIR": "<optional_path_to_databases>"
}
}
}
}
ax_documentation can also be hosted centrally over HTTP:
MCP_HTTP_HOST=<hostname> MCP_TRANSPORT=http DOC_HTTP_BIND=0.0.0.0 rfgscript <path_to_axivion-mcps>/ax_documentation/ax_documentation.py
For this case, add it as an HTTP server in .vscode/mcp.json instead:
{
"servers": {
"axdocumentation_http": {
"type": "http",
"url": "http://<hostname>:<port>/mcp"
}
}
}
Claude Desktop (Windows)¶
Add the following to %APPDATA%\claude_desktop_config.json:
{
"mcpServers": {
"axdocumentation": {
"command": "<path_to_bauhaus-suite>\\bin\\rfgscript.exe",
"args": [
"<path_to_axivion-mcps>\\ax_documentation\\ax_documentation.py"
],
"env": {
"BAUHAUS_PYTHON": "<path_to_venv>/bin/python",
"BAUHAUS_INSTDIR": "<path_to_bauhaus-suite>"
}
},
"ax_dashboard": {
"command": "<path_to_bauhaus-suite>\\bin\\rfgscript.exe",
"args": [
"<path_to_axivion-mcps>\\ax_dashboard\\ax_dashboard.py"
],
"env": {
"BAUHAUS_PYTHON": "<path_to_venv>\\Scripts\\python.exe",
"BAUHAUS_INSTDIR": "<path_to_bauhaus-suite>",
"BAUHAUS_CONFIG": "<path_to_project_config>"
}
}
}
}
Claude Code (Windows, Linux, macOS)¶
Adapt the configuration bellow and add it to C:\Users\<username>\.claude.json on Windows
or /home/<username>/.claude.json on Linux or /Users/<username>/.claude.json on macOS:
{
"mcpServers": {
"axdocumentation": {
"command": "<path_to_bauhaus-suite>\\bin\\rfgscript.exe",
"args": [
"<path_to_axivion-mcps>\\ax_documentation\\ax_documentation.py"
],
"env": {
"BAUHAUS_PYTHON": "<path_to_venv>/bin/python",
"BAUHAUS_INSTDIR": "<path_to_bauhaus-suite>"
}
},
"ax_dashboard": {
"command": "<path_to_bauhaus-suite>\\bin\\rfgscript.exe",
"args": [
"<path_to_axivion-mcps>\\ax_dashboard\\ax_dashboard.py"
],
"env": {
"BAUHAUS_PYTHON": "<path_to_venv>\\Scripts\\python.exe",
"BAUHAUS_INSTDIR": "<path_to_bauhaus-suite>",
"BAUHAUS_CONFIG": "<path_to_project_config>"
}
}
}
}
5.10.4. FAQ¶
Q: When running parse_docs.py or after doing a prompt I get a huggingface.co connection issue.
A: The MCP downloads a text embedding model from huggingface.co and uses it to turn each chunk of documentation into a vector embedding. Together these embeddings form a semantic search index, which lets queries match documentation by meaning rather than exact keywords.
If you run into connection issues, it is likely that a company policy blocks the internet connection to huggingface.co. In this case, currently the only way around it is to ask axivion.support@qt.io to transfer the model to you.
Q: The axdocumentation MCP does not start reliably and in the logs I see a
“Documentation parser not initialized.” message even though I have added /doc_index
to the bauhaus suite path and set BAUHAUS_INSTDIR accordingly.
A: If you are using Windows and the Axivion Suite is installed on C:Program Files
or C:Program Files (x86), the MCP may not be able to access the documentation
index due to Windows file system permissions. In this case, you can either move the Axivion Suite
to a different location or run the following command with elevated permissions to
grant read, create, change, and delete permissions in doc_index and everything
beneath it.
icacls "C:Program Files (x86)Bauhausdocdoc_index" /grant "DOMAINUSER:(OI)(CI)M" /T