UNPKG

@flexabrain/mcp-server

Version:

Advanced electrical schematic analysis MCP server with rail engineering expertise

226 lines 6.95 kB
{ "name": "@flexabrain/mcp-server", "version": "1.0.0", "description": "Advanced electrical schematic analysis MCP server with rail engineering expertise", "keywords": [ "mcp", "electrical", "schematic", "analysis", "rail", "engineering", "ocr", "safety", "compliance", "ai" ], "author": { "name": "FlexaBrain Team", "email": "team@flexabrain.com", "url": "https://flexabrain.com" }, "license": "MIT", "homepage": "https://github.com/flexabrain/flexabrain-mcp#readme", "repository": { "type": "git", "url": "git+https://github.com/flexabrain/flexabrain-mcp.git" }, "bugs": { "url": "https://github.com/flexabrain/flexabrain-mcp/issues" }, "engines": { "node": ">=18.0.0", "npm": ">=8.0.0" }, "type": "module", "main": "./dist/index.js", "types": "./dist/index.d.ts", "bin": { "flexabrain-mcp": "./dist/index.js" }, "files": [ "dist/**/*", "docs/**/*", "examples/**/*", "README.md", "LICENSE", "CHANGELOG.md" ], "scripts": { "dev": "tsx watch src/index.ts", "build": "npm run clean && npm run build:tsc && npm run build:copy-assets", "build:tsc": "tsc --build", "build:copy-assets": "node -e \"const fs=require('fs'); const path=require('path'); function copyDir(src,dest){if(!fs.existsSync(dest))fs.mkdirSync(dest,{recursive:true}); const entries=fs.readdirSync(src,{withFileTypes:true}); for(let entry of entries){const srcPath=path.join(src,entry.name); const destPath=path.join(dest,entry.name); if(entry.isDirectory())copyDir(srcPath,destPath); else fs.copyFileSync(srcPath,destPath);}} if(fs.existsSync('src/data'))copyDir('src/data','dist/data'); if(fs.existsSync('docs'))copyDir('docs','dist/docs');\"", "clean": "rimraf dist", "start": "node dist/index.js", "test": "jest", "test:watch": "jest --watch", "test:coverage": "jest --coverage", "test:services": "jest tests/services", "test:tools": "jest tests/tools", "lint": "eslint src tests --ext .ts,.js", "lint:fix": "eslint src tests --ext .ts,.js --fix", "format": "prettier --write \"src/**/*.{ts,js,json}\" \"tests/**/*.{ts,js,json}\" \"docs/**/*.md\"", "format:check": "prettier --check \"src/**/*.{ts,js,json}\" \"tests/**/*.{ts,js,json}\"", "type-check": "tsc --noEmit", "setup-dev": "npm install && npm run build", "prepublishOnly": "npm run build", "publish:beta": "npm publish --tag beta", "publish:latest": "npm publish --tag latest", "docs:serve": "http-server docs -p 8080", "docs:build": "typedoc src --out docs/api --theme default", "benchmark": "node dist/benchmark.js", "validate": "npm run type-check && npm run lint && npm run test" }, "dependencies": { "@modelcontextprotocol/sdk": "^0.5.0", "tesseract.js": "^5.0.4", "jimp": "^0.22.10", "sharp": "^0.33.2" }, "devDependencies": { "@types/node": "^20.11.0", "@types/jest": "^29.5.12", "@typescript-eslint/eslint-plugin": "^6.19.0", "@typescript-eslint/parser": "^6.19.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.3", "jest": "^29.7.0", "prettier": "^3.2.4", "rimraf": "^5.0.5", "ts-jest": "^29.1.1", "tsx": "^4.7.0", "typescript": "^5.3.3", "typedoc": "^0.25.7", "http-server": "^14.1.1" }, "peerDependencies": { "node-canvas": "^2.11.2" }, "peerDependenciesMeta": { "node-canvas": { "optional": true } }, "optionalDependencies": { "canvas": "^2.11.2" }, "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/flexabrain" }, "mcp": { "server": { "name": "flexabrain-electrical-analysis", "description": "Advanced electrical schematic analysis with rail engineering expertise", "version": "1.0.0", "tools": [ { "name": "analyze_electrical_schematic", "description": "Comprehensive electrical schematic analysis" }, { "name": "extract_component_inventory", "description": "Extract detailed component inventory from schematics" }, { "name": "validate_electrical_standards", "description": "Validate compliance against electrical standards" }, { "name": "analyze_power_flow", "description": "Analyze power flow and system efficiency" }, { "name": "generate_maintenance_schedule", "description": "Generate intelligent maintenance schedules" }, { "name": "check_safety_compliance", "description": "Comprehensive electrical safety analysis" }, { "name": "transform_schematic_image", "description": "Enhance images for better analysis quality" }, { "name": "batch_analyze_schematics", "description": "Batch process multiple schematics with comparison" } ], "capabilities": { "ocr": true, "component_recognition": true, "safety_analysis": true, "standards_validation": true, "maintenance_scheduling": true, "rail_expertise": true } } }, "jest": { "preset": "ts-jest", "testEnvironment": "node", "setupFilesAfterEnv": ["<rootDir>/tests/setup.ts"], "testMatch": [ "**/__tests__/**/*.ts", "**/?(*.)+(spec|test).ts" ], "collectCoverageFrom": [ "src/**/*.ts", "!src/**/*.d.ts", "!src/index.ts" ], "coverageDirectory": "coverage", "coverageReporters": [ "text", "lcov", "html" ], "coverageThreshold": { "global": { "branches": 80, "functions": 80, "lines": 80, "statements": 80 } } }, "eslintConfig": { "root": true, "parser": "@typescript-eslint/parser", "plugins": [ "@typescript-eslint", "prettier" ], "extends": [ "eslint:recommended", "@typescript-eslint/recommended", "prettier" ], "rules": { "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }], "@typescript-eslint/explicit-function-return-type": "off", "@typescript-eslint/no-explicit-any": "warn", "prettier/prettier": "error" }, "env": { "node": true, "es2020": true, "jest": true } }, "prettier": { "semi": true, "trailingComma": "es5", "singleQuote": true, "printWidth": 100, "tabWidth": 2, "useTabs": false } }