package.jsonā¢5.63 kB
{
"name": "@ai-of-mine/mermaid-validator-mcp",
"version": "1.0.29",
"description": "High-performance API and Model Context Protocol (MCP) server for validating Mermaid diagrams with comprehensive security features, multiple transport options, and enterprise-grade capabilities",
"main": "src/server.js",
"bin": "src/server.js",
"scripts": {
"start": "node src/server.js",
"dev": "nodemon src/server.js",
"build": "npm run build:grammars",
"build:grammars": "node scripts/compile-grammars.js --jison-only",
"build:jison": "node scripts/compile-grammars.js --jison-only",
"build:antlr": "node scripts/compile-grammars.js --antlr-only",
"build:langium": "node scripts/compile-grammars.js --langium-only",
"build:types": "node scripts/compile-grammars.js --types-only",
"build:mcp": "tsc -p tsconfig.mcp.json",
"start:mcp": "npm run build:mcp && node dist/mcp/server.js",
"start:mcp-http": "npm run build:mcp && node dist/mcp/server-http.js",
"start:mcp-secure": "npm run build:mcp && node dist/mcp/server-secure.js",
"dev:mcp": "npm run build:mcp && nodemon dist/mcp/server.js",
"dev:mcp-http": "npm run build:mcp && nodemon dist/mcp/server-http.js",
"dev:mcp-secure": "npm run build:mcp && nodemon dist/mcp/server-secure.js",
"test:mcp": "npm run build:mcp && node tests/mcp/test-mcp-integration.js",
"prebuild": "npm run build:mcp",
"clean": "npm run clean:generated && npm run clean:dist && npm run clean:mcp",
"clean:generated": "rm -rf src/generated",
"clean:dist": "rm -rf dist build",
"clean:mcp": "rm -rf dist/mcp",
"test": "npm run test:unit && npm run test:integration",
"test:unit": "jest --testPathPattern=test/unit --passWithNoTests",
"test:integration": "node test/integration/validate-endpoints.js && node test/integration/upload-endpoints.js",
"test:api": "jest --testPathPattern=test/api",
"test:watch": "jest --watch",
"test:coverage": "jest --coverage",
"test:validate": "node test/integration/validate-endpoints.js",
"test:upload": "node test/integration/upload-endpoints.js",
"lint": "eslint src/ --ext .js",
"lint:fix": "eslint src/ --ext .js --fix",
"docker:build": "docker build -t mermaid-validator-mcp .",
"docker:run": "docker run -p 8000:8000 mermaid-validator-mcp",
"docs": "swagger-jsdoc -d docs/swagger.js src/routes/*.js -o docs/swagger.json",
"audit": "npm audit",
"audit:fix": "npm audit fix",
"audit:ci": "audit-ci --config audit-ci.json",
"security:snyk": "snyk test",
"security:retire": "retire",
"security:full": "npm run audit && npm run security:snyk && npm run security:retire",
"deps:check": "npm-check-updates",
"deps:update": "npm-check-updates -u",
"license:check": "license-checker",
"validate:deps": "dependency-check package.json",
"version:patch": "node scripts/increment-version.js patch",
"version:minor": "node scripts/increment-version.js minor",
"version:major": "node scripts/increment-version.js major",
"docker:build:auto": "npm run version:patch && make docker-build-manual",
"preinstall": "npm run build:grammars || true",
"postinstall": "npm run build || true",
"prepare": "npm run build || true",
"prepublishOnly": "npm run build:grammars && (npm run build:mcp || true)"
},
"files": [
"src/**/*.js",
"src/**/*.ts",
"src/config/",
"src/middleware/",
"src/routes/",
"src/services/*.js",
"src/services/grammars/",
"src/generated/",
"src/utils/",
"src/mcp/",
"dist/mcp/",
"README.md",
"LICENSE",
"NOTICE",
"GETTING_STARTED.md",
"package.json"
],
"engines": {
"node": ">=18.0.0",
"npm": ">=9.0.0"
},
"keywords": [
"mermaid",
"diagram",
"validation",
"api",
"markdown",
"svg",
"mcp",
"model-context-protocol",
"grammar-parsing",
"syntax-validation",
"developer-tools",
"jison",
"langium",
"enterprise"
],
"author": {
"name": "Gregorio Elias Roecker Momm",
"email": "gregoriomomm@gmail.com"
},
"license": "Apache-2.0",
"homepage": "https://github.com/gregoriomomm/mermaid-validator-mcp#readme",
"repository": {
"type": "git",
"url": "git+https://github.com/gregoriomomm/mermaid-validator-mcp.git"
},
"bugs": {
"url": "https://github.com/gregoriomomm/mermaid-validator-mcp/issues"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.18.0",
"chevrotain": "^11.0.3",
"compression": "^1.7.4",
"cors": "^2.8.5",
"express": "^4.18.2",
"express-rate-limit": "^7.5.1",
"express-validator": "^7.0.1",
"helmet": "^7.1.0",
"jison": "^0.4.18",
"joi": "^17.11.0",
"langium": "^3.3.1",
"mime-types": "^2.1.35",
"morgan": "^1.10.0",
"multer": "^2.0.2",
"swagger-jsdoc": "^6.2.8",
"swagger-ui-express": "^5.0.0",
"uuid": "^9.0.1",
"winston": "^3.11.0",
"yauzl": "^2.10.0",
"zod": "^3.25.76"
},
"devDependencies": {
"@eslint/js": "^9.35.0",
"@types/express": "^5.0.3",
"@types/node": "^24.3.1",
"@types/uuid": "^10.0.0",
"audit-ci": "^7.0.1",
"axios": "^1.12.2",
"dependency-check": "^4.1.0",
"eslint": "^8.57.1",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.29.0",
"form-data": "^4.0.4",
"jest": "^29.7.0",
"langium-cli": "^4.0.0",
"license-checker": "^25.0.1",
"nodemon": "^3.0.2",
"npm-check-updates": "^16.14.12",
"retire": "^4.0.3",
"snyk": "^1.1290.0",
"supertest": "^6.3.3",
"typescript": "^5.7.2"
}
}