Verified

Datahub MCP Server

Query DataHub metadata, visualize lineage, and generate SQL for your AI data stack.

Data last scanned today · Reviewed today

5321 tools80PythonApache-2.0

Overview

The DataHub MCP Server provides a bridge between AI agents and the DataHub open-source context platform. It allows users to query an organization's data ecosystem, including databases, data lakes, warehouses, and BI tools, using natural language to discover technical and organizational context. Capabilities include structured search with boolean logic and wildcards, investigation of table and column-level lineage to map data flows, and SQL generation informed by existing query patterns. The server supports context-aware exploration by surfacing business glossaries, data domains, and ownership information.

Our verdict

This server carries a high-risk rating with a security score of 43/100. The primary concerns involve a lack of official vendor maintenance and unreviewed authentication methods. While it provides useful data lineage and search functionality, prospective users should exercise caution as read-only mode compliance and security controls have not been formally verified. It is best suited for experimental environments rather than sensitive production systems.

  • Supports complex boolean and wildcard search syntax
  • Provides visibility into table and column-level data lineage
  • Zero direct dependencies reduce supply-chain attack surface
  • Includes active development with 15 contributors
  • Security score of 43/100 indicates high risk level
  • Authentication methods remain unreviewed for security
  • Not maintained by the official DataHub vendor
  • Read-only mode support is not yet formally verified

Tools

ToolDescriptionRisk
searchSearch DataHub using structured keyword search (/q syntax) with boolean logic, filters, pagination, and optional sorting by usage metrics.low
get_lineageRetrieve upstream or downstream lineage for any entity (datasets, columns, dashboards, etc.) with filtering, query-within-lineage, pagination, and hop control.low
get_dataset_queriesFetch real SQL queries referencing a dataset or column—manual or system-generated—to understand usage patterns, joins, filters, and aggregation behavior.low
get_entitiesFetch detailed metadata for one or more entities by URN; supports batch retrieval for efficient inspection of search results.low
list_schema_fieldsList schema fields for a dataset with keyword filtering and pagination, useful when search results truncate fields or when exploring large schemas.low
get_lineage_paths_betweenRetrieve the exact lineage paths between two assets or columns, including intermediate transformations and SQL query information.low
add_tagsAdd tags from entities or schema fields (columns). Supports bulk operations on multiple entities.medium
remove_tagsRemove tags from entities or schema fields (columns). Supports bulk operations on multiple entities.medium
add_termsAdd glossary terms from entities or schema fields.medium
remove_termsRemove glossary terms from entities or schema fields.medium

Compatibility

ClientLocalDockerRemoteRead-only
Claude Desktop
Cursor
VS Code
Windsurf
ChatGPT

Frequently asked questions

What configuration is required to run the DataHub MCP server locally?

The server requires the DATAHUB_GMS_URL and DATAHUB_GMS_TOKEN environment variables. These values can be set directly in your environment or read from a ~/.datahubenv file created by running datahub init.

How does authentication work for the Docker HTTP deployment?

The Docker HTTP deployment does not use a server-wide token. Instead, each MCP client must provide its own DataHub bearer token via the Authorization header on every request.

Are there specific requirements for the DataHub backend to ensure correct user identification?

DataHub must have METADATA_SERVICE_AUTH_ENABLED set to true. If this is disabled, the system may return a synthetic actor for bearer values, preventing proper identification of the calling user.

Is the SSE transport suitable for production or public networks?

No, SSE is intended for trusted, local-network use only. It does not provide the per-request bearer authentication required for secure shared network services.

How can I check if the DataHub MCP server container is running correctly?

You can use the /health endpoint on port 8000, which reports process health for container, load-balancer, or Kubernetes probes. This endpoint does not contact the DataHub service itself.

Can I use query-string parameters for authentication in HTTP mode?

No, tokens are only accepted in the Authorization header. Any tokens passed via query strings are explicitly rejected.

Changelog

Badge

Datahub MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.