#!/usr/bin/env python3 """ Post-installation script to automatically configure Kilocode MCP settings. """ import json import os import sys from pathlib import Path def get_kilocode_config_path(): """Find the Kilocode MCP settings file.""" # Common paths for Kilocode/VSCodium possible_paths = [ Path.home() / ".config/VSCodium/User/globalStorage/kilocode.kilo-code/settings/mcp_settings.json", Path.home() / ".config/Code/User/globalStorage/kilocode.kilo-code/settings/mcp_settings.json", Path.home() / "Library/Application Support/VSCodium/User/globalStorage/kilocode.kilo-code/settings/mcp_settings.json", Path.home() / "Library/Application Support/Code/User/globalStorage/kilocode.kilo-code/settings/mcp_settings.json", ] for path in possible_paths: if path.exists(): return path return None def add_to_kilocode_config(): """Add the image-recognition server to Kilocode's MCP settings.""" config_path = get_kilocode_config_path() if not config_path: print("⚠️ Kilocode MCP settings file not found.") print(" You'll need to manually add the server configuration.") print("\n Add this to your MCP settings:") print(json.dumps({ "image-recognition": { "command": "uvx", "args": ["image-recognition-mcp"], "env": { "OPENAI_API_KEY": "your-openai-api-key-here" } } }, indent=2)) return False try: # Read existing config with open(config_path, 'r') as f: config = json.load(f) # Ensure mcpServers exists if "mcpServers" not in config: config["mcpServers"] = {} # Check if already configured if "image-recognition" in config["mcpServers"]: print("✅ Image Recognition MCP server already configured in Kilocode") return True # Add our server config["mcpServers"]["image-recognition"] = { "command": "uvx", "args": ["image-recognition-mcp"], "env": { "OPENAI_API_KEY": "your-openai-api-key-here" } } # Backup original config backup_path = config_path.with_suffix('.json.backup') with open(backup_path, 'w') as f: json.dump(config, f, indent=2) # Write updated config with open(config_path, 'w') as f: json.dump(config, f, indent=2) print("✅ Successfully added Image Recognition MCP server to Kilocode!") print(f" Config file: {config_path}") print(f" Backup saved: {backup_path}") print("\n⚠️ Remember to:") print(" 1. Replace 'your-openai-api-key-here' with your actual OpenAI API key") print(" 2. Restart Kilocode to load the new server") return True except Exception as e: print(f"❌ Error updating Kilocode config: {e}") return False def main(): """Main entry point for the installer.""" print("🚀 Image Recognition MCP Server - Post-Install Configuration") print("=" * 60) if add_to_kilocode_config(): print("\n✨ Installation complete!") else: print("\n⚠️ Manual configuration required.") print(" See PUBLISHING.md for instructions.") return 0 if __name__ == "__main__": sys.exit(main())