{
  "name": "Code Time Machine",
  "description": "Advanced code analysis and prediction MCP server that tracks evolution, predicts bugs, and provides historical insights",
  "version": "1.0.0",
  "mcpVersion": "2024-11-05",
  "vendor": "Code Time Machine",
  "homepage": "https://www.npmjs.com/package/code-time-machine-mcp-server",
  "license": "MIT",
  "entry": {
    "type": "npm",
    "package": "code-time-machine-mcp-server",
    "command": "code-time-machine"
  },
  "capabilities": {
    "tools": true,
    "resources": false,
    "prompts": false
  },
  "configuration": {
    "schema": {
      "type": "object",
      "properties": {
        "analysisDepth": {
          "type": "string",
          "enum": ["basic", "detailed", "comprehensive"],
          "default": "detailed",
          "description": "Depth of code analysis to perform"
        },
        "includeGitHistory": {
          "type": "boolean",
          "default": true,
          "description": "Whether to analyze git history for evolution patterns"
        }
      }
    }
  },
  "platform": {
    "windows": {
      "command": "cmd",
      "args": ["/c", "code-time-machine"]
    },
    "unix": {
      "command": "code-time-machine"
    }
  },
  "tools": [
    {
      "name": "analyze_code_evolution",
      "description": "Track code changes and predict future modifications based on historical patterns",
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {"type": "string", "description": "Code to analyze"},
          "language": {"type": "string", "description": "Programming language"},
          "file_path": {"type": "string", "description": "File path for context"}
        },
        "required": ["code"]
      }
    },
    {
      "name": "predict_bug_hotspots", 
      "description": "Identify bug-prone code areas with risk scoring and probability analysis",
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {"type": "string", "description": "Code to analyze for bug patterns"},
          "language": {"type": "string", "description": "Programming language"},
          "file_path": {"type": "string", "description": "File path for historical context"}
        },
        "required": ["code"]
      }
    },
    {
      "name": "code_health_timeline",
      "description": "Visualize code health trends over time with quality metrics",
      "inputSchema": {
        "type": "object",
        "properties": {
          "repository_path": {"type": "string", "description": "Path to repository"},
          "time_range": {"type": "string", "description": "Time range (e.g., '6 months', '1 year')"}
        },
        "required": ["repository_path"]
      }
    },
    {
      "name": "technical_debt_evolution",
      "description": "Monitor technical debt accumulation and suggest strategic paydown approaches",
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {"type": "string", "description": "Code to analyze for technical debt"},
          "context": {"type": "string", "description": "Additional context about the codebase"}
        },
        "required": ["code"]
      }
    },
    {
      "name": "code_pattern_mining",
      "description": "Discover recurring good practices and anti-patterns across the codebase",
      "inputSchema": {
        "type": "object",
        "properties": {
          "repository_path": {"type": "string", "description": "Path to repository"},
          "pattern_type": {"type": "string", "enum": ["good_practices", "anti_patterns", "both"], "default": "both"}
        },
        "required": ["repository_path"]
      }
    },
    {
      "name": "developer_impact_analysis",
      "description": "Analyze how different contributors affect code quality and team dynamics",
      "inputSchema": {
        "type": "object",
        "properties": {
          "repository_path": {"type": "string", "description": "Path to git repository"},
          "time_range": {"type": "string", "description": "Analysis time range"},
          "anonymize": {"type": "boolean", "default": true, "description": "Anonymize developer names"}
        },
        "required": ["repository_path"]
      }
    },
    {
      "name": "code_entropy_analysis",
      "description": "Measure code disorder and determine refactoring urgency with entropy metrics",
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {"type": "string", "description": "Code to analyze for entropy"},
          "language": {"type": "string", "description": "Programming language"},
          "complexity_threshold": {"type": "number", "default": 10, "description": "Complexity threshold for flagging"}
        },
        "required": ["code"]
      }
    }
  ],
  "installation": {
    "instructions": [
      "Install globally: npm install -g code-time-machine-mcp-server",
      "On Windows, the server will be available as 'code-time-machine' command",
      "Configure in your MCP client with the command 'code-time-machine'"
    ],
    "requirements": {
      "node": ">=18.0.0",
      "npm": ">=8.0.0"
    },
    "windows": {
      "preInstall": [
        "npm config set script-shell cmd"
      ],
      "postInstall": [
        "echo Code Time Machine MCP Server installed successfully!",
        "code-time-machine --version"
      ]
    }
  }
}