{
"event": "PreToolUse",
"tool_name": "Write",
"tool_input": {
"file_path": "\/var\/www\/mcp-servers\/mcp_code\/server.py",
"content": "#!\/usr\/bin\/env python3\n\"\"\"MCP-Code Server - Code-Analyse-Abfragen fuer Claude Code.\"\"\"\n\nimport logging\nimport sys\nfrom pathlib import Path\n\n# Logging nur zu stderr (wichtig fuer MCP!)\nlogging.basicConfig(\n level=logging.INFO,\n format=\"%(asctime)s - %(levelname)s - %(message)s\",\n handlers=[logging.StreamHandler(sys.stderr)],\n)\nlogger = logging.getLogger(__name__)\n\n# .env laden\nfrom dotenv import load_dotenv\n\nload_dotenv(Path(__file__).parent \/ \".env\")\n\n# MCP importieren\nfrom mcp.server.fastmcp import FastMCP\n\n# Tools importieren\nfrom tools.search import register_search_tool\nfrom tools.class_info import register_class_tool\nfrom tools.dependencies import register_dependencies_tool\nfrom tools.dependents import register_dependents_tool\nfrom tools.impact import register_impact_tool\nfrom tools.stats import register_stats_tool\n\n# MCP Server initialisieren\nmcp = FastMCP(\"mcp-code\")\n\n# Tools registrieren\nregister_search_tool(mcp)\nregister_class_tool(mcp)\nregister_dependencies_tool(mcp)\nregister_dependents_tool(mcp)\nregister_impact_tool(mcp)\nregister_stats_tool(mcp)\n\n\ndef main():\n \"\"\"Server Entrypoint.\"\"\"\n logger.info(\"Starting MCP-Code Server\")\n logger.info(\"Tools: code_search, code_class, code_dependencies, code_dependents, code_impact, code_stats\")\n mcp.run(transport=\"stdio\")\n\n\nif __name__ == \"__main__\":\n main()\n"
}
}
{
"tool_response": {
"type": "update",
"filePath": "\/var\/www\/mcp-servers\/mcp_code\/server.py",
"content": "#!\/usr\/bin\/env python3\n\"\"\"MCP-Code Server - Code-Analyse-Abfragen fuer Claude Code.\"\"\"\n\nimport logging\nimport sys\nfrom pathlib import Path\n\n# Logging nur zu stderr (wichtig fuer MCP!)\nlogging.basicConfig(\n level=logging.INFO,\n format=\"%(asctime)s - %(levelname)s - %(message)s\",\n handlers=[logging.StreamHandler(sys.stderr)],\n)\nlogger = logging.getLogger(__name__)\n\n# .env laden\nfrom dotenv import load_dotenv\n\nload_dotenv(Path(__file__).parent \/ \".env\")\n\n# MCP importieren\nfrom mcp.server.fastmcp import FastMCP\n\n# Tools importieren\nfrom tools.search import register_search_tool\nfrom tools.class_info import register_class_tool\nfrom tools.dependencies import register_dependencies_tool\nfrom tools.dependents import register_dependents_tool\nfrom tools.impact import register_impact_tool\nfrom tools.stats import register_stats_tool\n\n# MCP Server initialisieren\nmcp = FastMCP(\"mcp-code\")\n\n# Tools registrieren\nregister_search_tool(mcp)\nregister_class_tool(mcp)\nregister_dependencies_tool(mcp)\nregister_dependents_tool(mcp)\nregister_impact_tool(mcp)\nregister_stats_tool(mcp)\n\n\ndef main():\n \"\"\"Server Entrypoint.\"\"\"\n logger.info(\"Starting MCP-Code Server\")\n logger.info(\"Tools: code_search, code_class, code_dependencies, code_dependents, code_impact, code_stats\")\n mcp.run(transport=\"stdio\")\n\n\nif __name__ == \"__main__\":\n main()\n",
"structuredPatch": [
{
"oldStart": 1,
"oldLines": 11,
"newStart": 1,
"newLines": 11,
"lines": [
" #!\/usr\/bin\/env python3",
"-\"\"\"MCP-Code Server - Code-Analyse-Abfragen für Claude Code.\"\"\"",
"+\"\"\"MCP-Code Server - Code-Analyse-Abfragen fuer Claude Code.\"\"\"",
" ",
" import logging",
" import sys",
" from pathlib import Path",
" ",
"-# Logging nur zu stderr (wichtig für MCP!)",
"+# Logging nur zu stderr (wichtig fuer MCP!)",
" logging.basicConfig(",
" level=logging.INFO,",
" format=\"%(asctime)s - %(levelname)s - %(message)s\","
]
},
{
"oldStart": 22,
"oldLines": 7,
"newStart": 22,
"newLines": 6,
"lines": [
" from mcp.server.fastmcp import FastMCP",
" ",
" # Tools importieren",
"-sys.path.insert(0, str(Path(__file__).parent))",
" from tools.search import register_search_tool",
" from tools.class_info import register_class_tool",
" from tools.dependencies import register_dependencies_tool"
]
}
],
"originalFile": "#!\/usr\/bin\/env python3\n\"\"\"MCP-Code Server - Code-Analyse-Abfragen für Claude Code.\"\"\"\n\nimport logging\nimport sys\nfrom pathlib import Path\n\n# Logging nur zu stderr (wichtig für MCP!)\nlogging.basicConfig(\n level=logging.INFO,\n format=\"%(asctime)s - %(levelname)s - %(message)s\",\n handlers=[logging.StreamHandler(sys.stderr)],\n)\nlogger = logging.getLogger(__name__)\n\n# .env laden\nfrom dotenv import load_dotenv\n\nload_dotenv(Path(__file__).parent \/ \".env\")\n\n# MCP importieren\nfrom mcp.server.fastmcp import FastMCP\n\n# Tools importieren\nsys.path.insert(0, str(Path(__file__).parent))\nfrom tools.search import register_search_tool\nfrom tools.class_info import register_class_tool\nfrom tools.dependencies import register_dependencies_tool\nfrom tools.dependents import register_dependents_tool\nfrom tools.impact import register_impact_tool\nfrom tools.stats import register_stats_tool\n\n# MCP Server initialisieren\nmcp = FastMCP(\"mcp-code\")\n\n# Tools registrieren\nregister_search_tool(mcp)\nregister_class_tool(mcp)\nregister_dependencies_tool(mcp)\nregister_dependents_tool(mcp)\nregister_impact_tool(mcp)\nregister_stats_tool(mcp)\n\n\ndef main():\n \"\"\"Server Entrypoint.\"\"\"\n logger.info(\"Starting MCP-Code Server\")\n logger.info(\"Tools: code_search, code_class, code_dependencies, code_dependents, code_impact, code_stats\")\n mcp.run(transport=\"stdio\")\n\n\nif __name__ == \"__main__\":\n main()\n"
}
}