validate_sql_query
Check SQL query safety for JVLink MCP Server to prevent security issues before execution on Japanese horse racing data.
Instructions
SQLクエリの安全性を検証
Args:
sql_query: 検証するSQLクエリ
Returns:
検証結果と安全性チェックInput Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sql_query | Yes |
Implementation Reference
- src/jvlink_mcp_server/server.py:430-456 (handler)The implementation of the 'validate_sql_query' tool, including its handler logic, keyword validation, and tool registration via @mcp.tool().
@mcp.tool() def validate_sql_query(sql_query: str) -> dict: """SQLクエリの安全性を検証 Args: sql_query: 検証するSQLクエリ Returns: 検証結果と安全性チェック """ dangerous_keywords = [ "DROP", "DELETE", "UPDATE", "INSERT", "CREATE", "ALTER", "TRUNCATE", "REPLACE", "MERGE", "GRANT", "REVOKE" ] query_upper = sql_query.upper() found_dangerous = [kw for kw in dangerous_keywords if kw in query_upper] is_safe = len(found_dangerous) == 0 and "SELECT" in query_upper return { "is_safe": is_safe, "query": sql_query, "dangerous_keywords_found": found_dangerous, "recommendation": "安全に実行可能" if is_safe else "危険なキーワードが含まれています", "can_execute": is_safe }