mcp-server-motherduck
SQL analytics and data engineering for AI Assistants and IDEs
The record the registry holds
There is no address to call. This one is a package you install and run yourself, wherever your assistant runs.
{
"server": {
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "io.github.motherduckdb/mcp-server-motherduck",
"description": "SQL analytics and data engineering for AI Assistants and IDEs",
"repository": {
"url": "https://github.com/motherduckdb/mcp-server-motherduck",
"source": "github"
},
"version": "1.0.8",
"icons": [
{
"src": "https://t2.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=http://motherduck.com&size=64",
"mimeType": "image/png",
"sizes": [
"64x64"
]
}
],
"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"
}
]
}
]
},
"_meta": {
"io.modelcontextprotocol.registry/official": {
"status": "active",
"statusChangedAt": "2026-08-19T17:02:51.378761Z",
"publishedAt": "2026-08-19T17:02:51.378761Z",
"updatedAt": "2026-08-19T17:02:51.378761Z",
"isLatest": true
}
}
}
Draft an Agent Plugin from this
An MCP server is raw capability: some tools, wired to something. An Agent Plugin is the packaging that says what job it does, what it leaves behind and where it stops. The prompt below carries this record and asks for the packaging; your own assistant writes it, and nothing here is sent anywhere.
MCP server
These are the publisher's own words, filed by them with the official MCP registry and mirrored here. This catalog did not read them from the publisher and has not run, called or installed anything.
The publisher's own address
https://github.com/motherduckdb/mcp-server-motherduck
The address the publisher put in their registry record, printed as they wrote it. Nobody here has opened it.