@flexabrain/mcp-server
Version:
Advanced electrical schematic analysis MCP server with rail engineering expertise
226 lines • 6.95 kB
JSON
{
"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
}
}