Bug
The databasePassword (and databaseRootPassword, password) fields across libsql-create, mariadb-create, mongo-create, mysql-create, postgres-create, and their password-change counterparts use a Zod .regex() pattern that produces an invalid JSON Schema regex. DeepSeek API's schema validator rejects it with:
Error from provider (DeepSeek): Invalid schema for function 'dokploy_libsql-create': "^[a-zA-Z0-9@#%^&*()_+\\-=[\\]{}|;:,.<>?~`]*$" is not a "regex"
Steps to Reproduce
- Configure @dokploy/mcp with DeepSeek as the LLM provider
- The MCP server sends tools/list to DeepSeek
- DeepSeek rejects the schema because the
pattern regex is not valid ECMA-262
Root Cause
The regex ^[a-zA-Z0-9@#%^&*()_+=[\]{}|;:,.<>?~-]*$(or its zod-to-json-schema-transformed variant) contains characters that DeepSeek's JSON Schema validator does not accept as a valid regex. Likely the backtick or how zod-to-json-schema escapes the-` inside the character class.
Affected Tools
All tools with databasePassword, databaseRootPassword, or password fields using this regex:
libsql-create, libsql-update
mariadb-create, mariadb-update, mariadb-changePassword
mongo-create, mongo-update, mongo-changePassword
mysql-create, mysql-update, mysql-changePassword
postgres-create, postgres-update, postgres-changePassword
redis-changePassword
Expected Behavior
All database-related tools should register successfully with any provider that validates JSON Schema patterns (DeepSeek, Anthropic, OpenAI, etc.).
Suggested Fix
Replace the .regex() constraint with a simpler validation or remove it entirely — the server validates the password anyway. For example, use z.string().min(1) instead of z.string().regex(...).
Operating System
Linux
Agent / Client
OpenCode (OpenCode CLI)
Shell
bash
Bug
The
databasePassword(anddatabaseRootPassword,password) fields acrosslibsql-create,mariadb-create,mongo-create,mysql-create,postgres-create, and theirpassword-change counterparts use a Zod.regex()pattern that produces an invalid JSON Schema regex. DeepSeek API's schema validator rejects it with:Steps to Reproduce
patternregex is not valid ECMA-262Root Cause
The regex
^[a-zA-Z0-9@#%^&*()_+=[\]{}|;:,.<>?~-]*$(or its zod-to-json-schema-transformed variant) contains characters that DeepSeek's JSON Schema validator does not accept as a valid regex. Likely the backtick or how zod-to-json-schema escapes the-` inside the character class.Affected Tools
All tools with
databasePassword,databaseRootPassword, orpasswordfields using this regex:libsql-create,libsql-updatemariadb-create,mariadb-update,mariadb-changePasswordmongo-create,mongo-update,mongo-changePasswordmysql-create,mysql-update,mysql-changePasswordpostgres-create,postgres-update,postgres-changePasswordredis-changePasswordExpected Behavior
All database-related tools should register successfully with any provider that validates JSON Schema patterns (DeepSeek, Anthropic, OpenAI, etc.).
Suggested Fix
Replace the
.regex()constraint with a simpler validation or remove it entirely — the server validates the password anyway. For example, usez.string().min(1)instead ofz.string().regex(...).Operating System
Linux
Agent / Client
OpenCode (OpenCode CLI)
Shell
bash