{"_id":"mcp-schema-designer","_rev":"11-5186acd0574903ef4a6ae694ba1d551b","name":"mcp-schema-designer","dist-tags":{"latest":"1.1.4"},"versions":{"1.1.1":{"name":"mcp-schema-designer","version":"1.1.1","keywords":["mcp","database","schema","migration","sql","postgresql","typescript","zod","json-schema"],"license":"MIT","_id":"mcp-schema-designer@1.1.1","maintainers":[{"name":"aivp","email":"wasuppeople3@gmail.com"}],"bin":{"schema-designer":"dist/index.js"},"dist":{"shasum":"5f0cab2166c104fe09b14bc66f1288abd8a2e566","tarball":"https://registry.npmjs.org/mcp-schema-designer/-/mcp-schema-designer-1.1.1.tgz","fileCount":29,"integrity":"sha512-IKJHGHCkUz1Ufqs6eTbSLrEgkpmPHEqp7wiPfteYSyOg4FIHGySrSrmAoWLcabywkxBy8/n41aosFJj49KXz2g==","signatures":[{"sig":"MEQCIFGE96eGa7VyH1tKzcP3b5s6S2cs7+Lw10mJ7FAtgHCLAiBoY0dYpEg/6nNqDAK0VqUM5ETEwLPf5AOJLCnKSinvQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117270},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"4c2db3d7214a1ecbb45e5c3d246105a0288cd2ea","scripts":{"dev":"tsc --watch","build":"tsc && chmod 755 dist/index.js","start":"node dist/index.js","start:sse":"node dist/index.js --sse","prepublishOnly":"npm run build"},"_npmUser":{"name":"aivp","email":"wasuppeople3@gmail.com"},"_npmVersion":"11.11.0","description":"MCP server for database schema design and SQL generation. Design schemas, validate them, generate migrations, produce typed outputs, and optimize queries.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.25.0","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-schema-designer_1.1.1_1774963711130_0.5795736920801908","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"mcp-schema-designer","version":"1.1.3","keywords":["mcp","database","schema","migration","sql","postgresql","typescript","zod","json-schema"],"license":"MIT","_id":"mcp-schema-designer@1.1.3","maintainers":[{"name":"aivp","email":"wasuppeople3@gmail.com"}],"bin":{"schema-designer":"dist/index.js"},"dist":{"shasum":"cf09323481cefe6306be1832f6fd4d42b4bff299","tarball":"https://registry.npmjs.org/mcp-schema-designer/-/mcp-schema-designer-1.1.3.tgz","fileCount":20,"integrity":"sha512-6+iy1TkUVO8QeOTpWml7pGWdpWlgRrk5g8EBLwGpfDn3o/zn7N4t/oJAoxLXIkAzDCmRTXhF1VNntZxQgB5jPw==","signatures":[{"sig":"MEQCIFtObR7JRvijigQCHkCfW18E9/BSPd7XDWrkBbEgDP8bAiBUQBJUQx5Z91i1TYdvj+iNAFIQeSoZfnHBMzNVYvdWOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112061},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"90f4c3072f2309527d7163ea89461f69604894e2","scripts":{"dev":"tsc --watch","build":"tsc && chmod 755 dist/index.js","start":"node dist/index.js","start:sse":"node dist/index.js --sse","prepublishOnly":"npm run build"},"_npmUser":{"name":"aivp","email":"wasuppeople3@gmail.com"},"_npmVersion":"11.11.0","description":"MCP server for database schema design and SQL generation. Design schemas, validate them, generate migrations, produce typed outputs, and optimize queries.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.25.0","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-schema-designer_1.1.3_1775025179597_0.21794523908182994","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"mcp-schema-designer","version":"1.1.4","description":"MCP server for database schema design and SQL generation. Design schemas, validate them, generate migrations, produce typed outputs, and optimize queries.","mcpName":"io.github.vpatser1/mcp-schema-designer","repository":{"type":"git","url":"git+https://github.com/vpatser1/mcp-servers.git","directory":"schema-designer"},"homepage":"https://aivp-mcp.vercel.app","type":"module","main":"dist/index.js","bin":{"schema-designer":"dist/index.js"},"scripts":{"build":"tsc && chmod 755 dist/index.js","start":"node dist/index.js","start:sse":"node dist/index.js --sse","dev":"tsc --watch","prepublishOnly":"npm run build"},"keywords":["mcp","database","schema","migration","sql","postgresql","typescript","zod","json-schema"],"license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","zod":"^3.25.0"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.7.0"},"engines":{"node":">=18.0.0"},"gitHead":"31655a90ad0cac3d56211a1e7a88dccaaef73640","types":"./dist/index.d.ts","_id":"mcp-schema-designer@1.1.4","bugs":{"url":"https://github.com/vpatser1/mcp-servers/issues"},"_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-YzBPcLhVfDzJXkz+VUsDNV98kfVJMcf0WKlIGn4pe5Rwm18voigbsamt9q7/keFqko5NPgLxqjCeQrgHpm1HGw==","shasum":"213438804e064950a2dbe185c2146a6c84eb3fac","tarball":"https://registry.npmjs.org/mcp-schema-designer/-/mcp-schema-designer-1.1.4.tgz","fileCount":20,"unpackedSize":119716,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCfdPnUEZHdq0mgJW+W7RV/gIQaNf51Tkaul27Si6OYAAIhAPS+Tt9CjHYlCxevno/bBRDRAriOuB9BUbrJ4uDx9PCR"}]},"_npmUser":{"name":"aivp","email":"wasuppeople3@gmail.com"},"directories":{},"maintainers":[{"name":"aivp","email":"wasuppeople3@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-schema-designer_1.1.4_1785828923466_0.2038330846545069"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-31T11:24:50.189Z","modified":"2026-08-04T07:35:23.809Z","1.0.0":"2026-03-31T11:24:50.415Z","1.0.1":"2026-03-31T12:41:39.253Z","1.1.0":"2026-03-31T12:59:04.003Z","1.1.1":"2026-03-31T13:28:31.285Z","1.1.2":"2026-04-01T06:26:39.058Z","1.1.3":"2026-04-01T06:32:59.736Z","1.1.4":"2026-08-04T07:35:23.618Z"},"license":"MIT","keywords":["mcp","database","schema","migration","sql","postgresql","typescript","zod","json-schema"],"description":"MCP server for database schema design and SQL generation. Design schemas, validate them, generate migrations, produce typed outputs, and optimize queries.","maintainers":[{"name":"aivp","email":"wasuppeople3@gmail.com"}],"readme":"# Schema Designer\n\nMCP server for database schema design and SQL generation. Design schemas from natural language, validate them for best practices, generate migrations, produce typed outputs (TypeScript/Zod/JSON Schema), and optimize queries -- all targeting PostgreSQL.\n\nPure logic -- no database connection needed. It generates SQL, it does not run it.\n\n## Pricing\n\n| Plan | Price | Features | |\n|------|-------|----------|---|\n| **Free trial** | $0 | 3 calls total (shared across all tools), no credit card | `npx -y mcp-schema-designer` |\n| **Basic** | $10/mo | `design_schema`, `validate_schema`, `generate_types` | [Buy →](https://buy.stripe.com/bJe4grgGS6Mcdrld3NgIo0c) |\n| **Pro** | $20/mo | All Basic tools + `migrate_schema`, `optimize_queries` | [Buy →](https://buy.stripe.com/9B6aEP4Ya6McevpaVFgIo0d) |\n\nLicense keys are delivered to your email immediately after checkout. More info: [aivp-mcp.vercel.app](https://aivp-mcp.vercel.app)\n\n## Installation\n\n> **Note:** the npm package is **`mcp-schema-designer`** (the bare name `schema-designer` is a different, unrelated package).\n\nNo install step needed — run straight from npm:\n\n```bash\nnpx -y mcp-schema-designer\n```\n\nOr install globally:\n\n```bash\nnpm install -g mcp-schema-designer\n```\n\n**Free trial: 3 calls total (shared across all tools), no credit card.** Buy a license at the links in [Pricing](#pricing) — your key is emailed instantly. Activate it with the `LICENSE_KEY` environment variable.\n\n## Usage\n\n### stdio (default)\n\n```bash\nnpx -y mcp-schema-designer\n```\n\n### SSE (HTTP)\n\n```bash\nnpx -y mcp-schema-designer --sse\n# Listening on http://localhost:3000\n```\n\nSet a custom port:\n\n```bash\nPORT=8080 npx -y mcp-schema-designer --sse\n```\n\n### Claude Desktop Configuration\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"schema-designer\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-schema-designer\"],\n      \"env\": { \"LICENSE_KEY\": \"<your license key — omit for free trial>\" }\n    }\n  }\n}\n```\n\n## Tools\n\n### `design_schema`\n\nDesign a database schema from a natural language description. Generates CREATE TABLE SQL (PostgreSQL), index recommendations, and a text-based ERD.\n\n**Input:**\n```json\n{\n  \"description\": \"An e-commerce platform with products, orders, and user accounts\"\n}\n```\n\nOr provide explicit table definitions to validate and enhance:\n```json\n{\n  \"description\": \"Custom blog schema\",\n  \"tables\": [\n    {\n      \"name\": \"posts\",\n      \"columns\": [\n        { \"name\": \"id\", \"type\": \"SERIAL\", \"primary\": true },\n        { \"name\": \"title\", \"type\": \"VARCHAR(255)\" },\n        { \"name\": \"author_id\", \"type\": \"INTEGER\", \"references\": \"users.id\" }\n      ]\n    }\n  ]\n}\n```\n\n### `validate_schema`\n\nValidate SQL CREATE TABLE statements for best practices.\n\n**Checks for:**\n- Missing primary keys\n- Unnamed constraints\n- Missing indexes on foreign keys\n- Data type issues (e.g., TIMESTAMP vs TIMESTAMPTZ, FLOAT for money)\n- Naming convention violations (snake_case, plural table names)\n- N+1 query risks based on relationships\n\n**Input:**\n```json\n{\n  \"sql\": \"CREATE TABLE User (id SERIAL PRIMARY KEY, firstName VARCHAR(255), orderTotal FLOAT);\"\n}\n```\n\n### `migrate_schema`\n\nGenerate migration SQL by diffing two schemas.\n\n**Input:**\n```json\n{\n  \"from_sql\": \"CREATE TABLE users (id SERIAL PRIMARY KEY, name VARCHAR(255));\",\n  \"to_sql\": \"CREATE TABLE users (id SERIAL PRIMARY KEY, name VARCHAR(255), email VARCHAR(255) NOT NULL UNIQUE);\"\n}\n```\n\n**Output:** UP migration (ALTER TABLE to add email column), DOWN migration (rollback), warnings for destructive changes.\n\n### `generate_types`\n\nGenerate typed code from SQL schema. Supports three output formats.\n\n**Input:**\n```json\n{\n  \"sql\": \"CREATE TABLE users (id SERIAL PRIMARY KEY, email VARCHAR(255) NOT NULL UNIQUE, name VARCHAR(255), created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP);\",\n  \"format\": \"typescript\"\n}\n```\n\n**Formats:**\n\n| Format | Output |\n|--------|--------|\n| `typescript` | TypeScript interfaces with Create variants |\n| `zod` | Zod validation schemas with inferred types |\n| `json-schema` | JSON Schema (draft 2020-12) definitions |\n\n### `optimize_queries`\n\nAnalyze a SQL query against a schema and suggest performance improvements.\n\n**Input:**\n```json\n{\n  \"query\": \"SELECT * FROM orders WHERE user_id = 123 AND status = 'active' ORDER BY created_at DESC OFFSET 500\",\n  \"schema_sql\": \"CREATE TABLE orders (id SERIAL PRIMARY KEY, user_id INTEGER REFERENCES users(id), status VARCHAR(50), created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP);\"\n}\n```\n\n**Identifies:**\n- Missing indexes (WHERE, JOIN, ORDER BY columns)\n- Query rewrites (SELECT *, NOT IN, leading wildcards, large OFFSET)\n- EXPLAIN plan interpretation hints\n\n## Development\n\n```bash\nnpm install\nnpm run dev    # Watch mode\nnpm run build  # Production build\nnpm start      # Run stdio\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","homepage":"https://aivp-mcp.vercel.app","repository":{"type":"git","url":"git+https://github.com/vpatser1/mcp-servers.git","directory":"schema-designer"},"bugs":{"url":"https://github.com/vpatser1/mcp-servers/issues"}}