MistralAI support for Matomo.
Get instant AI-generated insights for any Matomo report. The plugin adds an "Insights" button to all report widgets that analyzes your data and provides actionable recommendations.
A full-featured chat interface for asking questions about your analytics data.
Choose from preset models or specify custom model names.
Preset Models (curated for chat — code-completion, audio and vision-only specialists are excluded): - Mistral Large 3 - Mistral Medium 3.5 (default) - Mistral Small 4 - Magistral Medium 1.2 (reasoning) - Ministral 8B - Ministral 3B - Open Mistral Nemo (legacy multilingual)
Custom Models: Specify any model name to use models not in the preset list, perfect for: - Newer Mistral releases not yet in the preset - Code/audio/vision specialists (Codestral, Devstral, Voxtral, Pixtral, …) - Self-hosted LLMs (Mistral, LLaMA, etc.) - Other OpenAI-compatible providers
Configure different AI settings per website using Measurable Settings: - Override system-wide host, API key, and model per site - Customize prompts for specific websites - Leave empty to use system defaults
Connect to any OpenAI-compatible chat completions endpoint: - Mistral AI (default) - Self-hosted Mistral models (vLLM, Ollama, LocalAI, etc.) - Other OpenAI-compatible providers
Note: API key is optional when using custom hosts, making it easy to connect to local LLM instances.
Tailor the AI's behavior with custom prompts: - Chat Base Prompt: Customize how the AI responds in conversations - Insight Base Prompt: Customize how the AI analyzes report data
Full translations available in: - English - German (Deutsch) - Spanish (Español) - French (Français) - Italian (Italiano) - Dutch (Nederlands) - Swedish (Svenska)
Integrate AI-powered analytics insights and chat functionality into your Matomo instance using Mistral AI or any OpenAI-compatible API.
Get instant AI-generated insights for any Matomo report. The plugin adds an "Insights" button to all report widgets that analyzes your data and provides actionable recommendations.
A full-featured chat interface for asking questions about your analytics data.
Choose from preset models or specify custom model names:
Preset Models (curated for chat — code-completion, audio and vision-only specialists are excluded): - Mistral Large 3 - Mistral Medium 3.5 (default) - Mistral Small 4 - Magistral Medium 1.2 (reasoning) - Ministral 8B - Ministral 3B - Open Mistral Nemo (legacy multilingual)
Custom Models: Specify any model name to use models not in the preset list, perfect for newer Mistral releases, code/audio/vision specialists (Codestral, Devstral, Voxtral, Pixtral, …), self-hosted LLMs, or other OpenAI-compatible providers. If a custom model is rejected by the configured endpoint, the upstream error message will be shown in the chat.
Connect to any OpenAI-compatible chat completions endpoint: - Mistral AI (default) - Self-hosted Mistral models (vLLM, Ollama, LocalAI, etc.) - Other OpenAI-compatible providers
The chat and insight components use Matomo's native CSS theme variables, so the UI automatically follows your Matomo theme — both light and dark — without any additional configuration.
AI answers are sanitized before being displayed, so content coming from your reports (page titles, referrers...) cannot inject scripts or unsafe links in Matomo.
/plugins folderNavigate to Administration > General Settings > MistralAI to configure:
Setting Description Host API endpoint URL. Default:https://api.mistral.ai/v1/chat/completions
API Key
Your Mistral AI API key (required for Mistral AI, optional for custom hosts)
Model (Preset)
Select from available model presets
Model (Custom)
Override preset with a custom model name
Chat Base Prompt
System prompt for chat conversations
Insight Base Prompt
System prompt for report insights
All system settings can be overridden per website in the site's Measurable Settings. Leave fields empty to use system defaults.
This is useful for: - Using different models for different sites - Customizing prompts for specific website contexts - Using separate API keys per site
The plugin provides the following API methods:
Method DescriptionMistralAI.getResponse
Get AI response for messages (non-streaming)
MistralAI.getStreamingResponse
Get AI response with SSE streaming
MistralAI.getInsights
Get AI insights for report data
MistralAI.getResponse
- idSite - Site ID
- period - Period (day, week, month, year)
- date - Date string
- messages - Conversation messages in chat completions format
MistralAI.getInsights
- idSite - Site ID
- period - Period
- date - Date string
- widgetParams - Parameters of the report widget (module, action, idGoal, segment...)
- messages - Conversation messages
All API methods require appropriate view permissions for the requested site.
The plugin interface is available in: - English - German (Deutsch) - Spanish (Español) - French (Français) - Italian (Italiano) - Dutch (Nederlands) - Swedish (Svenska)
How do I install this plugin?
This plugin is available in the official Matomo Marketplace:
Alternatively, download the plugin from GitHub and extract it to your /plugins folder.
What do I need to make it work?
You need a Mistral AI API key, which you can create in the Mistral AI console at https://console.mistral.ai/. If you're using a custom host (like a self-hosted LLM), an API key may be optional.
Can I use models other than Mistral AI's?
Yes! The plugin supports any OpenAI-compatible chat completions endpoint. You can connect to:
Simply configure the custom host URL in the plugin settings.
Which models are supported?
The plugin includes presets curated for back-and-forth chat:
mistral-large-latest)mistral-medium-latest) — defaultmistral-small-latest)magistral-medium-latest) — reasoningministral-8b-latest)ministral-3b-latest)open-mistral-nemo) — legacy multilingualYou can also specify any custom model name for models not in the preset list.
Why aren't Codestral, Devstral, Voxtral or Pixtral in the list?
Code-completion specialists (Codestral, Devstral), audio (Voxtral) and vision-only models (Pixtral) were intentionally left out of the dropdown because they are tuned for one-shot tasks rather than conversation. You can still use them — or any other model — through the Model (Custom) field.
What happens if my model name is wrong or the API returns an error?
The plugin surfaces upstream API errors as a danger notice directly inside the chat (for both streaming and non-streaming requests). You'll see the actual error message returned by Mistral AI (or your custom host) — for example, an invalid model name, quota issue, or authentication problem — instead of a silent failure.
Does the plugin support dark mode?
Yes. The chat and insight components are styled with Matomo's native CSS theme variables (--theme-color-background-contrast, --theme-color-border, etc.), so they automatically follow whichever Matomo theme is active — light or dark — with no extra configuration.
Are the AI answers safe to display?
Yes. The answers are converted from Markdown and sanitized before being displayed: scripts, event handlers and unsafe links are removed, even when the answer is built from report data such as page titles or referrers.
Is the plugin available to all users in my Matomo instance?
Yes, once activated, all users with view permissions can access the AI features for their permitted sites.
Can I configure different settings per website?
Yes! Use Measurable Settings to override the system-wide host, API key, model, and prompts for specific websites. Leave fields empty to use system defaults.
How do I get insights for a report?
Does the plugin support streaming responses?
Yes, real-time streaming responses are supported. The plugin automatically falls back to non-streaming mode if your server doesn't support Server-Sent Events (SSE) or closes the stream without content.
Can I customize the AI's behavior?
Yes, you can customize:
These can be set globally or per website.
What languages are supported?
The plugin interface is translated into:
What are the requirements?
Is my data sent to Mistral AI?
When you use the Insights feature or Chat, the relevant report data and your messages are sent to the configured API endpoint (Mistral AI by default). If you have data privacy concerns, consider using a self-hosted LLM solution.
How can I contribute to this plugin?
You can contribute by:
How long will this plugin be maintained?
The plugin is actively maintained. The developer uses Matomo on many projects and will continue to patch and improve the plugin.
Version
6.0.0
License
Keywords
chat, mistral, ai, mistralai, assistant, assistants, insight, insights
Last Updated
Sep 15th 2026
Requirements
Matomo >=6.0.0-b1,<7.0.0-b1
PHP >=8.1.0
Matomo 5.x, Matomo 6.x
Downloads
17520
Changelog
Authors
Websites
Activity
61 commits (last commit 3 hours ago)
Developer
Support
View and download this plugin for a specific Matomo version: