by marmotdata
Marmot is an open-source data catalog designed for teams who want powerful data discovery without enterprise complexity. Catalog every data asset, enrich it with the context that matters and make it accessible to your team and your AI tools.
# Add to your Claude Code skills
git clone https://github.com/marmotdata/marmotThis skill helps you interact with a Marmot data catalog. Marmot catalogs data assets (databases, tables, topics, APIs, dashboards) across an organisation's data stack and tracks lineage between them.
The user needs the Marmot CLI installed and configured. If not already set up:
curl -fsSL get.marmotdata.io | sh
marmot config init
config init prompts for the host URL and API key. Alternatively, set environment variables:
export MARMOT_HOST=https://marmot.example.com
export MARMOT_API_KEY=<key>
Or pass --host and --api-key as flags on any command.
Marmot has a built-in MCP (Model Context Protocol) server. If the user has configured MCP, you can interact with the catalog directly using these tools instead of the CLI:
postgres://db/schema/table), filtering by type/provider/tags and metadata-based queries.MCP configuration lives in ~/.claude.json (user-level) or .mcp.json (project-level):
{
"mcpServers": {
"marmot": {
"type": "http",
"url": "https://<marmot-server>/api/v1/mcp",
"headers": {
"X-API-Key": "<api-key>"
}
}
}
}
Prefer MCP tools when available. Fall back to the CLI or REST API for operations MCP doesn't cover (e.g. writes, metrics, admin).
Discover any data asset in seconds. Then let your AI do the same.
The open-source context layer for your AI. Catalog your tables, topics, queues and APIs then expose real metadata to your AI agents.
Documentation • Live Demo • Deploy • Community
Marmot is an open-source data catalog designed for teams who want powerful data discovery without enterprise complexity. Catalog every data asset, enrich it with the context that matters and make it accessible to your team and your AI tools.
Unlike traditional catalogs that require extensive infrastructure and configuration, Marmot ships as a single binary with an intuitive UI, making it easy to deploy and start cataloging in minutes.
Find any data asset across your entire organisation in seconds. Combine full-text search with structured queries using metadata filters, boolean logic, and comparison operators.
Trace data flows from source to destination with interactive dependency graphs. Understand upstream and downstream dependencies, identify bottlenecks, and analyse impact before making changes.
No comments yet. Be the first to share your thoughts!
All commands follow the pattern marmot <resource> <action> [args] [flags]. Use --output json (or -o json) to get machine-readable output. Supported output formats: table (default), json, yaml.
marmot assets list # list assets (paginated)
marmot assets search <query> # search assets
marmot assets get <id> # get asset details
marmot assets summary # counts by type, provider, tag
marmot assets tags add <id> <tag> # add a tag
marmot assets tags remove <id> <tag> # remove a tag
marmot assets owners <id> # list owners
marmot assets delete <id> # delete (prompts for confirmation)
Filters: --types, --providers, --tags. Pagination: --limit, --offset.
marmot search <query> # unified search (assets, glossary, teams, users)
Filter by type with --types asset,glossary.
marmot glossary list
marmot glossary get <id>
marmot glossary create --name "Term" --definition "What it means"
marmot glossary update <id> --definition "New definition"
marmot glossary delete <id>
marmot glossary search <query>
marmot lineage get <asset-id> # view upstream/downstream graph
Use --depth to control traversal depth.
marmot runs list # list pipeline runs
marmot runs get <id> # run details and summary
marmot runs entities <id> # entities processed in a run
Filter with --pipelines and --statuses.
marmot users me # current authenticated user
marmot users list
marmot apikeys list
marmot apikeys create <name> # key shown once at creation
marmot apikeys delete <id>
marmot teams list
marmot teams get <id>
marmot teams members <id>
marmot metrics summary # total assets + by-type breakdown
marmot metrics by-type # asset counts by type
marmot metrics by-provider # asset counts by provider
marmot metrics top-assets --start <RFC3339> --end <RFC3339>
marmot metrics top-queries --start <RFC3339> --end <RFC3339>
top-assets and top-queries require a time range. --start and --end accept RFC3339 timestamps (e.g. 2026-01-01T00:00:00Z). If omitted, defaults to the last 30 days. Use --limit to control how many results are returned (default 10).
summary, by-type and by-provider do not require a time range.
marmot admin reindex # trigger search reindex
marmot admin reindex-status # check progress
marmot config init # interactive setup
marmot config set <key> <value> # set a config value
marmot config get <key> # get a config value
marmot config list # list all config values
The Marmot API is available at {host}/api/v1/. Authenticate with the X-API-Key header.
| Endpoint | Method | Description |
|---|---|---|
| /api/v1/assets/search?q=... | GET | Search assets |
| /api/v1/assets/{id} | GET | Get asset by ID |
| /api/v1/assets/{id} | DELETE | Delete asset |
| /api/v1/assets/summary | GET | Asset summary stats |
| /api/v1/lineage/assets/{id} | GET | Asset lineage graph |
| /api/v1/glossary/list | GET | List glossary terms |
| /api/v1/glossary/{id} | GET | Get glossary term |
| /api/v1/glossary/ | POST | Create glossary term |
| /api/v1/glossary/{id} | PUT | Update glossary term |
| /api/v1/glossary/{id} | DELETE | Delete glossary term |
| /api/v1/runs | GET | List pipeline runs |
| /api/v1/runs/{id} | GET | Get run details |
| /api/v1/search?q=... | GET | Unified search |
| /api/v1/metrics | GET | Aggregated metrics (requires start and end query params, RFC3339) |
| /api/v1/metrics/assets/total | GET | Total asset count |
| /api/v1/metrics/assets/by-type | GET | Assets by type |
| /api/v1/metrics/assets/by-provider | GET | Assets by provider |
| /api/v1/metrics/top-queries | GET | Top search queries (requires start, end) |
| /api/v1/metrics/top-assets | GET | Top viewed assets (requires start, end) |
| /api/v1/users/me | GET | Current user |
| /api/v1/users/apikeys | GET | List API keys |
| /api/v1/users/apikeys | POST | Create API key |
| /api/v1/teams | GET | List teams |
| /api/v1/teams/{id} | GET | Get team |
| /api/v1/teams/{id}/members | GET | Team members |
| /api/v1/admin/search/reindex | POST | Trigger reindex |
| /api/v1/admin/search/reindex | GET | Reindex status |
/api/v1/metrics, /api/v1/metrics/top-queries and /api/v1/metrics/top-assets require start and end query parameters in RFC3339 format. The maximum range is 30 days. Example:
GET /api/v1/metrics/top-queries?start=2026-03-01T00:00:00Z&end=2026-03-26T00:00:00Z&limit=10
-o json and pipe through jq when the user needs to extract or transform data.mrn://type/provider/name.delete) prompt for confirmation. Pass --yes to skip in scripts.--limit and --offset for pagination.X-API-Key header.Store rich metadata for any asset type. From tables and topics to APIs and dashboards.
Assign ownership, document business context, and create glossaries. Keep your entire team aligned with centralised knowledge about your data assets.
New to Marmot? Follow the Deploy documentation for a guided setup.
Interested in exploring Marmot? Check out the live demo
See Local Development for how to get started developing locally.
Join our Discord community to:
All types of contributions are encouraged and valued!
Ways to Contribute:
Before contributing, please check out the Contributing Guide.
Marmot is open-source software licensed under the MIT License.