feat(utils): 添加数据源ID获取功能

新增get_datasource_id函数用于获取数据源ID环境变量,
并在环境配置中添加datasource_id字段,
同时在main.py中设置默认的数据源ID环境变量。
This commit is contained in:
2026-01-04 10:20:18 +08:00
parent 384a1fbcb2
commit 79374b0d2f
4 changed files with 25 additions and 4 deletions

View File

@@ -7,12 +7,12 @@ import logging
try: try:
from .utils import load_json, generate_tool_name, generate_input_schema from .utils import load_json, generate_tool_name, generate_input_schema
from .utils import get_skill_by_id, DataSourceAPIClient, process_skill_response, test_sql_with_schema from .utils import get_skill_by_id, DataSourceAPIClient, process_skill_response, test_sql_with_schema
from .utils import get_database_id, get_skill_id, get_env_config from .utils import get_database_id, get_datasource_id, get_skill_id, get_env_config
from .utils.logger_config import logger_config from .utils.logger_config import logger_config
except ImportError: except ImportError:
from utils import load_json, generate_tool_name, generate_input_schema from utils import load_json, generate_tool_name, generate_input_schema
from utils import get_skill_by_id, DataSourceAPIClient, process_skill_response, test_sql_with_schema from utils import get_skill_by_id, DataSourceAPIClient, process_skill_response, test_sql_with_schema
from utils import get_database_id, get_skill_id, get_env_config from utils import get_database_id, get_datasource_id, get_skill_id, get_env_config
from utils.logger_config import logger_config from utils.logger_config import logger_config
from mcp.server.models import InitializationOptions from mcp.server.models import InitializationOptions
@@ -207,7 +207,7 @@ async def handle_call_tool(
if tool_item: if tool_item:
request_data = { request_data = {
"datasourceId": tool_item.get("datasourceId"), "datasourceId": get_datasource_id(),
"businessName": tool_item.get("businessName"), "businessName": tool_item.get("businessName"),
"businessDescription": tool_item.get("businessDescription"), "businessDescription": tool_item.get("businessDescription"),
"sqlTemplate": tool_item.get("sqlTemplate"), "sqlTemplate": tool_item.get("sqlTemplate"),
@@ -304,6 +304,7 @@ async def async_main():
# 输出环境配置信息 # 输出环境配置信息
env_config = get_env_config() env_config = get_env_config()
mcp_logger.info(f"环境配置 - Database ID: {env_config['database_id']}") mcp_logger.info(f"环境配置 - Database ID: {env_config['database_id']}")
mcp_logger.info(f"环境配置 - Datasource ID: {env_config['datasource_id']}")
mcp_logger.info(f"环境配置 - Skill ID: {env_config['skill_id']}") mcp_logger.info(f"环境配置 - Skill ID: {env_config['skill_id']}")
mcp_logger.info(f"环境配置 - Backend Base URL: {env_config['backend_base_url']}") mcp_logger.info(f"环境配置 - Backend Base URL: {env_config['backend_base_url']}")
mcp_logger.info("=" * 60) mcp_logger.info("=" * 60)

View File

@@ -4,7 +4,7 @@ from .json_helper import load_json
from .name_helper import generate_tool_name from .name_helper import generate_tool_name
from .schema_helper import generate_input_schema, validate_input_schema from .schema_helper import generate_input_schema, validate_input_schema
from .api_client import DataSourceAPIClient, get_skill_by_id, process_skill_response, test_sql_with_schema from .api_client import DataSourceAPIClient, get_skill_by_id, process_skill_response, test_sql_with_schema
from .env_config import get_database_id, get_skill_id, get_backend_base_url, get_env_config, set_env_variable from .env_config import get_database_id, get_datasource_id, get_skill_id, get_backend_base_url, get_env_config, set_env_variable
__all__ = [ __all__ = [
'load_json', 'load_json',
@@ -16,6 +16,7 @@ __all__ = [
'process_skill_response', 'process_skill_response',
'test_sql_with_schema', 'test_sql_with_schema',
'get_database_id', 'get_database_id',
'get_datasource_id',
'get_skill_id', 'get_skill_id',
'get_backend_base_url', 'get_backend_base_url',
'get_env_config', 'get_env_config',

View File

@@ -20,6 +20,22 @@ def get_database_id(default: str = "29") -> str:
return os.environ.get("databaseId", default) return os.environ.get("databaseId", default)
def get_datasource_id(default: str = "") -> str:
"""
获取数据源ID环境变量
Args:
default: 默认值(默认为 ""
Returns:
str: 数据源ID
Environment Variables:
datasourceId: 数据源ID
"""
return os.environ.get("datasourceId", default)
def get_skill_id(default: str = "") -> str: def get_skill_id(default: str = "") -> str:
""" """
获取技能ID环境变量 获取技能ID环境变量
@@ -62,11 +78,13 @@ def get_env_config() -> dict:
Example: Example:
config = get_env_config() config = get_env_config()
print(config['database_id']) # 输出: "29" print(config['database_id']) # 输出: "29"
print(config['datasource_id']) # 输出: ""
print(config['skill_id']) # 输出: "" print(config['skill_id']) # 输出: ""
print(config['backend_base_url']) # 输出: "http://lzwcai-demp-corp-manager:8086" print(config['backend_base_url']) # 输出: "http://lzwcai-demp-corp-manager:8086"
""" """
return { return {
"database_id": get_database_id(), "database_id": get_database_id(),
"datasource_id": get_datasource_id(),
"skill_id": get_skill_id(), "skill_id": get_skill_id(),
"backend_base_url": get_backend_base_url() "backend_base_url": get_backend_base_url()
} }

View File

@@ -5,6 +5,7 @@ Runs the MCP server for SQL query execution
import os import os
os.environ["databaseId"] = "19" os.environ["databaseId"] = "19"
os.environ["datasourceId"] = "19"
os.environ["backendBaseUrl"] = "http://192.168.11.24:8088" os.environ["backendBaseUrl"] = "http://192.168.11.24:8088"
if __name__ == "__main__": if __name__ == "__main__":
# Import and run the actual MCP server # Import and run the actual MCP server