{"_id":"@anri1214/dynamic-forms-mui-mcp","_rev":"5-917a133d06076b87f7b24990ea9051f2","name":"@anri1214/dynamic-forms-mui-mcp","dist-tags":{"latest":"0.1.8"},"versions":{"0.1.5":{"name":"@anri1214/dynamic-forms-mui-mcp","version":"0.1.5","keywords":["mcp","model-context-protocol","dynamic-forms","form-schema","ai","cursor","claude","mui","react"],"license":"MIT","_id":"@anri1214/dynamic-forms-mui-mcp@0.1.5","maintainers":[{"name":"anri1214","email":"anri1214.k@gmail.com"}],"bin":{"dynamic-forms-mcp":"dist/index.js"},"dist":{"shasum":"eaed5731cae4d0b2e86c5736f99908e95323e72f","tarball":"https://registry.npmjs.org/@anri1214/dynamic-forms-mui-mcp/-/dynamic-forms-mui-mcp-0.1.5.tgz","fileCount":45,"integrity":"sha512-e/MS2+K+CHUu5qyoNhBxWMlzEgGcySom1q4mg+VCjKzyjKWRm32J5CdCBLCGXiZvvXAzFt6CWbipYdDCxGVu1A==","signatures":[{"sig":"MEQCICd2TgjiJUCcj+wK3bwkhSvSnxQDunjcIQQVgFPnxMaMAiBODXs7qXFt0Y6cPO1GlgeGgUWZy/qNO5kvxsIzJDj+mA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84214},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"db7e2a22babcc82d12e7ad35ed0ef2d6201341fe","scripts":{"dev":"tsx src/index.ts","build":"npm run build:schema && tsc && cp -r src/schema dist/schema","start":"node dist/index.js","bump:patch":"npm version patch","build:schema":"tsx scripts/generateJsonSchema.ts"},"_npmUser":{"name":"anri1214","email":"anri1214.k@gmail.com"},"_npmVersion":"10.8.2","description":"MCP server for dynamic-forms-mui — exposes FormSchema structure as tools, resources, and prompts for AI assistants","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.17.1","zod":"^3.24.0","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"~5.7.3","@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-forms-mui-mcp_0.1.5_1778511326077_0.6404056849756585","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@anri1214/dynamic-forms-mui-mcp","version":"0.1.6","keywords":["mcp","model-context-protocol","dynamic-forms","form-schema","ai","cursor","claude","mui","react"],"license":"MIT","_id":"@anri1214/dynamic-forms-mui-mcp@0.1.6","maintainers":[{"name":"anri1214","email":"anri1214.k@gmail.com"}],"bin":{"dynamic-forms-mcp":"dist/index.js"},"dist":{"shasum":"686d87a8ad92f6924f907e461a8cfd676f617906","tarball":"https://registry.npmjs.org/@anri1214/dynamic-forms-mui-mcp/-/dynamic-forms-mui-mcp-0.1.6.tgz","fileCount":45,"integrity":"sha512-X91IWEK4J8Mt0X0lZPZGHXysYsbwudGS80SULzc+KJTFtOHisE/hENqvHz3VfW1+CtXZh+6ZYGhcvg25az68IA==","signatures":[{"sig":"MEYCIQCnT7gHod7wvHEzQMaC5O4v0g/Woc603ae5usCtfe3kOwIhAJwpllppectWvog5hNM/pRo+nKhuFmJZTBI2LkOzp0yo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84256},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"ea4186dab1b7502f571d79c39174f44f3f5a25fe","scripts":{"dev":"tsx src/index.ts","build":"npm run build:schema && tsc && cp -r src/schema dist/schema","start":"node dist/index.js","bump:patch":"npm version patch","build:schema":"tsx scripts/generateJsonSchema.ts"},"_npmUser":{"name":"anri1214","email":"anri1214.k@gmail.com"},"_npmVersion":"10.8.2","description":"MCP server for dynamic-forms-mui — exposes FormSchema structure as tools, resources, and prompts for AI assistants","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.17.1","zod":"^3.24.0","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"~5.7.3","@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-forms-mui-mcp_0.1.6_1778660567281_0.013331426646688405","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@anri1214/dynamic-forms-mui-mcp","version":"0.1.7","keywords":["mcp","model-context-protocol","dynamic-forms","form-schema","ai","cursor","claude","mui","react"],"license":"MIT","_id":"@anri1214/dynamic-forms-mui-mcp@0.1.7","maintainers":[{"name":"anri1214","email":"anri1214.k@gmail.com"}],"bin":{"dynamic-forms-mcp":"dist/index.js"},"dist":{"shasum":"5a4c0b94bf0fb9d93f8632817689f000f9cbb8b9","tarball":"https://registry.npmjs.org/@anri1214/dynamic-forms-mui-mcp/-/dynamic-forms-mui-mcp-0.1.7.tgz","fileCount":45,"integrity":"sha512-6oa5lzZKytfHok3TownGnJlI1iPWOBFoz1NaTTT+U60a9qC1CHgz1xO8V1YZE96FfNQduG28nE6GQ7ZEebDSbA==","signatures":[{"sig":"MEYCIQDYGUvNNCHBEOUO/pnadApAmHYDxt2bLzfQE3b57WTdxgIhAPUXe8m1aSDttHeQwKtLeHGuuBA3nUdmQtygrB/JBaqX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84413},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"93cf0419b8ee5623789a263a052256de917e320f","scripts":{"dev":"tsx src/index.ts","build":"npm run build:schema && tsc && cp -r src/schema dist/schema","start":"node dist/index.js","bump:patch":"npm version patch","build:schema":"tsx scripts/generateJsonSchema.ts"},"_npmUser":{"name":"anri1214","email":"anri1214.k@gmail.com"},"_npmVersion":"10.8.2","description":"MCP server for dynamic-forms-mui — exposes FormSchema structure as tools, resources, and prompts for AI assistants","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.17.1","zod":"^3.24.0","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"~5.7.3","@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-forms-mui-mcp_0.1.7_1778661622222_0.6273556592527094","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@anri1214/dynamic-forms-mui-mcp","version":"0.1.8","description":"MCP server for dynamic-forms-mui — exposes FormSchema structure as tools, resources, and prompts for AI assistants","license":"MIT","type":"module","bin":{"dynamic-forms-mcp":"dist/index.js"},"main":"./dist/index.js","types":"./dist/index.d.ts","keywords":["mcp","model-context-protocol","dynamic-forms","form-schema","ai","cursor","claude","mui","react"],"dependencies":{"@modelcontextprotocol/sdk":"^1.12.1","ajv":"^8.17.1","zod":"^3.24.0"},"devDependencies":{"@types/node":"^22.15.0","typescript":"~5.7.3","tsx":"^4.19.0"},"scripts":{"build:schema":"tsx scripts/generateJsonSchema.ts","build":"npm run build:schema && tsc && cp -r src/schema dist/schema","bump:patch":"npm version patch","dev":"tsx src/index.ts","start":"node dist/index.js"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_id":"@anri1214/dynamic-forms-mui-mcp@0.1.8","gitHead":"729c8b709fdf6cda7442c4c35055e79da9366a5f","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-ofgWQLuNacYPXgA4VBCoWgD9pyD9Rr20nc1BUkYGK4h7aHqwY/aYiFzTNRzrXKGvBjMyyByEYK0DRMxZEjdITw==","shasum":"25bff1904263587d319ca011dc8ea4ef2c4f4cfe","tarball":"https://registry.npmjs.org/@anri1214/dynamic-forms-mui-mcp/-/dynamic-forms-mui-mcp-0.1.8.tgz","fileCount":45,"unpackedSize":84737,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDc6TgOrHlSMB4TtclxmxHPjceQd3sp7vXT3UMCbMEPJwIhAPBbFB012sreMKdzA0m3UWqL/uqDxAqGQSujMadVxL4X"}]},"_npmUser":{"name":"anri1214","email":"anri1214.k@gmail.com"},"directories":{},"maintainers":[{"name":"anri1214","email":"anri1214.k@gmail.com"},{"name":"yevhenii.kolomiiets","email":"yevheniikolomiiets@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dynamic-forms-mui-mcp_0.1.8_1787907428953_0.5164237304112902"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-11T14:55:25.966Z","modified":"2026-08-28T08:57:09.332Z","0.1.5":"2026-05-11T14:55:26.243Z","0.1.6":"2026-05-13T08:22:47.401Z","0.1.7":"2026-05-13T08:40:22.366Z","0.1.8":"2026-08-28T08:57:09.107Z"},"license":"MIT","keywords":["mcp","model-context-protocol","dynamic-forms","form-schema","ai","cursor","claude","mui","react"],"description":"MCP server for dynamic-forms-mui — exposes FormSchema structure as tools, resources, and prompts for AI assistants","maintainers":[{"name":"anri1214","email":"anri1214.k@gmail.com"},{"name":"yevhenii.kolomiiets","email":"yevheniikolomiiets@gmail.com"}],"readme":"# @anri1214/dynamic-forms-mui-mcp\n\nMCP (Model Context Protocol) server for **@anri1214/dynamic-forms-mui** — exposes the `FormSchema` structure as tools, resources, and prompts for AI assistants.\n\n## Why?\n\nYour backend can be written in **any language** (Python, Go, C#, Java, etc.) but it needs to return a JSON that matches the `FormSchema` type from `@anri1214/dynamic-forms-mui`. This MCP server gives AI assistants full knowledge of the schema structure, so they can:\n\n- **Validate** form configuration JSON\n- **Generate** correct FormSchema JSON from natural language\n- **Help backend developers** produce correct API endpoints in any language\n- **Serve version-specific documentation** — different projects can use different library versions\n\n## Versioning\n\nThe MCP server supports **multiple versions** of `@anri1214/dynamic-forms-mui` simultaneously. Versions are tracked as `major.minor` (e.g. `0.1`, `0.2`, `1.0`) — patch versions are ignored since they don't change the schema API.\n\nEvery tool (except `list_versions`) requires a mandatory `version` parameter. This ensures the AI always gets documentation matching the project's installed library version.\n\n```\nAI reads package.json → version \"0.1.3\" → calls tool with version: \"0.1\" → gets correct docs\n```\n\n## Quick Start\n\n### 1. Install\n\n```bash\nnpm install @anri1214/dynamic-forms-mui-mcp\n# or run directly\nnpx @anri1214/dynamic-forms-mui-mcp\n```\n\n### 2. Configure in your IDE\n\n**Cursor** (`.cursor/mcp.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"dynamic-forms\": {\n      \"command\": \"npx\",\n      \"args\": [\"@anri1214/dynamic-forms-mui-mcp\"]\n    }\n  }\n}\n```\n\n**Claude Code:**\n\n```bash\nclaude mcp add dynamic-forms npx @anri1214/dynamic-forms-mui-mcp\n```\n\n**VS Code:**\n\n```bash\ncode --add-mcp '{\"name\":\"dynamic-forms\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"@anri1214/dynamic-forms-mui-mcp\"]}'\n```\n\n### 3. Use it\n\nAsk your AI assistant:\n\n> \"Generate a FormSchema for a user registration form with email, password, confirm password, first name, last name\"\n\nThe AI will use the MCP server to understand the exact structure and generate valid JSON.\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `list_versions` | List available library versions this MCP has documentation for. |\n| `validate_form_schema` | Validate a JSON against the FormSchema spec. Returns errors if invalid. |\n| `list_field_types` | List all 14 supported field types with descriptions and applicable validations. |\n| `get_field_config` | Get detailed config for a specific field type (props, validations, example). |\n| `generate_form_schema` | Generate a FormSchema from a list of field definitions. Auto-validates output. |\n\n> All tools except `list_versions` require a `version` parameter (e.g. `\"0.1\"`).\n\n### Example: list_versions\n\nOutput:\n```json\n{\n  \"latest\": \"0.1\",\n  \"available\": [\"0.1\"]\n}\n```\n\n### Example: validate_form_schema\n\nInput:\n```json\n{\n  \"version\": \"0.1\",\n  \"schema\": \"{\\\"sections\\\":[{\\\"id\\\":\\\"main\\\",\\\"title\\\":\\\"Form\\\",\\\"fields\\\":[\\\"email\\\"]}],\\\"fields\\\":{\\\"email\\\":{\\\"type\\\":\\\"email\\\",\\\"label\\\":\\\"Email\\\"}}}\"\n}\n```\n\nOutput:\n```json\n{\n  \"valid\": true,\n  \"errors\": []\n}\n```\n\n### Example: get_field_config\n\nInput:\n```json\n{\n  \"version\": \"0.1\",\n  \"fieldType\": \"password\"\n}\n```\n\nOutput:\n```json\n{\n  \"type\": \"password\",\n  \"description\": \"Password input with masked characters\",\n  \"config\": \"TextFieldConfig\",\n  \"specificProps\": [\"autoComplete\"],\n  \"applicableValidations\": [\"required\", \"minLength\", \"maxLength\", \"hasUppercase\", \"hasLowercase\", \"hasNumber\", \"hasSpecialChar\", \"matchField\"],\n  \"example\": {\n    \"type\": \"password\",\n    \"label\": \"Password\",\n    \"validation\": {\n      \"required\": true,\n      \"minLength\": 8,\n      \"hasUppercase\": true,\n      \"hasLowercase\": true,\n      \"hasSpecialChar\": true\n    }\n  }\n}\n```\n\n## Resources\n\n| URI | Description |\n|-----|-------------|\n| `schema://dynamic-forms/{version}/form-schema` | Complete JSON Schema for FormSchema |\n| `schema://dynamic-forms/{version}/field-types` | Markdown documentation for all field types |\n| `schema://dynamic-forms/{version}/examples/{name}` | Example schemas: `registration`, `crud`, `filters` |\n\n## Prompts\n\n| Prompt | Description |\n|--------|-------------|\n| `generate-backend-endpoint` | Generate backend API endpoint code in any language/framework |\n| `generate-form-config` | Generate a FormSchema JSON from a natural language description |\n\n### Example: generate-backend-endpoint\n\n```\nLanguage: Python\nFramework: FastAPI\nDescription: User registration with email, password, name, and terms acceptance\n```\n\nThe AI will generate a complete FastAPI endpoint returning a valid FormSchema JSON.\n\n## Supported Field Types\n\n| Type | Description |\n|------|-------------|\n| `text` | Single-line text input |\n| `password` | Password input with masking |\n| `email` | Email input with validation |\n| `number` | Numeric input with min/max/step |\n| `textarea` | Multi-line text input |\n| `select` | Single-value dropdown |\n| `multiselect` | Multi-value dropdown (chips) |\n| `autocomplete` | Single-value autocomplete with async search |\n| `checkbox` | Boolean checkbox |\n| `radio` | Radio button group |\n| `switch` | Toggle switch |\n| `date` | Date picker |\n| `dateRange` | Date range picker |\n| `file` | File upload |\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Generate JSON Schema from types (writes to src/schema/{version}/)\nnpm run build:schema\n\n# Build TypeScript + copy schemas to dist\nnpm run build\n\n# Run in development mode\nnpm run dev\n```\n\n### Adding a new schema version\n\nWhen `@anri1214/dynamic-forms-mui` gets a new minor version:\n\n1. Update the library's `package.json` version (e.g. `0.1.x` → `0.2.0`)\n2. Run `npm run build:schema` — automatically creates `src/schema/0.2/` and updates `versions.json`\n3. Adjust `fieldTypes.json` and `examples/` in the new version folder if the schema changed\n4. Run `npm run build`\n\nOld version schemas are preserved — the MCP can serve docs for all versions simultaneously.\n\n## Related\n\n- [@anri1214/dynamic-forms-mui](https://www.npmjs.com/package/@anri1214/dynamic-forms-mui) — the React form library this MCP server documents\n\n## License\n\nMIT\n","readmeFilename":"README.md"}