Skip to main content

Your agents need your data, not your database passwords.

Marmot gives people and agents one governed way in to your data. It knows what every table means and who owns it, checks each query against your rules, and records every answer. Run it yourself or on Marmot Cloud.

orders
shop.orders.v2
customersRefused
stg_orders
orders_daily7 rows
customers_dim
Revenue overview
Customer health
finance-agentover MCP · sample data

What was revenue last week, and can I trust the number?

  1. Searched the catalogorders_daily, certified, owned by Analytics Engineering
  2. Read its lineageBuilt by dbt from shop.public.orders
  3. Checked its accesssvc-finance may read orders_daily
  4. Ran a query on orders_daily7 rows in 412 ms, on record
  5. Asked for customer emailsRefused: no grant on customers.email

Revenue last week was £413,180 across 8,615 orders, from the certified orders_daily.

“Marmot brings metadata, ownership and lineage into one searchable catalog, making data products easier to discover and understand.”

Manuel Jáñez GarcíaSenior Specialist of Data Governance Services, Telefónica

Catalogs what you already run, with more than 60 pluginsBrowse plugins

PostgreSQL, BigQuery, Kafka, dbt, Airflow, S3, ClickHouse, Trino, MongoDB and dozens more.

Let agents query your data without handing out passwords

People and agents run SQL through Marmot. It checks every query against your rules before it reaches the database, and keeps a record of all of them.

  • SQL against the sources you connect
  • Refused before it reaches the database
  • Who ran what, when, and what came back
How access control works

revenue-agent’s query on orders_daily runs and returns 7 rows. Its next query reads a personal data column and is refused. Both land in the query audit. Sample data.

Why a database password isn’t enough

We asked finance-agent for last week’s revenue, once with a password and once through Marmot.

  • Without MarmotIt has a database password and guesses which table holds revenue.
  • With MarmotIt finds the certified table, and its query on customer emails is refused.
finance-agentRead-only database password
orders
orders_v2
orders_final
revenue_tmp
orders_daily
customers
finance-agentOver MCP
orders
orders_v2
orders_final
revenue_tmp
orders_daily
customers
Personal data · needs a grant

Two maps of the same tables. Without Marmot, the agent guesses between look-alike order tables with a database password, and ends up reading customer emails. With Marmot, it takes one logged route to the certified orders_daily table, and its query on the customer table is refused.

Find the right table without asking in Slack

Search every source in plain words, then narrow it with conditions anyone can read.

  • Tables, topics, dashboards and models in one list
  • Filter by type, owner, tag or any metadata
  • Kept current by more than 60 plugins
See the plugins

Someone types “revenue” into Discover, narrows it to tables, and opens orders_daily in the preview. Sample data.

Know what a column means before anyone trusts it

Owners, descriptions, glossary terms and certification travel with every asset, so agents answer from the same facts your team uses.

  • Owners and teams on every asset
  • Glossary terms that explain each field
  • Certified data marked as the one to use
How the glossary works

The page for orders_daily shows its owners and description, then its schema, where the net_revenue_gbp field opens with its type and glossary term. Sample data.

See what breaks before you change it

Lineage follows data from source tables through every model to the dashboards that use it.

  • Upstream and downstream, across tools
  • From plugins and OpenLineage runs
  • Dashboards that break, before they do
How lineage is collected

Lineage follows orders from the PostgreSQL table through the hourly load and the dbt models to the Revenue overview dashboard. Sample data.

Questions

Anything else, email support@marmotdata.io.

Only what you grant it. An agent connects with its own service account, and Marmot checks every query against that account’s roles before it reaches your database. Anything it may not read is refused, and every attempt is recorded.

No. Plugins read metadata from the systems you already run, and queries go to those systems in place. Your data stays where it is.

It is the same project. Cloud instances run the version we maintain for customers: fixes land there first, and many flow back into the MIT-licensed releases on GitHub. Nothing locks you in, and you can export your catalog and self-host the open source edition at any time.

Only metadata: schemas, ownership, descriptions, lineage and run status. Plugins never send rows, messages or payloads to your instance.

No. Register where the secret lives in Google Secret Manager, AWS Secrets Manager, Azure Key Vault or HashiCorp Vault, and your instance reads it when a run starts, over a five-minute OpenID Connect token your cloud trusts. The run record keeps a mask.

You choose the region when you launch, and your catalog stays there. Every instance runs its own Marmot with its own database, so catalogs are never shared between customers.

You upgrade Marmot when it suits you, and fixes reach Cloud before the open source releases. Everything underneath is patched continuously, with nothing for you to do.

The people who build Marmot. The team includes engineers from HashiCorp, Adidas, Just Eat Takeaway.com and Traefik, who help maintain Kubernetes, Terraform, Redpanda and Cloud Native Computing Foundation projects.

Give your first agent a safe way in to your data

Run it yourself or let us run it. It’s the same catalog and the same MCP server either way, so you can move between them.

Marmot Cloud

We run it for you, with governance built in.

  • Access control per table, product and term
  • Governed SQL with an audit log of every query
  • Upgrades, nightly backups and support from the team

Free to start with no card, and unlimited users on every plan.

Open source

MIT-licensed and free, on your own infrastructure.

  • The catalog, lineage, glossary and MCP server
  • One binary, or on Kubernetes with the Helm chart
  • Help from the community on Discord and GitHub