Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
MCP server for DataHub data catalogs. Discover datasets, explore lineage, and access metadata.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Descargar el archivo .mcpb del creador
El enlace lleva al archivo del propio creador; no lo alojamos ni lo reempaquetamos. Abre el archivo y Claude Desktop lo instalará.
Ejecuta esto en tu terminal
Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub txn2, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (1.15.1) llegó al registro hace 2 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas MCPB en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, sync. labs
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Lipsync videos, dub them into other languages, make talking videos and open sync. Studio.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
An MCP server and composable Go library that connects AI assistants to DataHub metadata catalogs. Search datasets, explore schemas, trace lineage, and access glossary terms and domains.
[mcp-datahub.txn2.com](https://mcp-datahub.txn2.com) | [Installation](https://mcp-datahub.txn2.com/server/installation/) | [Library Docs](https://mcp-datahub.txn2.com/library/)
mcp-datahub is part of a broader suite of open-source MCP servers designed to work together as a composable data platform. Each component can run standalone or be combined to give AI assistants unified access to storage, query engines, and metadata catalogs.
Install and connect to Claude Desktop, Cursor, or any MCP client:
Claude Desktop (Easiest) - Download the .mcpb bundle from releases and double-click to install:
mcp-datahub_X.X.X_darwin_arm64.mcpbmcp-datahub_X.X.X_darwin_amd64.mcpbmcp-datahub_X.X.X_windows_amd64.mcpbOther Installation Methods:
# Homebrew (macOS)
brew install txn2/tap/mcp-datahub
go install github.com/txn2/mcp-datahub/cmd/mcp-datahub@latest
Manual Claude Desktop Configuration (if not using MCPB):
{
"mcpServers": { "datahub": { "command": "/opt/homebrew/bin/mcp-datahub", "env": { "DATAHUB_URL": "https://datahub.example.com", "DATAHUB_TOKEN": "your_token" } } } }
Connect to multiple DataHub instances simultaneously:
# Primary server
export DATAHUB_URL=https://prod.datahub.example.com/api/graphql export DATAHUB_TOKEN=prod-token export DATAHUB_CONNECTION_NAME=prod
export DATAHUB_ADDITIONAL_SERVERS='{"staging":{"url":"https://staging.datahub.example.com/api/graphql","token":"staging-token"}}'
Use datahub_list_connections to discover available connections, then pass the connection parameter to any tool.
Import into your own MCP server for custom authentication, tenant isolation, and audit logging:
import (
"github.com/txn2/mcp-datahub/pkg/client" "github.com/txn2/mcp-datahub/pkg/tools" )
// Create client and register tools with your MCP server datahubClient, _ := client.NewFromEnv() defer datahubClient.Close()
toolkit := tools.NewToolkit(datahubClient, tools.Config{}) toolkit.RegisterAll(yourMCPServer)
Override tool descriptions to match your deployment:
toolkit := tools.NewToolkit(datahubClient, tools.Config{},
tools.WithDescriptions(map[tools.ToolName]string{ tools.ToolSearch: "Search our internal data catalog for datasets and dashboards", }), )
Override MCP tool annotations (behavior hints for AI clients):
toolkit := tools.NewToolkit(datahubClient, tools.Config{},
tools.WithAnnotations(map[tools.ToolName]*mcp.ToolAnnotations{ tools.ToolSearch: {ReadOnlyHint: true, OpenWorldHint: boolPtr(true)}, }), )
All 12 tools ship with default annotations: read tools are marked ReadOnlyHint: true; datahub_create is non-destructive and non-idempotent; datahub_update is non-destructive and idempotent; datahub_delete is destructive and idempotent.
Enable optional middleware via the extensions package:
import "github.com/txn2/mcp-datahub/pkg/extensions"
// Load from environment variables (MCP_DATAHUB_EXT_*) cfg := extensions.FromEnv() opts := extensions.BuildToolkitOptions(cfg) toolkit := tools.NewToolkit(datahubClient, toolsCfg, opts...)
// Or load from a YAML/JSON config file serverCfg, _ := extensions.LoadConfig("config.yaml")
See the library documentation for middleware, selective tool registration, and enterprise patterns.
Build a unified data platform MCP server by combining DataHub metadata with Trino query execution:
import (
datahubClient "github.com/txn2/mcp-datahub/pkg/client" datahubTools "github.com/txn2/mcp-datahub/pkg/tools" trinoClient "github.com/txn2/mcp-trino/pkg/client" trinoTools "github.com/txn2/mcp-trino/pkg/tools" )
// Add DataHub tools (search, lineage, schema, glossary) dh, _ := datahubClient.NewFromEnv() datahubTools.NewToolkit(dh, datahubTools.Config{}).RegisterAll(server)
// Add Trino tools (query execution, catalog browsing) tr, _ := trinoClient.NewFromEnv() trinoTools.NewToolkit(tr, trinoTools.Config{}).RegisterAll(server)
// AI assistants can now: // - Search DataHub for tables -> Get schema -> Query via Trino // - Explore lineage -> Understand data flow -> Run validation queries
See txn2/mcp-trino for the companion library.
The library supports bidirectional context injection. While mcp-trino can pull semantic context from DataHub, mcp-datahub can receive query execution context back from a query engine:
import (
datahubTools "github.com/txn2/mcp-datahub/pkg/tools" "github.com/txn2/mcp-datahub/pkg/integration" )
// QueryProvider enables query engines to inject context into DataHub tools type myQueryProvider struct { trinoClient *trino.Client }
func (p *myQueryProvider) Name() string { return "trino" }
func (p *myQueryProvider) ResolveTable(ctx context.Context, urn string) (*integration.TableIdentifier, error) { // Map DataHub URN to Trino table (catalog.schema.table) return &integration.TableIdentifier{ Catalog: "hive", Schema: "production", Table: "users", }, nil }
func (p *myQueryProvider) GetTableAvailability(ctx context.Context, urn string) (*integration.TableAvailability, error) { // Check if table is queryable return &integration.TableAvailability{Available: true}, nil }
func (p *myQueryProvider) GetQueryExamples(ctx context.Context, urn string) ([]integration.QueryExample, error) { // Return sample queries for this entity return []integration.QueryExample{ {Name: "sample", SQL: "SELECT * FROM hive.production.users LIMIT 10"}, }, nil }
// Wire it up toolkit := datahubTools.NewToolkit(datahubClient, config, datahubTools.WithQueryProvider(&myQueryProvider{trinoClient: trino}), )
When a QueryProvider is configured, tool responses are enriched:
query_context with table availabilityquery_table, query_examples, query_availabilityquery_table for immediate SQL usageexecution_context mapping URNs to tablesEnterprise features like access control and audit logging are enabled through middleware adapters:
import (
datahubTools "github.com/txn2/mcp-datahub/pkg/tools" "github.com/txn2/mcp-datahub/pkg/integration" )
// Access control - filter entities by user permissions type myAccessFilter struct{} func (f *myAccessFilter) CanAccess(ctx context.Context, urn string) (bool, error) { /* ... */ } func (f *myAccessFilter) FilterURNs(ctx context.Context, urns []string) ([]string, error) { /* ... */ }
// Audit logging - track all tool invocations type myAuditLogger struct{} func (l *myAuditLogger) LogToolCall(ctx context.Context, tool string, params map[string]any, userID string) error { /* ... */ }
// Wire up with multiple integration options toolkit := datahubTools.NewToolkit(datahubClient, config, datahubTools.WithAccessFilter(&myAccessFilter{}), datahubTools.WithAuditLogger(&myAuditLogger{}, func(ctx context.Context) string { return ctx.Value("user_id").(string) }), datahubTools.WithURNResolver(&myURNResolver{}), // Map external IDs to URNs datahubTools.WithMetadataEnricher(&myEnricher{}), // Add custom metadata )
See the library documentation for complete integration patterns.
| Tool | Description |
|---|---|
datahub_search | Search for datasets, dashboards, pipelines by query and entity type |
datahub_get_entity | Get entity metadata by URN (description, owners, tags, domain) |
datahub_get_schema | Get dataset schema with field types and descriptions |
datahub_get_lineage | Get upstream/downstream lineage (supports level=column for column-level) |
datahub_get_queries | Get SQL queries associated with a dataset |
datahub_browse | Browse catalog: list tags, domains, or data products |
datahub_get_glossary_term | Get glossary term definition and properties |
datahub_get_data_product | Get data product details (owners, domain, properties) |
datahub_list_connections | List configured DataHub server connections (multi-server mode) |
DATAHUB_WRITE_ENABLED=true)3 CRUD tools using the what discriminator pattern — 37 operations total:
| Tool | Operations | Description |
|---|---|---|
datahub_create | 10 | Create tags, domains, glossary terms, data products, documents, applications, queries, incidents, structured properties, data contracts |
datahub_update | 19 | Update descriptions (including tag/glossaryTerm descriptions), tags, glossary terms, links, owners, domains, structured properties, custom properties, incidents, queries, documents, data contracts |
datahub_delete | 8 | Delete queries, tags, domains, glossary entities, data products, applications, documents, structured properties |
Write tools are disabled by default for safety.
Minimum: DataHub 1.3.x. Full feature set: DataHub 1.4.x.
| DataHub Version | Features |
|---|---|
| 1.3.x+ (minimum) | All read tools, all write operations except documents (tags, domains, glossary, data products, queries, owners, links, descriptions, incidents, applications, structured properties incl. delete, data contracts) |
| 1.4.x+ (full) | + Documents (create/update/delete) |
The client gracefully handles version differences — read queries return empty results (not errors) when a feature is unavailable on older versions.
See the tools reference for detailed documentation.
| Variable | Description | Default |
|---|---|---|
DATAHUB_URL | DataHub GraphQL API URL | (required) |
DATAHUB_TOKEN | API token | (required) |
DATAHUB_TIMEOUT | Request timeout (seconds) | 30 |
DATAHUB_DEFAULT_LIMIT | Default search limit | 10 |
DATAHUB_MAX_LIMIT | Maximum limit | 100 |
| DATAHUB_CONNECTION_NAME | Display name for primary connection | `dat
Solo se muestra el principio; lee el resto en el repo