server.py
- Pfad:
/var/www/mcp-servers/mcp-db/server.py - Namespace: -
- Zeilen: 64 | Größe: 1,783 Bytes
- Geändert: 2025-12-28 13:09:20 | Gescannt: 2025-12-31 10:22:15
Code Hygiene Score: 75
- Dependencies: 0 (25%)
- LOC: 100 (20%)
- Methods: 100 (20%)
- Secrets: 100 (15%)
- Classes: 100 (10%)
- Magic Numbers: 100 (10%)
Keine Issues gefunden.
Dependencies 15
- use logging
- use sys
- use pathlib.Path
- use dotenv.load_dotenv
- use mcp.server.fastmcp.FastMCP
- use tools.databases_tool.register_databases_tool
- use tools.delete_tool.register_delete_tool
- use tools.describe_tool.register_describe_tool
- use tools.execute_tool.register_execute_tool
- use tools.insert_tool.register_insert_tool
- use tools.schema_tool.register_schema_tool
- use tools.select_tool.register_select_tool
- use tools.stats_tool.register_stats_tool
- use tools.tables_tool.register_tables_tool
- use tools.update_tool.register_update_tool
Funktionen 1
-
main()Zeile 54
Code
#!/usr/bin/env python3
"""MCP-DB Server - Sichere Datenbankzugriffe fuer Claude Code."""
import logging
import sys
from pathlib import Path
# Logging nur zu stderr (wichtig fuer MCP!)
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(message)s",
handlers=[logging.StreamHandler(sys.stderr)],
)
logger = logging.getLogger(__name__)
# .env laden
from dotenv import load_dotenv
load_dotenv(Path(__file__).parent / ".env")
# MCP importieren
from mcp.server.fastmcp import FastMCP
# Tools importieren
from tools.databases_tool import register_databases_tool
from tools.delete_tool import register_delete_tool
from tools.describe_tool import register_describe_tool
from tools.execute_tool import register_execute_tool
from tools.insert_tool import register_insert_tool
from tools.schema_tool import register_schema_tool
from tools.select_tool import register_select_tool
from tools.stats_tool import register_stats_tool
from tools.tables_tool import register_tables_tool
from tools.update_tool import register_update_tool
# MCP Server initialisieren
mcp = FastMCP("mcp-db")
# Tools registrieren - Read-Only
register_select_tool(mcp)
register_schema_tool(mcp)
register_stats_tool(mcp)
register_describe_tool(mcp)
register_databases_tool(mcp)
register_tables_tool(mcp)
# Tools registrieren - Write Operations
register_execute_tool(mcp)
register_insert_tool(mcp)
register_update_tool(mcp)
register_delete_tool(mcp)
def main():
"""Server Entrypoint."""
logger.info("Starting MCP-DB Server")
logger.info("Read-Only: db_select, db_schema, db_stats, db_describe, db_databases, db_tables")
logger.info("Write: db_execute, db_insert, db_update, db_delete")
mcp.run(transport="stdio")
if __name__ == "__main__":
main()