{"_id":"@cemalturkcann/mariadb-mcp-server","_rev":"6-55647ae48195d3e8bb8479577b3a42a9","name":"@cemalturkcann/mariadb-mcp-server","dist-tags":{"latest":"1.1.3"},"versions":{"1.0.0":{"name":"@cemalturkcann/mariadb-mcp-server","version":"1.0.0","keywords":["mcp","mariadb","mysql","model-context-protocol","database","ai","llm","claude"],"license":"MIT","_id":"@cemalturkcann/mariadb-mcp-server@1.0.0","maintainers":[{"name":"cemalturkcann","email":"cemalturkcann@gmail.com"}],"homepage":"https://github.com/cemalturkcan/mariadb-mcp-server#readme","bugs":{"url":"https://github.com/cemalturkcan/mariadb-mcp-server/issues"},"bin":{"mariadb-mcp-server":"src/index.js"},"dist":{"shasum":"c9f7982a8a3f966c6fd70088c5184635e8018bd7","tarball":"https://registry.npmjs.org/@cemalturkcann/mariadb-mcp-server/-/mariadb-mcp-server-1.0.0.tgz","fileCount":9,"integrity":"sha512-udGOp0f/+5KO/dVtX7kODQZHU7+J+SGpcbiG7tjG+I4ul4NGKgvXrWZHYRdD8iV3FS1NqodT+BLm0jGU58D/+Q==","signatures":[{"sig":"MEUCIQDXyd1+Chh0zHjnu07wltaFCKHGCWjblpme1cSC7FQ7NwIgXVjOd4kJfUDbJCxdnsdRhjSjtvxSuKr3IDxgQbpE9p4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25084},"main":"src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"e3eefb5128328de8115f5c207d30d3394dbe1e3f","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"check":"node --check src/index.js && node --check src/config.js && node --check src/db.js && node --check src/sqlGuard.js && node --check src/tools.js","start":"node src/index.js"},"_npmUser":{"name":"cemalturkcann","email":"cemalturkcann@gmail.com"},"repository":{"url":"git+https://github.com/cemalturkcan/mariadb-mcp-server.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server for MariaDB/MySQL with per-connection read/write access control","directories":{},"_nodeVersion":"25.7.0","dependencies":{"mariadb":"^3.3.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"semantic-release":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mariadb-mcp-server_1.0.0_1774341604716_0.5369941064470094","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@cemalturkcann/mariadb-mcp-server","version":"1.0.2","keywords":["mcp","mariadb","mysql","model-context-protocol","database","ai","llm","claude"],"license":"MIT","_id":"@cemalturkcann/mariadb-mcp-server@1.0.2","maintainers":[{"name":"cemalturkcann","email":"cemalturkcann@gmail.com"}],"homepage":"https://github.com/cemalturkcan/mariadb-mcp-server#readme","bugs":{"url":"https://github.com/cemalturkcan/mariadb-mcp-server/issues"},"bin":{"mariadb-mcp-server":"src/index.js"},"dist":{"shasum":"a891a4421e76a64c54df7543686c1af4ab60630b","tarball":"https://registry.npmjs.org/@cemalturkcann/mariadb-mcp-server/-/mariadb-mcp-server-1.0.2.tgz","fileCount":9,"integrity":"sha512-73nvueOvWhdsRemRtpdGcBSb7OcmMsADrOj6R2uD0CajCHUfLLbA02nhU1x/Fi3wICJsBuXCv018ZahvwDe9cQ==","signatures":[{"sig":"MEQCIFfP8QDj6jegENXpdXfwC8Gr6t1bSzV05DgJSrYmD6XhAiBbmbhyYXTrx4ME7pGpXyCeyHRm+CV6CumoT6fpjntb+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25082},"main":"src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"bef451508576c3398986962ac4e2652e58821846","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"check":"node --check src/index.js && node --check src/config.js && node --check src/db.js && node --check src/sqlGuard.js && node --check src/tools.js","start":"node src/index.js"},"_npmUser":{"name":"cemalturkcann","email":"cemalturkcann@gmail.com"},"repository":{"url":"git+https://github.com/cemalturkcan/mariadb-mcp-server.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for MariaDB/MySQL with per-connection read/write access control","directories":{},"_nodeVersion":"22.22.1","dependencies":{"mariadb":"^3.3.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"semantic-release":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mariadb-mcp-server_1.0.2_1774341647609_0.5041171878717847","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@cemalturkcann/mariadb-mcp-server","version":"1.1.0","keywords":["mcp","mariadb","mysql","model-context-protocol","database","ai","llm","claude"],"license":"MIT","_id":"@cemalturkcann/mariadb-mcp-server@1.1.0","maintainers":[{"name":"cemalturkcann","email":"cemalturkcann@gmail.com"}],"homepage":"https://github.com/cemalturkcan/mariadb-mcp-server#readme","bugs":{"url":"https://github.com/cemalturkcan/mariadb-mcp-server/issues"},"bin":{"mariadb-mcp-server":"src/index.js"},"dist":{"shasum":"7a99770fe3f8f98996028fd236fcb24a43017012","tarball":"https://registry.npmjs.org/@cemalturkcann/mariadb-mcp-server/-/mariadb-mcp-server-1.1.0.tgz","fileCount":9,"integrity":"sha512-Ckip1AebyJzDnFkIRl51jTtHmudh9P7KoIIAyDElWNfl4Ok4aybY0YuO/nsEawqIKTh3fwzE6KA4Bxlj/huojQ==","signatures":[{"sig":"MEUCIEwZ1WMrpAb6+mRBY74jW+Qh78wTYZ1Cu30bCU8Em+s1AiEAl8GGutoTLs0G4ySVn9F2n72+164gueL1isRKXG8sa0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27707},"main":"src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"5d22a638fd60b36b9554c45627345e441ed2a8d4","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"check":"node --check src/index.js && node --check src/config.js && node --check src/db.js && node --check src/sqlGuard.js && node --check src/tools.js","start":"node src/index.js"},"_npmUser":{"name":"cemalturkcann","email":"cemalturkcann@gmail.com"},"repository":{"url":"git+https://github.com/cemalturkcan/mariadb-mcp-server.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for MariaDB/MySQL with per-connection read/write access control","directories":{},"_nodeVersion":"22.22.1","dependencies":{"mariadb":"^3.3.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"semantic-release":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mariadb-mcp-server_1.1.0_1774342799723_0.35295736485892193","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@cemalturkcann/mariadb-mcp-server","version":"1.1.1","keywords":["mcp","mariadb","mysql","model-context-protocol","database","ai","llm","claude"],"license":"MIT","_id":"@cemalturkcann/mariadb-mcp-server@1.1.1","maintainers":[{"name":"cemalturkcann","email":"cemalturkcann@gmail.com"}],"homepage":"https://github.com/cemalturkcan/mariadb-mcp-server#readme","bugs":{"url":"https://github.com/cemalturkcan/mariadb-mcp-server/issues"},"bin":{"mariadb-mcp-server":"src/index.js"},"dist":{"shasum":"3adce89eb6cf3e2ca148ca8092074346b77c9f08","tarball":"https://registry.npmjs.org/@cemalturkcann/mariadb-mcp-server/-/mariadb-mcp-server-1.1.1.tgz","fileCount":9,"integrity":"sha512-67GKnu5LrzuZbnp8Qu18adTKKJ8Yr/skeQO6tk/BuP7T5MHGN+e1bVAWCfAXxjrcvsAEPZ8wUbIu3G2zh/APXg==","signatures":[{"sig":"MEQCIChDEGWmRaMesld6dFe0nk1/TUl7yI1kPTX4Fpm901zdAiBxreWBvQs8Ruq/BGPBuTUqU21Cw+lesHI4tO/DnUpadg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27852},"main":"src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"ed512d92ea834a937e7d6bfce6abe9c0fcaf6322","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"check":"node --check src/index.js && node --check src/config.js && node --check src/db.js && node --check src/sqlGuard.js && node --check src/tools.js","start":"node src/index.js"},"_npmUser":{"name":"cemalturkcann","email":"cemalturkcann@gmail.com"},"repository":{"url":"git+https://github.com/cemalturkcan/mariadb-mcp-server.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for MariaDB/MySQL with per-connection read/write access control","directories":{},"_nodeVersion":"22.22.1","dependencies":{"mariadb":"^3.3.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"semantic-release":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mariadb-mcp-server_1.1.1_1774342967978_0.7445999587277168","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@cemalturkcann/mariadb-mcp-server","version":"1.1.2","keywords":["mcp","mariadb","mysql","model-context-protocol","database","ai","llm","claude"],"license":"MIT","_id":"@cemalturkcann/mariadb-mcp-server@1.1.2","maintainers":[{"name":"cemalturkcann","email":"cemalturkcann@gmail.com"}],"homepage":"https://github.com/cemalturkcan/mariadb-mcp-server#readme","bugs":{"url":"https://github.com/cemalturkcan/mariadb-mcp-server/issues"},"bin":{"mariadb-mcp-server":"src/index.js"},"dist":{"shasum":"883c9a80c261aca1f25ecf66ee8639e97b3cd5f7","tarball":"https://registry.npmjs.org/@cemalturkcann/mariadb-mcp-server/-/mariadb-mcp-server-1.1.2.tgz","fileCount":9,"integrity":"sha512-fPopzXeOnxQ/QzgNBKVvr6bXAE3efjHkOi0viho905Keb8szZaFDXGPZSE+Me4enL5XU1SOLKcAHEe5W1pc6Og==","signatures":[{"sig":"MEUCIQCfBd/+a4YnLeDvT6rxdmivLRXhxep/wF1OTOPaQ4IVSQIgRwhyu0NACRNyooHwdskVAB9Ggk2iXjvYsVwpEmM7Mqk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27895},"main":"src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"6c6be0b72a2c7a84dfd65ef926fcc16fd53b37ca","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"check":"node --check src/index.js && node --check src/config.js && node --check src/db.js && node --check src/sqlGuard.js && node --check src/tools.js","start":"node src/index.js"},"_npmUser":{"name":"cemalturkcann","email":"cemalturkcann@gmail.com"},"repository":{"url":"git+https://github.com/cemalturkcan/mariadb-mcp-server.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for MariaDB/MySQL with per-connection read/write access control","directories":{},"_nodeVersion":"22.22.1","dependencies":{"mariadb":"^3.3.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"semantic-release":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mariadb-mcp-server_1.1.2_1775138563136_0.6951899128398065","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@cemalturkcann/mariadb-mcp-server","version":"1.1.3","description":"MCP server for MariaDB/MySQL with per-connection read/write access control","type":"module","main":"src/index.js","bin":{"mariadb-mcp-server":"src/index.js"},"scripts":{"start":"node src/index.js","check":"node --check src/index.js && node --check src/config.js && node --check src/db.js && node --check src/sqlGuard.js && node --check src/tools.js"},"keywords":["mcp","mariadb","mysql","model-context-protocol","database","ai","llm","claude"],"repository":{"type":"git","url":"git+https://github.com/cemalturkcan/mariadb-mcp-server.git"},"homepage":"https://github.com/cemalturkcan/mariadb-mcp-server#readme","bugs":{"url":"https://github.com/cemalturkcan/mariadb-mcp-server/issues"},"license":"MIT","engines":{"node":">=18"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","mariadb":"^3.3.0"},"devDependencies":{"semantic-release":"^24.0.0"},"publishConfig":{"access":"public"},"release":{"branches":["main"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"_id":"@cemalturkcann/mariadb-mcp-server@1.1.3","gitHead":"70f33b39b1f0290c6f17b643061d89b83bcfc84e","_nodeVersion":"22.22.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-ovor4BUSUXClxhN1z81gLJHUrgg+RcE1XPcYZ65hC2788l87j3rBpPl9lyjrP9ClWPaRArbvihzyc6zaqrui3w==","shasum":"cd68bb3c2aeba6bcaf6ba4242a4d27a0060f597b","tarball":"https://registry.npmjs.org/@cemalturkcann/mariadb-mcp-server/-/mariadb-mcp-server-1.1.3.tgz","fileCount":9,"unpackedSize":27886,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDubrhLghjsHUz4pRGkrKzST4IcTK7y69kokwKirRdUcAiAX7ss1i897x9W7YYcqVoDf6Bgd50Qcapy6xTo0ITVeyw=="}]},"_npmUser":{"name":"cemalturkcann","email":"cemalturkcann@gmail.com"},"directories":{},"maintainers":[{"name":"cemalturkcann","email":"cemalturkcann@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mariadb-mcp-server_1.1.3_1775305381018_0.735721435186574"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-24T08:40:04.607Z","modified":"2026-04-04T12:23:01.574Z","1.0.0":"2026-03-24T08:40:04.863Z","1.0.2":"2026-03-24T08:40:47.760Z","1.1.0":"2026-03-24T08:59:59.883Z","1.1.1":"2026-03-24T09:02:48.113Z","1.1.2":"2026-04-02T14:02:43.291Z","1.1.3":"2026-04-04T12:23:01.152Z"},"bugs":{"url":"https://github.com/cemalturkcan/mariadb-mcp-server/issues"},"license":"MIT","homepage":"https://github.com/cemalturkcan/mariadb-mcp-server#readme","keywords":["mcp","mariadb","mysql","model-context-protocol","database","ai","llm","claude"],"repository":{"type":"git","url":"git+https://github.com/cemalturkcan/mariadb-mcp-server.git"},"description":"MCP server for MariaDB/MySQL with per-connection read/write access control","maintainers":[{"name":"cemalturkcann","email":"cemalturkcann@gmail.com"}],"readme":"# mariadb-mcp-server\n\nMCP (Model Context Protocol) server for MariaDB/MySQL databases. Provides AI assistants with safe, controlled database access through per-connection read/write permissions.\n\n## Features\n\n- **Multi-connection** — manage multiple MariaDB/MySQL databases from a single server\n- **Per-connection access control** — `read` and `write` flags per connection\n- **Optional limits** — `statement_timeout_ms`, `default_row_limit`, `max_row_limit` (all optional, unlimited by default)\n- **SQL guard** — validates queries to prevent accidental writes through read tools\n- **Transaction support** — atomic multi-query execution on writable connections\n\n## Installation\n\n```bash\nnpm install -g @cemalturkcann/mariadb-mcp-server\n```\n\nOr use directly with npx:\n\n```bash\nnpx @cemalturkcann/mariadb-mcp-server\n```\n\n## Configuration\n\nThe server looks for `config.json` in this order:\n\n1. `DB_MCP_CONFIG_PATH` environment variable\n2. Next to the package (`../config.json` relative to `src/`)\n3. Current working directory\n4. `~/.config/mariadb-mcp/config.json`\n\nIf no config is found, a default one is created automatically at `~/.config/mariadb-mcp/config.json` with a local read-only connection.\n\nExample config:\n\n```json\n{\n  \"connections\": {\n    \"local\": {\n      \"host\": \"localhost\",\n      \"port\": 3306,\n      \"user\": \"root\",\n      \"password\": \"\",\n      \"description\": \"Local MariaDB\",\n      \"read\": true,\n      \"write\": true\n    },\n    \"production\": {\n      \"host\": \"db.example.com\",\n      \"port\": 3306,\n      \"user\": \"readonly_user\",\n      \"password\": \"secret\",\n      \"database\": \"mydb\",\n      \"description\": \"Production (read-only)\",\n      \"read\": true,\n      \"write\": false,\n      \"statement_timeout_ms\": 5000,\n      \"default_row_limit\": 50,\n      \"max_row_limit\": 500\n    }\n  }\n}\n```\n\n### Connection options\n\n| Field                  | Type           | Default     | Description                                      |\n| ---------------------- | -------------- | ----------- | ------------------------------------------------ |\n| `host`                 | string         | `localhost` | Database host                                    |\n| `port`                 | number         | `3306`      | Database port                                    |\n| `user`                 | string         | `root`      | Database user                                    |\n| `password`             | string         | `\"\"`        | Database password                                |\n| `database`             | string         | `\"\"`        | Default database                                 |\n| `description`          | string         | `\"\"`        | Human-readable label                             |\n| `read`                 | boolean        | `true`      | Allow read queries                               |\n| `write`                | boolean        | `false`     | Allow write queries                              |\n| `ssl`                  | boolean/object | `false`     | SSL configuration                                |\n| `statement_timeout_ms` | number         | _none_      | Connection timeout (0 or omit = unlimited)       |\n| `default_row_limit`    | number         | _none_      | Default LIMIT for SELECT (0 or omit = unlimited) |\n| `max_row_limit`        | number         | _none_      | Max allowed LIMIT (0 or omit = unlimited)        |\n\n## MCP Tools\n\n| Tool                  | Description                                     | Requires |\n| --------------------- | ----------------------------------------------- | -------- |\n| `list_connections`    | List all configured connections                 | —        |\n| `list_databases`      | Show databases on a connection                  | `read`   |\n| `list_tables`         | Show tables (optionally in a specific database) | `read`   |\n| `describe_table`      | Show column definitions                         | `read`   |\n| `execute_select`      | Run SELECT / SHOW / DESCRIBE / EXPLAIN queries  | `read`   |\n| `execute_write`       | Run INSERT / UPDATE / DELETE / DDL queries      | `write`  |\n| `execute_transaction` | Run multiple write queries atomically           | `write`  |\n| `suggest_query`       | Suggest a query for manual review               | —        |\n\n## MCP Client Setup\n\nOn first run, a default config is created automatically at `~/.config/mariadb-mcp/config.json` (Linux/macOS) or `%APPDATA%\\mariadb-mcp\\config.json` (Windows). Edit it to add your connections.\n\n### Claude Code\n\nAdd to `~/.claude.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"mariadb\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@cemalturkcann/mariadb-mcp-server\"]\n    }\n  }\n}\n```\n\n### OpenCode\n\nAdd to your `opencode.json`:\n\n```json\n{\n  \"mcp\": {\n    \"mariadb\": {\n      \"type\": \"local\",\n      \"command\": [\"npx\", \"-y\", \"@cemalturkcann/mariadb-mcp-server\"]\n    }\n  }\n}\n```\n\n### Other MCP Clients\n\nAny MCP-compatible client can use this server. The binary name is `mariadb-mcp-server` and it communicates over stdio. To use a custom config path, set `DB_MCP_CONFIG_PATH`.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}