Introduction
eodia insights is an open source BI tool in the spirit of Metabase: you connect your databases, describe them, then build questions — point-and-click or in SQL —, models, metrics and dashboards, which you share with fine-grained permissions. One decision drives everything else: every query goes through Trino, and Trino is what enforces permissions.
Trino, a single engine
Section titled “Trino, a single engine”Each connected source becomes a Trino catalog. A table is therefore always referenced the
same way, catalog.schema.table, whatever engine holds it:
SELECT c.segment, avg(t.satisfaction) AS satisfactionFROM support.support.tickets t -- a MongoDB collectionJOIN boutique.public.clients c ON c.id = t.client_id -- a PostgreSQL tableGROUP BY 1The visual editor, the SQL editor, dashboard cards, the copilot, the REST API and the MCP server all send their queries to Trino. There is only one dialect to learn, and cross-database queries come naturally.
Permissions enforced by the engine
Section titled “Permissions enforced by the engine”Before each statement, Trino asks the eodia insights API what the person can read: the API mimics an OPA (Open Policy Agent) server, with no need to deploy one. It answers which tables are visible, which columns are hidden or masked, and which filter to add to each read of a table.
The consequence is simple: no path bypasses the rules, not even free-form SQL. A person who may only see the customers in their region sees only those, whether they go through a dashboard, a hand-written query or an assistant connected to the MCP server. See Permissions and groups.
What you will find
Section titled “What you will find”- Data sources on seven engines: PostgreSQL, MySQL / MariaDB, SQL Server, Oracle, Snowflake, MongoDB, and any Trino connector.
- A Structure screen to describe tables: labels, descriptions, semantic types, formats, values, relationships.
- Questions built with the visual editor (joins included), in Trino SQL or in native SQL, and twenty-two visualizations — radar, polar bars, bubbles, treemap, calendar, bar and line races, key figures with a sparkline — with palettes everyone can read.
- Forecasts that extend a line in dotted green, with seasonality and a confidence interval.
- Models and metrics: virtual tables and named aggregates, defined once.
- Dashboards with associative filters (selected, possible, excluded, as in Qlik), selection with Shift + click on charts, tabs, automatic refresh that slides values to their new ones, a result cache and PDF export.
- Themes — fonts, colors, palette, logo — applied to a folder and inherited by everything in it, down to the PDF.
- Permissions by group, down to the column and the row.
- Sharing: folders, item sharing, public links, iframes, and signed embedding.
- An AI assistant to talk with your data — written answers, interactive charts, saved history, sources of your choice — and a copilot in every screen (Anthropic, OpenAI, Mistral or OpenAI-compatible) that suggests questions and dashboards.
- An interface in French, English and Spanish: the browser’s language, or the one chosen in the account menu; API messages follow.
- A REST API described in OpenAPI 3.1 and an MCP server for Claude and other assistants, which even draws charts in the conversation.
Who is it for?
Section titled “Who is it for?”- Analysts, who want to write SQL against every database in the company without juggling seven dialects.
- Business teams, who explore a table point-and-click and view dashboards filtered for them.
- Data owners, who want access rules enforced everywhere, not just in the interface.
- AI agents, which get a read-only MCP server, under the permissions of their token.
Project status
Section titled “Project status”eodia insights is free software, distributed under the
AGPL-3.0-or-later license, and under
active development. Its code is on GitHub; the
docs/PLAN.md document sets out the
decisions and the phasing.
eodia insights is free software by Eodia.