Model Context Protocol (MCP)
Marmot includes a built-in Model Context Protocol (MCP) server that enables AI assistants like Claude, ChatGPT and other LLM-powered tools to interact with your data catalog using natural language.
What is MCP?
The Model Context Protocol is a standardised way for AI assistants to connect with external data sources - like a universal translator between AI models and your data.
Learn MoreWhat Can You Do?
With MCP, you can ask questions like:
- "What tables does the analytics team own?"
- "Show me all BigQuery datasets tagged as 'production'"
- "Find the upstream dependencies for the user_events table"
- "Who owns the payment processing API?"
Search Assets
Query your catalog using natural language
View Lineage
Explore upstream and downstream dependencies
Read Metadata
Access descriptions, owners, tags and custom metadata
Discover Context
Understand relationships between assets
Choose Your AI Assistant
Claude Desktop
Anthropic's official desktop application
Claude Code
Claude's command-line interface
Cursor
The AI-first code editor
Cline
VS Code extension for AI-powered coding
LibreChat
Universal AI chat interface supporting multiple providers
Skills
Install the Marmot skill to give any AI agent catalog knowledge
Authentication
MCP uses the same authentication as Marmot's REST API. You'll need an API key to connect:
- Navigate to your user profile in Marmot
- Go to Settings → API Keys
- Generate a new API key
- Use this key in your MCP client configuration
The AI assistant will have the same permissions as your user account, respecting all role-based access controls.
An agent that runs on its own identity uses a service account key instead. Create the service account on the Service Accounts page (/service-accounts), give it a role with assets:view, glossary:view and teams:view, and put one of its keys in the MCP client configuration. The agent then has the service account's permissions, not any person's.
Hosted clients (OAuth)
MCP clients can also sign in through OAuth instead of an API key. The client registers itself with Marmot using OAuth dynamic client registration and completes a browser sign-in, so no manual client setup is needed. By default Marmot only accepts loopback redirect URIs (http://localhost, http://127.0.0.1 or http://[::1]), which covers clients running on your own machine.
Hosted clients such as claude.ai run in the cloud and use an https callback, so their callback host must be allowlisted in your server configuration:
auth:
dcr:
allowed_redirect_hosts:
- claude.ai
The same setting is available as an environment variable, with multiple hosts separated by commas:
MARMOT_AUTH_DCR_ALLOWED_REDIRECT_HOSTS=claude.ai
Hosts on this list can receive OAuth authorization codes for your Marmot instance, so only add hosts you trust.
Available Tools
Marmot's MCP server provides these tools to AI assistants:
discover_data
Unified data discovery for finding any asset in the catalog. Supports natural language queries, specific lookups by ID or MRN (qualified identifiers like postgres://db/schema/table), filtering by type/provider/tags and metadata-based queries.
find_ownership
Bidirectional ownership queries to answer "Who owns this asset?", "What does this user own?" and "Show me all data owned by the data-eng team". Works for both data assets and glossary terms.
lookup_term
Business glossary lookups for understanding terminology and definitions. Search for glossary terms by name or retrieve specific term definitions.
Need Help?
Join our Discord community to get help, share feedback, and connect with other Marmot users.
Join Discord