{
  "$schema": "https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2127",
  "schemaVersion": "0.1.0",
  "serverInfo": {
    "name": "dlt-workspace-mcp",
    "version": "0.1.0",
    "title": "dlt Workspace MCP",
    "description": "MCP server exposing tools for inspecting, debugging, and managing dlt pipelines, secrets, schemas, and runs in a dlt workspace. Ships with the dlt Python library via `dlt ai` and is advertised by every toolkit in dlt-hub/dlthub-ai-workbench.",
    "homepage": "https://dlthub.com/docs",
    "repository": "https://github.com/dlt-hub/dlt"
  },
  "transport": {
    "type": "stdio",
    "command": "uv",
    "args": [
      "run",
      "dlthub",
      "ai",
      "mcp",
      "--stdio"
    ]
  },
  "installation": {
    "instructions": "uv pip install --upgrade \"dlt[workspace]\" && uv run dlt --non-interactive ai init",
    "documentation": "https://dlthub.com/AGENTS.md"
  },
  "capabilities": {
    "tools": [
      {
        "name": "execute_sql_query",
        "description": "Execute a read-only SQL query against the pipeline's destination dataset",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/data_tools.py"
      },
      {
        "name": "export_schema",
        "description": "Export the pipeline schema as a diagram or structured dump",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/data_tools.py"
      },
      {
        "name": "get_local_pipeline_state",
        "description": "Get pipeline state: incremental cursors, resource state, and source state",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/data_tools.py"
      },
      {
        "name": "get_row_counts",
        "description": "Get row counts for all data tables in a pipeline",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/data_tools.py"
      },
      {
        "name": "get_table_create_sql",
        "description": "Get CREATE TABLE DDL for the table in the destination's SQL dialect",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/data_tools.py"
      },
      {
        "name": "get_table_schema",
        "description": "Get table schema with column names, data types, and escaped sql_identifier fields",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/data_tools.py"
      },
      {
        "name": "get_workspace_info",
        "description": "Get workspace info: name, directories, active profile, and config providers",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/data_tools.py"
      },
      {
        "name": "list_pipelines",
        "description": "List all dlt pipelines available in this workspace",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/data_tools.py"
      },
      {
        "name": "list_profiles",
        "description": "List all available workspace profiles with status flags (current, pinned, configured)",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/data_tools.py"
      },
      {
        "name": "list_tables",
        "description": "List all data tables for a pipeline",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/data_tools.py"
      },
      {
        "name": "list_toolkits",
        "description": "List available dlt AI toolkits with their names and descriptions",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/toolkit_tools.py"
      },
      {
        "name": "pipeline_trace",
        "description": "Get the trace of the last pipeline run: timing, step outcomes, and errors",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/data_tools.py"
      },
      {
        "name": "preview_table",
        "description": "Get the first 10 rows from a table",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/data_tools.py"
      },
      {
        "name": "search_dlthub_sources",
        "description": "Search for available dlt sources on dlthub by name or description",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/context_tools.py"
      },
      {
        "name": "secrets_list",
        "description": "List secret file paths, profiles, and whether each file exists",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/secrets_tools.py"
      },
      {
        "name": "secrets_update_fragment",
        "description": "Deep-merge a TOML fragment into a secrets file; returns the redacted result. The file is created if it does not exist",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/secrets_tools.py"
      },
      {
        "name": "secrets_view_redacted",
        "description": "Show secrets TOML with every value replaced by '***'",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/secrets_tools.py"
      },
      {
        "name": "toolkit_info",
        "description": "Show detailed contents of a dlt AI toolkit",
        "source": "https://github.com/dlt-hub/dlt/blob/devel/dlt/_workspace/mcp/tools/toolkit_tools.py"
      }
    ],
    "toolsSourceBranch": "devel"
  },
  "declaredIn": [
    {
      "toolkit": "rest-api-pipeline",
      "url": "https://github.com/dlt-hub/dlthub-ai-workbench/blob/master/workbench/rest-api-pipeline/.claude-plugin/plugin.json"
    },
    {
      "toolkit": "init",
      "url": "https://github.com/dlt-hub/dlthub-ai-workbench/blob/master/workbench/init/.mcp.json"
    },
    {
      "toolkit": "transformations",
      "url": "https://github.com/dlt-hub/dlthub-ai-workbench/blob/master/workbench/transformations/.claude-plugin/plugin.json"
    },
    {
      "toolkit": "sql-database-pipeline",
      "url": "https://github.com/dlt-hub/dlthub-ai-workbench/blob/master/workbench/sql-database-pipeline/.claude-plugin/plugin.json"
    },
    {
      "toolkit": "dlthub-init-skills",
      "url": "https://github.com/dlt-hub/dlthub-ai-workbench/blob/master/workbench/dlthub-init-skills/.claude-plugin/plugin.json"
    }
  ]
}
