Skip to content

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.

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 satisfaction
FROM support.support.tickets t -- a MongoDB collection
JOIN boutique.public.clients c ON c.id = t.client_id -- a PostgreSQL table
GROUP BY 1

The 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.

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.

  • 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.
  • 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.

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.