Skip to content

Latest commit

Β 

History

History
1106 lines (890 loc) Β· 24.4 KB

File metadata and controls

1106 lines (890 loc) Β· 24.4 KB

MOIDVK Tool Reference

Complete reference for all 37+ tools available in MOIDVK. Each tool is designed for specific development tasks and can be used via MCP clients or CLI.

πŸ“‹ Tool Categories


Code Quality & Analysis

check_code_practices

Language: JavaScript/TypeScript
Purpose: ESLint-powered code analysis with comprehensive rule sets

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "production": "boolean (default: false)",
  "ruleCategory": "enum: possible-errors|best-practices|stylistic-issues|es6|all",
  "severity": "enum: error|warning|all",
  "limit": "number (default: 50, max: 500)",
  "offset": "number (default: 0)",
  "sortBy": "enum: line|severity|ruleId|message",
  "sortOrder": "enum: asc|desc"
}

Example Usage

// MCP Client
await client.callTool('check_code_practices', {
  code: 'const x = 1; console.log(x);',
  production: true,
  severity: 'warning'
});

// CLI
moidvk check-code -f src/app.js --production --severity warning

Response Format

{
  "issues": [
    {
      "line": 1,
      "column": 7,
      "severity": "warning",
      "ruleId": "no-console",
      "message": "Unexpected console statement",
      "category": "best-practices"
    }
  ],
  "summary": {
    "total": 1,
    "errors": 0,
    "warnings": 1
  }
}

rust_code_practices

Language: Rust
Purpose: Clippy-powered Rust code analysis

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "edition": "enum: 2015|2018|2021|2024 (default: 2021)",
  "level": "enum: allow|warn|deny|forbid (default: warn)",
  "category": "enum: correctness|suspicious|style|complexity|perf|pedantic|restriction|all",
  "pedantic": "boolean (default: false)",
  "severity": "enum: error|warning|all",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

Example Usage

// Example Rust code analysis
await client.callTool('rust_code_practices', {
  code: 'fn main() { let x = 1; println!("{}", x); }',
  edition: '2021',
  pedantic: true
});

python_code_analyzer

Language: Python
Purpose: Ruff-powered Python code analysis

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "pythonVersion": "enum: 2|3 (default: 3)",
  "category": "enum: style|error|bug|security|performance|all",
  "select": "array of strings (rule codes)",
  "ignore": "array of strings (rule codes to ignore)",
  "severity": "enum: error|warning|all",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

Code Formatting

format_code

Languages: JavaScript, TypeScript, CSS, HTML, Markdown, YAML
Purpose: Prettier-powered code formatting

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "check": "boolean (default: false)"
}

Example Usage

await client.callTool('format_code', {
  code: 'const x=1;console.log(x);',
  filename: 'app.js',
});

Response Format

{
  "formatted": "const x = 1;\nconsole.log(x);\n",
  "changed": true,
  "error": null
}

rust_formatter

Language: Rust
Purpose: rustfmt-powered Rust code formatting

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "edition": "enum: 2015|2018|2021|2024",
  "max_width": "number (default: 100, min: 50, max: 200)",
  "tab_spaces": "number (default: 4, min: 2, max: 8)",
  "newline_style": "enum: Auto|Unix|Windows",
  "indent_style": "enum: Visual|Block",
  "use_small_heuristics": "enum: Default|Off|Max",
  "check": "boolean (default: false)"
}

python_formatter

Language: Python
Purpose: Black-powered Python code formatting

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "lineLength": "number (default: 88, min: 50, max: 200)",
  "pythonVersion": "enum: 2|3",
  "skipStringNormalization": "boolean (default: false)",
  "skipMagicTrailingComma": "boolean (default: false)",
  "previewMode": "boolean (default: false)",
  "check": "boolean (default: false)"
}

Security & Safety

scan_security_vulnerabilities

Purpose: Project dependency vulnerability scanning using npm/bun audit

Parameters

{
  "projectPath": "string (default: current directory)",
  "production": "boolean (default: false)",
  "severity": "enum: low|moderate|high|critical",
  "format": "enum: summary|detailed",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)",
  "sortBy": "enum: severity|package|title",
  "sortOrder": "enum: asc|desc"
}

