{"_id":"@database-mcp/mysql","_rev":"7-8e5b08ae173c04b1a2d42e3763db584a","name":"@database-mcp/mysql","dist-tags":{"latest":"0.4.2"},"versions":{"0.0.0":{"name":"@database-mcp/mysql","version":"0.0.0","keywords":["mcp","model-context-protocol","mysql","database","sql"],"license":"MIT","_id":"@database-mcp/mysql@0.0.0","maintainers":[{"name":"arifulislamat","email":"arifulislamat@gmail.com"}],"homepage":"https://github.com/arifulislamat/database-mcp#readme","bugs":{"url":"https://github.com/arifulislamat/database-mcp/issues"},"dist":{"shasum":"40dfe581c83cf474052f9fde90b8669b625fffda","tarball":"https://registry.npmjs.org/@database-mcp/mysql/-/mysql-0.0.0.tgz","fileCount":2,"integrity":"sha512-1n1L3Hr0CT75aK5JxLYGVp3UXwi/SIinvoVwtrXAcmZBWQM3mG+H71qB9/yG4tub/hl4qxuhNzwfXkxUuuiNig==","signatures":[{"sig":"MEQCICrk4qQ0QkvSwqwtv8r6wC9nOO+BRT229Hvx0JCFwTmGAiA5onlnjzEYBaHKEXrD7CnVC0/7BU26t8XYQml2RuRN4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":897},"_npmUser":{"name":"arifulislamat","email":"arifulislamat@gmail.com"},"repository":{"url":"git+https://github.com/arifulislamat/database-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server for MySQL with read-only guardrails, row caps, and statement timeouts. Placeholder — real release imminent.","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mysql_0.0.0_1783844386475_0.8005345825255192","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@database-mcp/mysql","version":"0.2.0","keywords":["mcp","model-context-protocol","mysql","database","sql"],"license":"MIT","_id":"@database-mcp/mysql@0.2.0","maintainers":[{"name":"arifulislamat","email":"arifulislamat@gmail.com"}],"homepage":"https://github.com/arifulislamat/database-mcp#readme","bugs":{"url":"https://github.com/arifulislamat/database-mcp/issues"},"bin":{"database-mcp-mysql":"dist/index.js"},"dist":{"shasum":"845296679017f721f1ef768fceb8028e720dc174","tarball":"https://registry.npmjs.org/@database-mcp/mysql/-/mysql-0.2.0.tgz","fileCount":8,"integrity":"sha512-Kr566AbUYTXV3zCchdfZSEC3Kue7zCs/J2ZTQesBpMOOIGzTkJDBHilIs7nh3YyqoA5W7cUG1DsjbdSVifAvxg==","signatures":[{"sig":"MEUCIQCf4kQPDOOXup1OilNhaHzr69IW5fCSbjBF4oG9ZPKWvAIgdHXPnLYzatTx6Z6lMznmKIp+G3bnaa+7SfUjd1qmoYg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@database-mcp%2fmysql@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13671},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"gitHead":"b88051b3bd1bdaa46075a0aa34a634ef45713734","scripts":{"build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d4ec5773-9e74-44f2-8cd3-4acaf6cc4f4d"}},"repository":{"url":"git+https://github.com/arifulislamat/database-mcp.git","type":"git","directory":"mysql/typescript"},"_npmVersion":"12.0.1","description":"MCP server for MySQL with read-only guardrails, row caps, and statement timeouts","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mysql2":"^3.22.6","@database-mcp/core":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mysql_0.2.0_1783844510809_0.44151442895140325","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@database-mcp/mysql","version":"0.2.1","keywords":["mcp","model-context-protocol","mysql","database","sql"],"license":"MIT","_id":"@database-mcp/mysql@0.2.1","maintainers":[{"name":"arifulislamat","email":"arifulislamat@gmail.com"}],"homepage":"https://github.com/arifulislamat/database-mcp#readme","bugs":{"url":"https://github.com/arifulislamat/database-mcp/issues"},"bin":{"database-mcp-mysql":"dist/index.js"},"dist":{"shasum":"2ed86023a5e97c73cf9a2681be34565063740926","tarball":"https://registry.npmjs.org/@database-mcp/mysql/-/mysql-0.2.1.tgz","fileCount":8,"integrity":"sha512-bG2SIWjsT5sMfF9fzTOALP1gxV/JEEHrHRVGLzlI6apWHUwaUfDBQkuXv3XOt6qF+t712mpjhF6JKKLZl352lA==","signatures":[{"sig":"MEYCIQCa5zBj39pbqjSqY+SBblkZT+/ONveIPAM/R2Mt37bJkAIhAJ9wfNXeG7XQlOpI/KGAFkrTWbYV41Rhd9PJ12ztIvJ5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@database-mcp%2fmysql@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13787},"main":"dist/adapter.js","type":"module","types":"dist/adapter.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/adapter.d.ts","default":"./dist/adapter.js"}},"gitHead":"8b9beb6818e16d55d1829d0af27968ddb2316325","scripts":{"build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d4ec5773-9e74-44f2-8cd3-4acaf6cc4f4d"}},"repository":{"url":"git+https://github.com/arifulislamat/database-mcp.git","type":"git","directory":"mysql/typescript"},"_npmVersion":"12.0.1","description":"MCP server for MySQL with read-only guardrails, row caps, and statement timeouts","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mysql2":"^3.22.6","@database-mcp/core":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mysql_0.2.1_1783845794733_0.49369356464040304","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@database-mcp/mysql","version":"0.3.0","keywords":["mcp","model-context-protocol","mysql","database","sql"],"license":"MIT","_id":"@database-mcp/mysql@0.3.0","maintainers":[{"name":"arifulislamat","email":"arifulislamat@gmail.com"}],"homepage":"https://github.com/arifulislamat/database-mcp#readme","bugs":{"url":"https://github.com/arifulislamat/database-mcp/issues"},"bin":{"database-mcp-mysql":"dist/index.js"},"dist":{"shasum":"553edb714a073824c7267ee40a5396b4addd75e3","tarball":"https://registry.npmjs.org/@database-mcp/mysql/-/mysql-0.3.0.tgz","fileCount":8,"integrity":"sha512-YXRi5SYCcMrd15x8M8izOiy9HxkHKJE3KUDYGRZKO8kWhr5Z+0VJflAc+r05pQMdJYlhQa6FQCZ/O9bV0Neewg==","signatures":[{"sig":"MEYCIQDyTsmTVBHB0n3qWqvzRbk5jgZXdU2m+C45wwP2DaQBUgIhAIc0LYf6wZNAx+6X9oaECSb9CzVAOAl1fl5p35LofuOM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@database-mcp%2fmysql@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15128},"main":"dist/adapter.js","type":"module","types":"dist/adapter.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/adapter.d.ts","default":"./dist/adapter.js"}},"gitHead":"8fb24f27be60dc9fc5167dcf1df253dece021368","scripts":{"build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d4ec5773-9e74-44f2-8cd3-4acaf6cc4f4d"}},"repository":{"url":"git+https://github.com/arifulislamat/database-mcp.git","type":"git","directory":"mysql/typescript"},"_npmVersion":"12.0.1","description":"MCP server for MySQL with read-only guardrails, row caps, and statement timeouts","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mysql2":"^3.22.6","@database-mcp/core":"^0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mysql_0.3.0_1783857146820_0.297128787702831","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@database-mcp/mysql","version":"0.4.0","keywords":["mcp","model-context-protocol","mysql","database","sql"],"license":"MIT","_id":"@database-mcp/mysql@0.4.0","maintainers":[{"name":"arifulislamat","email":"arifulislamat@gmail.com"}],"homepage":"https://github.com/arifulislamat/database-mcp#readme","bugs":{"url":"https://github.com/arifulislamat/database-mcp/issues"},"bin":{"database-mcp-mysql":"dist/index.js"},"dist":{"shasum":"cc0c4caa25a3b0011e22f4f0be4409feb876b3fb","tarball":"https://registry.npmjs.org/@database-mcp/mysql/-/mysql-0.4.0.tgz","fileCount":8,"integrity":"sha512-0Z2gn2d3c7vnvWbUVmhb7wJVO4r4Vw/uea/Q92k9oPQ38SFdl26v7E0fSVl9Bn3iSqDEvlRAHD/WtmRjrGkM+g==","signatures":[{"sig":"MEUCIQCYJuA6zoek9IkCG8cZwk1rTUQlIk3Xtee3Pm8dtamS+QIgSbfX8Sj7/KNfb3AxMAUODDHQkm3V68xsXvIYmyoFn38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@database-mcp%2fmysql@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15540},"main":"dist/adapter.js","type":"module","types":"dist/adapter.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/adapter.d.ts","default":"./dist/adapter.js"}},"gitHead":"5ed6461b30f629f6d672096c28ffbaab1e43c2bf","scripts":{"build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d4ec5773-9e74-44f2-8cd3-4acaf6cc4f4d"}},"repository":{"url":"git+https://github.com/arifulislamat/database-mcp.git","type":"git","directory":"mysql/typescript"},"_npmVersion":"12.0.1","description":"MCP server for MySQL with read-only guardrails, row caps, and statement timeouts","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mysql2":"^3.22.6","@database-mcp/core":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mysql_0.4.0_1783859808723_0.48075930465423755","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@database-mcp/mysql","version":"0.4.1","keywords":["mcp","model-context-protocol","mysql","database","sql"],"license":"MIT","_id":"@database-mcp/mysql@0.4.1","maintainers":[{"name":"arifulislamat","email":"arifulislamat@gmail.com"}],"homepage":"https://github.com/arifulislamat/database-mcp#readme","bugs":{"url":"https://github.com/arifulislamat/database-mcp/issues"},"bin":{"database-mcp-mysql":"dist/index.js"},"dist":{"shasum":"d0bc91202469f672062f5a7d678b236f7f467fd7","tarball":"https://registry.npmjs.org/@database-mcp/mysql/-/mysql-0.4.1.tgz","fileCount":8,"integrity":"sha512-ps1etiVA+jYvMV1EbejRmgU8eR+WRDGtce899P5dtIjyZyeJjNa3SCRPIj6Nz84OuOzcHLgdZs4QSkDU7AyzsA==","signatures":[{"sig":"MEQCIDvs5A/rAFPHIiQtIeDIIU3gN/5MP3GEnDPk3FWB6VM7AiAhc8JrBABPwdwo3YOJcBTNVDMH0ZGN9Aot4vxBLc6+Gw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@database-mcp%2fmysql@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15599},"main":"dist/adapter.js","type":"module","types":"dist/adapter.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/adapter.d.ts","default":"./dist/adapter.js"}},"gitHead":"cf712fad4491b7007a6b96170c15cf718d7e6068","mcpName":"io.github.arifulislamat/database-mcp-mysql","scripts":{"build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d4ec5773-9e74-44f2-8cd3-4acaf6cc4f4d"}},"repository":{"url":"git+https://github.com/arifulislamat/database-mcp.git","type":"git","directory":"mysql/typescript"},"_npmVersion":"12.0.1","description":"MCP server for MySQL with read-only guardrails, row caps, and statement timeouts","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mysql2":"^3.22.6","@database-mcp/core":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mysql_0.4.1_1783861580147_0.9777890358999883","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@database-mcp/mysql","version":"0.4.2","description":"MCP server for MySQL with read-only guardrails, row caps, and statement timeouts","license":"MIT","type":"module","main":"dist/adapter.js","types":"dist/adapter.d.ts","bin":{"database-mcp-mysql":"dist/index.js"},"scripts":{"build":"tsc"},"repository":{"type":"git","url":"git+https://github.com/arifulislamat/database-mcp.git","directory":"mysql/typescript"},"homepage":"https://github.com/arifulislamat/database-mcp#readme","keywords":["mcp","model-context-protocol","mysql","database","sql"],"dependencies":{"@database-mcp/core":"^0.4.0","mysql2":"^3.22.6"},"devDependencies":{"@types/node":"^24.0.0","typescript":"^7.0.2"},"engines":{"node":">=22"},"publishConfig":{"access":"public"},"exports":{".":{"types":"./dist/adapter.d.ts","default":"./dist/adapter.js"}},"mcpName":"io.github.arifulislamat/database-mcp-mysql","gitHead":"a2ee8adb85265281b0097981059c2a0ce00b64a8","_id":"@database-mcp/mysql@0.4.2","bugs":{"url":"https://github.com/arifulislamat/database-mcp/issues"},"_nodeVersion":"24.18.0","_npmVersion":"12.0.1","dist":{"integrity":"sha512-lH3wcRrsr2nqSM3sLhJg+BOvi0Jv8DUn2Tzjy0Cm80DO1JznMLJTD14ksRT7akG9puWz34SGbx33X4wlYr4w9Q==","shasum":"2b88b8044c31b6eca96ffd35044a994db552e48a","tarball":"https://registry.npmjs.org/@database-mcp/mysql/-/mysql-0.4.2.tgz","fileCount":8,"unpackedSize":15599,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@database-mcp%2fmysql@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCID+dpLCT78mYH3OURJkJ0FvTLAYAY6KHonEwoxanf0Q6AiEA0TeaY5C4thmmMuW9ceWtEx2T4YC4PqZ2t4OjDUfN2SU="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d4ec5773-9e74-44f2-8cd3-4acaf6cc4f4d"}},"directories":{},"maintainers":[{"name":"arifulislamat","email":"arifulislamat@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mysql_0.4.2_1784227102115_0.9827246365354902"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-12T08:19:46.340Z","modified":"2026-07-16T18:38:22.556Z","0.0.0":"2026-07-12T08:19:46.635Z","0.2.0":"2026-07-12T08:21:50.948Z","0.2.1":"2026-07-12T08:43:14.864Z","0.3.0":"2026-07-12T11:52:26.982Z","0.4.0":"2026-07-12T12:36:48.867Z","0.4.1":"2026-07-12T13:06:20.275Z","0.4.2":"2026-07-16T18:38:22.261Z"},"bugs":{"url":"https://github.com/arifulislamat/database-mcp/issues"},"license":"MIT","homepage":"https://github.com/arifulislamat/database-mcp#readme","keywords":["mcp","model-context-protocol","mysql","database","sql"],"repository":{"type":"git","url":"git+https://github.com/arifulislamat/database-mcp.git","directory":"mysql/typescript"},"description":"MCP server for MySQL with read-only guardrails, row caps, and statement timeouts","maintainers":[{"name":"arifulislamat","email":"arifulislamat@gmail.com"}],"readme":"# @database-mcp/mysql\n\n[![npm](https://img.shields.io/npm/v/%40database-mcp%2Fmysql)](https://www.npmjs.com/package/@database-mcp/mysql) [![CI](https://github.com/arifulislamat/database-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/arifulislamat/database-mcp/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/github/license/arifulislamat/database-mcp)](https://github.com/arifulislamat/database-mcp/blob/main/LICENSE)\n\nMCP server giving AI clients safe, structured access to a MySQL database.\nTwo tools, guardrails on by default.\n\n## Quick start (Claude Desktop / Claude Code / Cursor)\n\n```json\n{\n  \"mcpServers\": {\n    \"mysql\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@database-mcp/mysql\"],\n      \"env\": {\n        \"MYSQL_HOST\": \"127.0.0.1\",\n        \"MYSQL_USER\": \"readonly_user\",\n        \"MYSQL_PASSWORD\": \"your-password\",\n        \"MYSQL_DATABASE\": \"mydb\"\n      }\n    }\n  }\n}\n```\n\n## Configuration\n\nUse whichever method fits your setup. When methods are combined, flags win\nover the YAML file, and the YAML file wins over environment variables.\n\n### Environment variables\n\n`MYSQL_HOST`, `MYSQL_PORT`, `MYSQL_USER`, `MYSQL_PASSWORD`,\n`MYSQL_DATABASE`, as in the quick start above.\n\n### Mounted secret file (Docker, Kubernetes)\n\nKeeps the password out of the environment and out of every config file.\nPoint `MYSQL_PASSWORD_FILE` at a file that contains only the password:\n\n```json\n\"env\": {\n  \"MYSQL_HOST\": \"127.0.0.1\",\n  \"MYSQL_USER\": \"readonly_user\",\n  \"MYSQL_PASSWORD_FILE\": \"/run/secrets/mysql_password\",\n  \"MYSQL_DATABASE\": \"mydb\"\n}\n```\n\n### YAML config file\n\nKeeps the client entry down to two lines. Pass an absolute path, since the\nworking directory at launch is unpredictable:\n\n```json\n\"args\": [\"-y\", \"@database-mcp/mysql\", \"--config\", \"/absolute/path/database-mcp.yaml\"]\n```\n\n```yaml\n# /absolute/path/database-mcp.yaml\nconnection:\n  host: 127.0.0.1\n  port: 3306\n  user: readonly_user\n  password: ${MYSQL_PASSWORD} # expanded from the environment at load time\n  # or read it from a mounted file instead:\n  # password_file: /run/secrets/mysql_password\n  database: mydb\n\nguardrails:\n  readOnly: true\n  maxRows: 1000\n  queryTimeoutMs: 30000\n```\n\nNever write a literal password into the YAML file. Use `${VAR}` expansion or\n`password_file` as shown.\n\n### Connection string\n\n```json\n\"args\": [\"-y\", \"@database-mcp/mysql\", \"--dsn\", \"mysql://readonly_user@127.0.0.1:3306/mydb\"]\n```\n\nPutting the password inside the DSN works but is discouraged. If you do it\nanyway, the server redacts it from any log output.\n\n### Checking the result\n\nRun the server with `--print-config` to see exactly what it resolved. The\npassword always prints as `***`.\n\n## Tools\n\n- **`execute_sql`** `{ sql }` runs a single SQL statement.\n- **`search_objects`** `{ table? }` lists tables, or describes one (columns,\n  indexes, foreign keys).\n\n## Guardrails (defaults)\n\n| Guardrail     | Default  | Override                                  |\n| ------------- | -------- | ----------------------------------------- |\n| Read-only     | on       | `--allow-write` / `ALLOW_WRITE`           |\n| Row cap       | 1000     | `--max-rows` / `MAX_ROWS`                 |\n| Query timeout | 30000 ms | `--query-timeout-ms` / `QUERY_TIMEOUT_MS` |\n\nRead-only is enforced in two layers: a conservative SQL guard, plus\n`SET SESSION TRANSACTION READ ONLY` on every pooled connection. Writes\nsmuggled through CTEs are rejected by the server itself.\n\n## Part of database-mcp\n\nOne package per engine, identical tool contract, shared conformance suite:\n[github.com/arifulislamat/database-mcp](https://github.com/arifulislamat/database-mcp)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}