/marmot
Interact with a Marmot data catalog instance. Use this skill when the user wants to search for data assets, view lineage, browse glossary terms, check pipeline runs, manage tags or owners, view metrics, or do anything related to their data catalog. Covers the Marmot CLI, REST
$ npx -y skills add marmotdata/marmot --skill marmot --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/marmot
Context preview
The summary Claude sees to decide when to auto-load this skill.
Interact with a Marmot data catalog instance. Use this skill when the user wants to search for data assets, view lineage, browse glossary terms, check pipeline runs, manage tags or owners, view metrics, or do anything related to their data catalog. Covers the Marmot CLI, REST
SKILL.md
marmot.SKILL.mdname: marmot
description: Interact with a Marmot data catalog instance. Use this skill when the user wants to search for data assets, view lineage, browse glossary terms, check pipeline runs, manage tags or owners, view metrics, or do anything related to their data catalog. Covers the Marmot CLI, REST API and MCP server.
This 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.
Setup
The user needs the Marmot CLI installed and authenticated. If not already set up:
curl -fsSL get.marmotdata.io | sh
marmot login https://marmot.example.com
`marmot login` opens a browser for OAuth 2.0 PKCE authentication and caches the token locally. The token expires after 24 hours and carries the user's roles and permissions as claims. Login also registers the token with the Docker credential store for the instance's host, so `oras push`, `crane push` and `docker push` can publish plugins to the registry the instance serves. This goes through the `docker-credential-marmot` helper, a symlink to the marmot binary that `install.sh` creates; if the helper is not on your PATH, login writes the token itself into `~/.docker/config.json` the way `docker login` does. Alternatively, use an API key:
export MARMOT_HOST=https://marmot.example.com
export MARMOT_API_KEY=<key>
Or pass `--host` and `--api-key` as flags on any command.
MCP Server
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:
- **discover_data** — unified data discovery. Supports natural language queries, lookups by ID or MRN (e.g. `postgres://db/schema/table`), filtering by type/provider/tags and metadata-based queries.
- **find_ownership** — bidirectional ownership queries. "Who owns this asset?", "What does this user own?", "Show all data owned by the data-eng team". Works for assets and glossary terms.
- **lookup_term** — business glossary lookups. Search for terms by name or retrieve definitions.
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).
CLI Reference
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`.
Assets
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`.
Search
marmot search <query> # unified search (assets, glossary, teams, users)
Filter by type with `--types asset,glossary`.
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>
Lineage
marmot lineage get <asset-id> # view upstream/downstream graph
Use `--depth` to control traversal depth.
Runs
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`.
Authentication
marmot login # authenticate via browser (OAuth PKCE); reuses a valid cached token
marmot login https://marmot.example.com # authenticate to a specific instance
marmot login <url> --force # sign in again even if a token is cached
marmot login <url> --print-token # print the access token on stdout (status goes to stderr)
marmot login <url> --no-launch-browser # print the sign-in URL; paste the callback URL back to finish
marmot logout # remove cached token and registry credential
marmot context list # list contexts (* = active)
marmot context use <name> # switch active context
marmot context delete <name> # remove context and token
Users and API Keys
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>
Teams
marmot teams list
marmot teams get <id>
marmot teams members <id>
Metrics
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 (de
Read more
name: marmot description: Interact with a Marmot data catalog instance. Use this skill when the user wants to search for data assets, view lineage, browse glossary terms, check pipeline runs, manage tags or owners, view metrics, or do anything related to their data catalog. Covers the Marmot CLI, REST API and MCP server.
This 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.
Setup
The user needs the Marmot CLI installed and authenticated. If not already set up:
curl -fsSL get.marmotdata.io | sh marmot login https://marmot.example.com
`marmot login` opens a browser for OAuth 2.0 PKCE authentication and caches the token locally. The token expires after 24 hours and carries the user's roles and permissions as claims. Login also registers the token with the Docker credential store for the instance's host, so `oras push`, `crane push` and `docker push` can publish plugins to the registry the instance serves. This goes through the `docker-credential-marmot` helper, a symlink to the marmot binary that `install.sh` creates; if the helper is not on your PATH, login writes the token itself into `~/.docker/config.json` the way `docker login` does. Alternatively, use an API key:
export MARMOT_HOST=https://marmot.example.com export MARMOT_API_KEY=<key>
Or pass `--host` and `--api-key` as flags on any command.
MCP Server
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:
- **discover_data** — unified data discovery. Supports natural language queries, lookups by ID or MRN (e.g. `postgres://db/schema/table`), filtering by type/provider/tags and metadata-based queries.
- **find_ownership** — bidirectional ownership queries. "Who owns this asset?", "What does this user own?", "Show all data owned by the data-eng team". Works for assets and glossary terms.
- **lookup_term** — business glossary lookups. Search for terms by name or retrieve definitions.
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).
CLI Reference
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`.
Assets
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`.
Search
marmot search <query> # unified search (assets, glossary, teams, users)
Filter by type with `--types asset,glossary`.
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>
Lineage
marmot lineage get <asset-id> # view upstream/downstream graph
Use `--depth` to control traversal depth.
Runs
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`.
Authentication
marmot login # authenticate via browser (OAuth PKCE); reuses a valid cached token marmot login https://marmot.example.com # authenticate to a specific instance marmot login <url> --force # sign in again even if a token is cached marmot login <url> --print-token # print the access token on stdout (status goes to stderr) marmot login <url> --no-launch-browser # print the sign-in URL; paste the callback URL back to finish marmot logout # remove cached token and registry credential marmot context list # list contexts (* = active) marmot context use <name> # switch active context marmot context delete <name> # remove context and token
Users and API Keys
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>
Teams
marmot teams list marmot teams get <id> marmot teams members <id>
Metrics
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 (de
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.