Example Usage

await client.callTool('scan_security_vulnerabilities', {
  projectPath: '/path/to/project',
  severity: 'high',
  production: true,
});

Response Format

{
  "vulnerabilities": [
    {
      "package": "lodash",
      "version": "4.17.15",
      "severity": "high",
      "title": "Prototype Pollution",
      "description": "...",
      "recommendation": "Upgrade to 4.17.21"
    }
  ],
  "summary": {
    "total": 1,
    "high": 1,
    "moderate": 0,
    "low": 0
  }
}

check_safety_rules

Language: JavaScript/TypeScript
Purpose: NASA JPL Power of 10 safety-critical programming rules

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)"
}

Response Format

{
  "violations": [
    {
      "rule": "No dynamic memory allocation",
      "line": 5,
      "severity": "critical",
      "description": "Avoid malloc/new in safety-critical code"
    }
  ],
  "safetyScore": 85,
  "compliance": "partial"
}

rust_safety_checker

Language: Rust
Purpose: Memory safety and ownership validation

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "strict": "boolean (default: false)"
}

python_security_scanner

Language: Python
Purpose: Bandit-powered security analysis

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "severity": "enum: low|medium|high|all",
  "confidence": "enum: low|medium|high|all",
  "category": "enum: crypto|injection|misc|all",
  "tests": "array of strings (specific test IDs)",
  "skips": "array of strings (test IDs to skip)",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

Performance & Optimization

js_performance_analyzer

Language: JavaScript/TypeScript
Purpose: Performance analysis and optimization recommendations

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "category": "enum: memory|cpu|io|async|dom|all",
  "focus": "enum: general|react|node|browser",
  "includeMetrics": "boolean (default: true)",
  "strictness": "enum: lenient|standard|strict",
  "projectPath": "string (optional)",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

Example Usage

await client.callTool('js_performance_analyzer', {
  code: 'for(let i=0; i<1000000; i++) { document.getElementById("test"); }',
  category: 'dom',
  focus: 'browser',
});

Response Format

{
  "issues": [
    {
      "type": "dom_query_in_loop",
      "line": 1,
      "severity": "high",
      "impact": "performance",
      "description": "DOM query inside loop causes repeated reflow",
      "suggestion": "Cache DOM reference outside loop"
    }
  ],
  "metrics": {
    "complexity": "O(n)",
    "memoryUsage": "high",
    "optimizationPotential": 85
  }
}

rust_performance_analyzer

Language: Rust
Purpose: Rust performance analysis and optimization

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "category": "enum: allocation|cloning|loops|collections|io|async|all",
  "focus": "enum: memory|cpu|io|general",
  "severity": "enum: high|medium|low|all",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

python_performance_analyzer

Language: Python
Purpose: Python performance analysis and optimization

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "category": "enum: memory|cpu|io|async|algorithms|all",
  "focus": "enum: general|data_science|web|cli",
  "includeComplexity": "boolean (default: true)",
  "includeProfileSuggestions": "boolean (default: true)",
  "severity": "enum: high|medium|low|all",
  "projectPath": "string (optional)",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

bundle_size_analyzer

Purpose: JavaScript/TypeScript bundle size analysis and optimization

Parameters

{
  "projectPath": "string (default: current directory)",
  "entryPoint": "string (e.g., 'src/index.js')",
  "bundler": "enum: auto|bun|webpack|esbuild|rollup|vite",
  "target": "enum: web|node|browser",
  "sizeBudget": "number (default: 250KB)",
  "analyzeTreeShaking": "boolean (default: true)",
  "includeSourceMap": "boolean (default: false)",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

Production Readiness

check_production_readiness

Language: JavaScript/TypeScript
Purpose: Production deployment validation

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "category": "enum: console-logs|todos|debugging|documentation|error-handling|all",
  "severity": "enum: critical|high|medium|low|all",
  "strict": "boolean (default: false)",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)",
  "sortBy": "enum: line|severity|category|message",
  "sortOrder": "enum: asc|desc"
}

Example Usage

