What was reported:
Issue motherduckdb/mcp-server-motherduck#18 (closed, 5 comments): A user asked whether the MCP server could connect to multiple databases dynamically instead of only at startup, including picking local DuckDB files and avoiding file locking when another tool writes to the same file. The maintainers pointed at the older initialize-connection flow, and then shipped the real answer in v1.0.0: a switch_database_connection tool (enabled with the --allow-switch-databases flag) to change databases at runtime, plus list_databases to discover what is available. Ephemeral connections are now the default for read-only local files, which also fixes the locking problem.
What works:
If you need the MotherDuck MCP server to work with more than one database in a session, upgrade to v1.0.0 or later. That release added a switch_database_connection tool, enabled with the --allow-switch-databases flag, so the LLM can change databases at runtime instead of you restarting the server, plus a list_databases tool to discover available databases. For the related file-locking pain (e.g. another tool writing to a local DuckDB file while you read it), v1.0.0 made ephemeral connections the default for read-only local files, so reads no longer fight writers. If you only need reads, the --read-only flag is the lightest option.