feat(utils): 添加数据源ID获取功能
新增get_datasource_id函数用于获取数据源ID环境变量, 并在环境配置中添加datasource_id字段, 同时在main.py中设置默认的数据源ID环境变量。
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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',
|
||||||
|
|||||||
@@ -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()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user