await client.callTool('check_production_readiness', {
  code: 'console.log("Debug info"); // TODO: remove this',
  strict: true,
});

Response Format

{
  "issues": [
    {
      "line": 1,
      "category": "console-logs",
      "severity": "medium",
      "message": "Console statement found in production code",
      "suggestion": "Remove or replace with proper logging"
    },
    {
      "line": 1,
      "category": "todos",
      "severity": "low",
      "message": "TODO comment found",
      "suggestion": "Complete or remove TODO items before production"
    }
  ],
  "readinessScore": 75,
  "recommendation": "Address medium and high severity issues"
}

rust_production_readiness

Language: Rust
Purpose: Rust production deployment validation

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "category": "enum: debugging|todos|error-handling|documentation|logging|testing|all",
  "severity": "enum: critical|high|medium|low|all",
  "strict": "boolean (default: false)",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

Accessibility & Standards

check_accessibility

Languages: HTML, JSX/TSX, CSS
Purpose: WCAG 2.2 accessibility compliance validation using axe-core

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "standard": "enum: A|AA|AAA (default: AA)",
  "environment": "enum: development|production",
  "rule_set": "enum: minimal|forms|content|navigation|full",
  "include_contrast": "boolean (default: true)",
  "rules": "array of strings (specific axe rule IDs)"
}

Example Usage

await client.callTool('check_accessibility', {
  code: '<button>Click me</button>',
  standard: 'AA',
  rule_set: 'full',
});

Response Format

{
  "violations": [
    {
      "id": "button-name",
      "impact": "serious",
      "description": "Buttons must have discernible text",
      "help": "Ensure buttons have accessible names",
      "nodes": [
        {
          "target": ["button"],
          "html": "<button>Click me</button>"
        }
      ]
    }
  ],
  "passes": [],
  "incomplete": [],
  "summary": {
    "violations": 1,
    "passes": 0,
    "incomplete": 0
  }
}

check_graphql_schema

Technology: GraphQL
Purpose: GraphQL schema validation and best practices

Parameters

{
  "schema": "string (required)",
  "filename": "string (optional)",
  "category": "enum: syntax|design|security|performance|naming|all",
  "severity": "enum: critical|high|medium|low|all",
  "strict": "boolean (default: false)",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)",
  "sortBy": "enum: line|severity|category|type",
  "sortOrder": "enum: asc|desc"
}

check_graphql_query

Technology: GraphQL
Purpose: GraphQL query analysis for complexity and security

Parameters

