← Back to Plugins
MCP Server MCP

io.github.motherduckdb/mcp-server-motherduck

github By github 👁 1 views ▲ 0 votes

SQL analytics and data engineering for AI Assistants and IDEs

Homepage Verified source GitHub

Install

uvx mcp-server-motherduck

Configuration Example

{
  "remotes": [],
  "packages": [
    {
      "registryType": "pypi",
      "registryBaseUrl": "https://pypi.org",
      "identifier": "mcp-server-motherduck",
      "version": "1.0.8",
      "transport": {
        "type": "stdio"
      },
      "packageArguments": [
        {
          "description": "Transport type for MCP server. Use 'http' for HTTP Streamable transport.",
          "default": "stdio",
          "choices": [
            "stdio",
            "http",
            "sse",
            "stream"
          ],
          "type": "named",
          "name": "--transport"
        },
        {
          "description": "Port to listen on for HTTP transport",
          "format": "number",
          "default": "8000",
          "type": "named",
          "name": "--port"
        },
        {
          "description": "Host to bind the MCP server",
          "default": "127.0.0.1",
          "type": "named",
          "name": "--host"
        },
        {
          "description": "Database path: ':memory:' for in-memory, 'md:' for MotherDuck, or file/S3 path",
          "default": ":memory:",
          "type": "named",
          "name": "--db-path"
        },
        {
          "description": "Access token for MotherDuck connections",
          "isSecret": true,
          "type": "named",
          "name": "--motherduck-token"
        },
        {
          "description": "Enable write access (server runs in read-only mode by default)",
          "type": "named",
          "name": "--read-write"
        },
        {
          "description": "Enable the switch_database_connection tool to change databases at runtime",
          "type": "named",
          "name": "--allow-switch-databases"
        },
        {
          "description": "Enable SaaS mode for MotherDuck (disables local filesystem access)",
          "type": "named",
          "name": "--motherduck-saas-mode"
        },
        {
          "description": "SQL file path or SQL string to execute on startup",
          "type": "named",
          "name": "--init-sql"
        },
        {
          "description": "Home directory for DuckDB",
          "type": "named",
          "name": "--home-dir"
        },
        {
          "description": "Maximum number of rows to return from queries",
          "format": "number",
          "default": "1024",
          "type": "named",
          "name": "--max-rows"
        },
        {
          "description": "Maximum number of characters in query results",
          "format": "number",
          "default": "50000",
          "type": "named",
          "name": "--max-chars"
        },
        {
          "description": "Query execution timeout in seconds (-1 to disable)",
          "format": "number",
          "default": "-1",
          "type": "named",
          "name": "--query-timeout"
        },
        {
          "description": "Use temporary connections for read-only local DuckDB files (default: true)",
          "type": "named",
          "name": "--ephemeral-connections"
        }
      ],
      "environmentVariables": [
        {
          "description": "Access token for MotherDuck connections (alternative to --motherduck-token)",
          "isSecret": true,
          "name": "motherduck_token"
        },
        {
          "description": "Access token for MotherDuck connections (alternative to --motherduck-token)",
          "isSecret": true,
          "name": "MOTHERDUCK_TOKEN"
        },
        {
          "description": "Used by DuckDB for extensions and config. Override with --home-dir if not set.",
          "name": "HOME"
        },
        {
          "description": "AWS access key for S3 database connections",
          "isSecret": true,
          "name": "AWS_ACCESS_KEY_ID"
        },
        {
          "description": "AWS secret access key for S3 database connections",
          "isSecret": true,
          "name": "AWS_SECRET_ACCESS_KEY"
        },
        {
          "description": "AWS session token for temporary credentials",
          "isSecret": true,
          "name": "AWS_SESSION_TOKEN"
        },
        {
          "description": "AWS region for S3 database connections",
          "name": "AWS_DEFAULT_REGION"
        },
        {
          "description": "AWS endpoint for S3 database connections",
          "name": "AWS_ENDPOINT"
        }
      ]
    }
  ]
}
mcp model-context-protocol pypi

Comments

Sign in to leave a comment

Loading comments...