MIT License

项目介绍

marmotdata/marmot 是一个托管在 GitHub 上的开源项目,主要使用 Go 编写,采用 MIT License 许可证,目前获得 634 个 Star、33 次 Fork。

仓库全名
marmotdata/marmot
开源许可证
MIT License
Star 数
634
Fork 数
33
未关闭 Issue
21

README 摘要

   One governed way in to your data, for people and AI agents. Marmot catalogs your tables, topics, dashboards and pipelines with 70+ plugins, records their lineage, owners and definitions, and lets people and agents query the data through it, with every query checked and audited. Use it from the web UI, the CLI, the SDKs or its built-in MCP server. It runs as one Go binary backed by PostgreSQL. Quick…

完整内容见 GitHub 原始 README 或本页 。

常见问题

marmot 用什么语言开发?

主要使用 Go 编写,采用 MIT License 许可证,目前有 634 个 Star。

marmot 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 marmot 的源码?

可以直接克隆仓库:git clone https://github.com/marmotdata/marmot.git,默认分支为 main;安装与运行步骤见仓库 README。

marmot 最近还在维护吗?

仓库最近一次更新为 2 天前,当前有 21 个未关闭 Issue;Star 数为 634,可作为社区活跃度的参考。

关于

The open-source context layer for your AI. Catalog your tables, topics, queues and APIs then expose real metadata to your AI agents.

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

语言占比

CSS
Dockerfile
Go
Go Template
HTML
JavaScript
MDX
Makefile
PLpgSQL
Python
Shell
Svelte
TypeScript

Release

README

   Marmot

One governed way in to your data, for people and AI agents.

Marmot catalogs your tables, topics, dashboards and pipelines with 70+ plugins, records their lineage, owners and definitions, and lets people and agents query the data through it, with every query checked and audited.
Use it from the web UI, the CLI, the SDKs or its built-in MCP server. It runs as one Go binary backed by PostgreSQL.

Quick start · Documentation · Plugins · Marmot Cloud · Discord

A tour of Marmot: Discover narrowed to finance tables, the orders_daily asset page with its owners and glossary terms, a governed query that returns rows and a refused one in the query audit, then the lineage of orders_daily from source to dashboard

What you can do with it

Marmot catalogs the tables, topics, dashboards and pipelines you already run, records what each one means and who owns it, and serves that context to everyone from one place:

  • Search every source in plain words, then narrow the results with the query language.
  • Trace lineage upstream and downstream, from plugins and OpenLineage runs, before you change something. See lineage.
  • Explain what data means with owners, descriptions, a glossary and data products that travel with every asset.
  • Give agents the same context through the MCP server, the CLI and SDKs for Go, Python and TypeScript.
  • Run SQL through Marmot against the sources you connect. Each query is checked against the caller’s roles and recorded in the query audit, so an agent never needs a database password of its own.
  • Keep it current with 70+ plugins for systems such as PostgreSQL, BigQuery, Kafka, dbt and Airflow, or declare assets yourself with Terraform and the API.

Try it locally

You need Docker with Docker Compose, and port 8080 free. Save this as docker-compose.yaml. It’s for trying Marmot out, so it stores credentials unencrypted:

services:
  marmot:
    image: ghcr.io/marmotdata/marmot:latest
    ports:
      - "8080:8080"
    environment:
      MARMOT_DATABASE_HOST: postgres
      MARMOT_DATABASE_PORT: 5432
      MARMOT_DATABASE_USER: marmot
      MARMOT_DATABASE_PASSWORD: marmot
      MARMOT_DATABASE_NAME: marmot
      MARMOT_DATABASE_SSLMODE: disable
      MARMOT_SERVER_ALLOW_UNENCRYPTED: true
    depends_on:
      postgres:
        condition: service_healthy

  postgres:
    image: postgres:16-alpine
    environment:
      POSTGRES_USER: marmot
      POSTGRES_PASSWORD: marmot
      POSTGRES_DB: marmot
    volumes:
      - marmot_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U marmot"]
      interval: 5s
      timeout: 5s
      retries: 5

volumes:
  marmot_data:

Start it:

docker compose up -d

Open http://localhost:8080 and sign in as admin with the password admin. Marmot asks you to choose a new password, then you can open Plugins and pick a system under Add a source to catalog it. The quick start walks through the first pipeline.

To skip running it yourself, Marmot Cloud launches a managed instance. The free plan needs no card.

Connect an agent

Create an API key under Account → API keys, then add Marmot to your client’s MCP configuration. For Claude Code, that’s .mcp.json in your project’s root:

{
  "mcpServers": {
    "marmot": {
      "type": "http",
      "url": "http://localhost:8080/api/v1/mcp",
      "headers": {
        "X-API-Key": "<api-key>"
      }
    }
  }
}

The agent can then search the catalog, trace lineage and look up owners and glossary terms, with the same permissions as the key it uses:

Claude answering which upstream service writes to a data warehouse by tracing lineage in Marmot

The MCP docs cover Claude Desktop, Cursor, Cline and LibreChat. Marmot for agents covers skills, LangChain and the Claude Agent SDK.

Work from your terminal

The marmot CLI searches the catalog, manages assets and runs the server. Install it with Homebrew:

brew install marmot

Or with the install script:

curl -fsSL get.marmotdata.io | sh

See the CLI reference for every command.

Run it for your team

The core is open source under the MIT licence and runs anywhere you can run a container or a binary. Self-host covers Docker Compose, Docker, Helm and the binary, with an encryption key for stored credentials. Marmot Cloud runs it for you and adds access control per resource, secret stores and keyless pipelines. The data model, query language, plugins and MCP server are the same in both.

Get help

Contributing

Read the contributing guide before you open a pull request. Local development gets Marmot running from source, and build a plugin covers connecting a system that has no plugin yet.

Licence

Marmot is open source under the MIT licence.

评论

暂无评论