{
  "query": "string (required)",
  "schema": "string (optional)",
  "filename": "string (optional)",
  "maxDepth": "number (default: 7, max: 20)",
  "maxComplexity": "number (default: 100, max: 1000)",
  "category": "enum: complexity|performance|security|syntax|best-practices|all",
  "severity": "enum: critical|high|medium|low|all",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

check_redux_patterns

Technology: Redux
Purpose: Redux state management pattern validation

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "codeType": "enum: reducer|action|store|selector|middleware|component|auto",
  "category": "enum: mutation|performance|best-practices|anti-patterns|structure|all",
  "severity": "enum: critical|high|medium|low|all",
  "strict": "boolean (default: false)",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

Testing & Quality Assurance

js_test_analyzer

Language: JavaScript/TypeScript
Purpose: Test analysis and quality metrics

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "framework": "enum: auto|jest|vitest|mocha|jasmine",
  "category": "enum: structure|coverage|quality|performance|all",
  "includeMetrics": "boolean (default: true)",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

Response Format

{
  "issues": [
    {
      "type": "missing_assertion",
      "line": 5,
      "severity": "medium",
      "message": "Test case without assertions",
      "suggestion": "Add expect() assertions to verify behavior"
    }
  ],
  "metrics": {
    "testCount": 10,
    "assertionCount": 25,
    "coverage": {
      "estimated": 85,
      "missingAreas": ["error handling", "edge cases"]
    }
  }
}

python_test_analyzer

Language: Python
Purpose: Python test analysis and quality metrics

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "framework": "enum: pytest|unittest|auto",
  "category": "enum: structure|coverage|quality|performance|all",
  "includeMetrics": "boolean (default: true)",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

python_type_checker

Language: Python
Purpose: mypy-powered type checking

Parameters

{
  "code": "string (required)",
  "filename": "string (optional)",
  "pythonVersion": "enum: 3.7|3.8|3.9|3.10|3.11|3.12",
  "strict": "boolean (default: false)",
  "checkUntyped": "boolean (default: true)",
  "disallowUntyped": "boolean (default: false)",
  "followImports": "enum: normal|silent|skip|error",
  "ignoreErrors": "array of strings",
  "severity": "enum: error|warning|note|all",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

Infrastructure & DevOps

container_security_scanner

Purpose: Docker/container security analysis

Parameters

{
  "projectPath": "string (default: current directory)",
  "scanType": "enum: dockerfile|compose|image|all",
  "dockerfilePath": "string (optional)",
  "dockerComposePath": "string (optional)",
  "imageName": "string (optional)",
  "checkBaseImages": "boolean (default: true)",
  "includeCompliance": "boolean (default: true)",
  "severity": "enum: low|medium|high|critical|all",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

cicd_configuration_analyzer

Purpose: CI/CD pipeline analysis

Parameters

{
  "projectPath": "string (default: current directory)",
  "platform": "enum: auto|github-actions|gitlab-ci|jenkins|azure-devops|circleci|travis-ci",
  "configPath": "string (optional)",
  "checkSecurity": "boolean (default: true)",
  "checkPerformance": "boolean (default: true)",
  "checkCompliance": "boolean (default: true)",
  "includeSecrets": "boolean (default: true)",
  "strictness": "enum: lenient|standard|strict",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

license_compliance_scanner

Purpose: License compatibility and compliance scanning

Parameters

{
  "projectPath": "string (default: current directory)",
  "packageManager": "enum: auto|npm|yarn|pnpm|bun|pip|pipenv|poetry|cargo",
  "projectLicense": "string (e.g., 'MIT', 'Apache-2.0')",
  "checkCompatibility": "boolean (default: true)",
  "flagRiskyLicenses": "boolean (default: true)",
  "includeDev": "boolean (default: false)",
  "generateReport": "boolean (default: true)",
  "strictness": "enum: lenient|standard|strict|enterprise",
  "format": "enum: detailed|summary|csv|json",
  "limit": "number (default: 100)",
  "offset": "number (default: 0)"
}

environment_config_validator

Purpose: Environment configuration validation

Parameters

{
  "projectPath": "string (default: current directory)",
  "configType": "enum: auto|dotenv|docker|kubernetes|docker-compose|terraform|cloudformation|helm",
  "configPath": "string (optional)",
  "environment": "enum: development|staging|production|test",
  "checkSecurity": "boolean (default: true)",
  "checkCompleteness": "boolean (default: true)",
  "checkBestPractices": "boolean (default: true)",
  "validateSecrets": "boolean (default: true)",
  "category": "enum: security|completeness|performance|compliance|all",
  "strictness": "enum: lenient|standard|strict|enterprise",
  "format": "enum: detailed|summary|checklist",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

Intelligent Development

intelligent_development_analysis

Purpose: Optimal tool sequence orchestration

Parameters

{
  "files": "array of strings (required)",
  "development_goals": "array of strings (optional)",
  "context": {
    "session_type": "enum: bug_fix|feature_development|refactoring|optimization|review",
    "scope": "enum: single_file|module|component|system",
    "urgency": "enum: low|medium|high|critical"
  },
  "client_type": "enum: claude_desktop|claude_code|other_mcp"
}

Example Usage

await client.callTool('intelligent_development_analysis', {
  files: ['src/app.js', 'src/utils.js'],
  development_goals: ['improve_performance', 'enhance_security'],
  context: {
    session_type: 'optimization',
    scope: 'module',
    urgency: 'medium',
  },
});

Response Format

{
  "recommended_sequence": [
    {
      "tool": "check_code_practices",
      "priority": "high",
      "reason": "Identify code quality issues first"
    },
    {
      "tool": "scan_security_vulnerabilities",
      "priority": "high",
      "reason": "Security analysis for optimization context"
    },
    {
      "tool": "js_performance_analyzer",
      "priority": "medium",
      "reason": "Performance optimization goal"
    }
  ],
  "estimated_time": "2-3 minutes",
  "parallel_execution": true
}

semantic_development_search

Purpose: Context-aware code search with embeddings

Parameters

{
  "query": "string (required)",
  "search_type": "enum: similar_code|related_patterns|bug_hunt|optimization_targets|refactor_candidates",
  "max_results": "number (default: 10)",
  "context_aware": "boolean (default: true)",
  "include_analysis": "boolean (default: true)"
}

development_session_manager

Purpose: Cross-client development session management

Parameters

{
  "action": "enum: start|resume|checkpoint|analyze|export|import",
  "session_data": {
    "id": "string",
    "client_type": "string",
    "context": "object",
    "goals": "array of strings"
  },
  "import_data": "string (for import action)"
}

Specialized Tools

documentation_quality_checker

Purpose: Documentation analysis and completeness

Parameters

{
  "code": "string (optional)",
  "projectPath": "string (optional)",
  "filename": "string (optional)",
  "docType": "enum: code|readme|api|all",
  "standard": "enum: jsdoc|typedoc|tsdoc|auto",
  "strictness": "enum: minimal|standard|strict",
  "includePrivate": "boolean (default: false)",
  "checkSpelling": "boolean (default: false)",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

openapi_rest_validator

Purpose: OpenAPI/REST API validation

Parameters

{
  "spec": "string (optional)",
  "specPath": "string (optional)",
  "version": "enum: 2.0|3.0|3.1|auto",
  "validationType": "enum: syntax|semantic|security|best-practices|all",
  "strictness": "enum: minimal|standard|strict",
  "checkSecurity": "boolean (default: true)",
  "restCompliance": "boolean (default: true)",
  "includeExamples": "boolean (default: true)",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

python_dependency_scanner

Purpose: Python dependency analysis

Parameters

{
  "projectPath": "string (default: current directory)",
  "checkSecurity": "boolean (default: true)",
  "checkOutdated": "boolean (default: true)",
  "checkLicenses": "boolean (default: true)",
  "severity": "enum: low|moderate|high|critical",
  "format": "enum: summary|detailed",
  "limit": "number (default: 50)",
  "offset": "number (default: 0)"
}

git_blame_analyzer

Purpose: Code authorship and contribution analysis

Parameters

{
  "filePath": "string (required)",
  "startLine": "number (optional)",
  "endLine": "number (optional)",
  "ignoreWhitespace": "boolean (default: true)",
  "showEmail": "boolean (default: false)"
}

Response Format

{
  "blame_info": [
    {
      "line": 1,
      "author": "John Doe",
      "email": "john@example.com",
      "commit": "abc123",
      "date": "2024-01-15",
      "content": "const x = 1;"
    }
  ],
  "summary": {
    "total_lines": 100,
    "authors": 3,
    "most_active_author": "John Doe",
    "last_modified": "2024-01-15"
  }
}

πŸ”§ Common Parameters

Pagination

Most tools support pagination for large result sets:

{
  "limit": "number (default: 50, max: 500)",
  "offset": "number (default: 0)"
}

Sorting

Many tools support result sorting:

{
  "sortBy": "enum (varies by tool)",
  "sortOrder": "enum: asc|desc (default: asc)"
}

Filtering

Tools often support filtering by severity or category:

{
  "severity": "enum (varies by tool)",
  "category": "enum (varies by tool)"
}

πŸš€ Performance Notes

  • Rust Tools: Native Rust implementations provide 5-10x performance improvement
  • Caching: Results are cached for 1 hour by default
  • Parallel Execution: Up to 5 tools can run concurrently
  • Memory Usage: Optimized for large codebases with streaming processing

πŸ” Error Handling

All tools return consistent error formats:

{
  "error": {
    "code": "TOOL_ERROR_CODE",
    "message": "Human-readable error message",
    "details": "Additional error context",
    "suggestions": ["Possible solutions"]
  }
}

πŸ“š Additional Resources


Need help with a specific tool? Use moidvk <tool-name> --help for detailed CLI help or check our troubleshooting guide.