Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions dbm-ui/backend/dbm_aiagent/mcp_tools/decorators.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ def decorator(func: Callable) -> Callable:
operation_id = f"mcp_{agent_type}_{mcp_type}_{func.__name__}"
else:
operation_id = f"{name_prefix}_{func.__name__}"
operation_id = operation_id.replace("-", "_")

# 注册 operation_id 到 MCP 工具的映射(按 MCP 工具分组存储)
for mcp_tool in mcp or []:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class MongoAlarmMcpToolsViewSet(McpToolsViewSet):
response_slz=MongoClusterAlarmOutputSerializer,
tags=[DBMMCPTags.READ],
mcp=[DBMMcpTools.MONGODB_ALARM],
name_prefix=DBMMcpTools.MONGODB_ALARM.replace("_", "-"),
name_prefix=DBMMcpTools.MONGODB_ALARM.replace("-", "_"),
)
def fetch_cluster_alarms(self, request, *args, **kwargs):
start_time = self.get_param("start_time")
Expand All @@ -46,7 +46,7 @@ def fetch_cluster_alarms(self, request, *args, **kwargs):
response_slz=MongoAppAlarmOutputSerializer,
tags=[DBMMCPTags.READ],
mcp=[DBMMcpTools.MONGODB_ALARM],
name_prefix=DBMMcpTools.MONGODB_ALARM.replace("_", "-"),
name_prefix=DBMMcpTools.MONGODB_ALARM.replace("-", "_"),
)
def fetch_app_alarms(self, request, *args, **kwargs):
start_time = self.get_param("start_time")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ class MongoLogMcpToolsViewSet(McpToolsViewSet):
response_slz=MongoSlowlogOverviewResponseSerializer,
tags=[DBMMCPTags.READ],
mcp=[DBMMcpTools.MONGODB_LOG],
name_prefix=DBMMcpTools.MONGODB_LOG.replace("_", "-"),
name_prefix=DBMMcpTools.MONGODB_LOG.replace("-", "_"),
)
def get_mongodb_slowlog_overview(self, request, *args, **kwargs):
cluster_domain = self.get_param("cluster_domain") or None
Expand All @@ -68,7 +68,7 @@ def get_mongodb_slowlog_overview(self, request, *args, **kwargs):
response_slz=MongoSlowlogResponseSerializer,
tags=[DBMMCPTags.READ],
mcp=[DBMMcpTools.MONGODB_LOG],
name_prefix=DBMMcpTools.MONGODB_LOG.replace("_", "-"),
name_prefix=DBMMcpTools.MONGODB_LOG.replace("-", "_"),
)
def get_mongodb_slowlog_list(self, request, *args, **kwargs):
cluster_domain = self.get_param("cluster_domain") or None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ class _MetaDecoratorKwargs(TypedDict):
_META_DECORATOR: _MetaDecoratorKwargs = {
"tags": [DBMMCPTags.READ],
"mcp": [DBMMcpTools.MONGODB_META],
"name_prefix": DBMMcpTools.MONGODB_META.replace("_", "-"),
"name_prefix": DBMMcpTools.MONGODB_META.replace("-", "_"),
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,13 @@
MongoMetaInfoOutputSerializer,
)
from backend.dbm_aiagent.mcp_tools.mongodb.serializers.query_metrics import (
MongoMetricsInputSerializer,
MongoMetricsOutputSerializer,
ConvertTimestampInputSerializer,
ConvertTimestampOutputSerializer,
CurrentTimeOutputSerializer,
MongoMetricsInputSerializer,
MongoMetricsOutputSerializer,
MongoTimeEmptyInputSerializer,
)

from backend.dbm_aiagent.mcp_tools.mongodb.tools.comm_tools import estimate_token_count
from backend.dbm_aiagent.mcp_tools.views import McpToolsViewSet
from backend.iam_app.handlers.drf_perm.base import RejectPermission
Expand All @@ -56,7 +55,7 @@ def _metrics_common_slz():
"response_slz": MongoMetricsOutputSerializer,
"tags": [DBMMCPTags.READ],
"mcp": [DBMMcpTools.MONGODB_METRICS],
"name_prefix": DBMMcpTools.MONGODB_METRICS.replace("_", "-"),
"name_prefix": DBMMcpTools.MONGODB_METRICS.replace("-", "_"),
}


Expand All @@ -69,7 +68,7 @@ class MongoMetricsMcpToolsViewSet(McpToolsViewSet):
response_slz=CurrentTimeOutputSerializer,
tags=[DBMMCPTags.READ],
mcp=[DBMMcpTools.MONGODB_METRICS],
name_prefix=DBMMcpTools.MONGODB_METRICS.replace("_", "-"),
name_prefix=DBMMcpTools.MONGODB_METRICS.replace("-", "_"),
)
def get_current_time(self, request, *args, **kwargs):
return Response({"current_time": datetime2str(timezone.now())})
Expand All @@ -80,7 +79,7 @@ def get_current_time(self, request, *args, **kwargs):
response_slz=ConvertTimestampOutputSerializer,
tags=[DBMMCPTags.READ],
mcp=[DBMMcpTools.MONGODB_METRICS],
name_prefix=DBMMcpTools.MONGODB_METRICS.replace("_", "-"),
name_prefix=DBMMcpTools.MONGODB_METRICS.replace("-", "_"),
)
def convert_timestamp_to_str(self, request, *args, **kwargs):
timestamps = self.get_param("timestamps")
Expand All @@ -93,7 +92,7 @@ def convert_timestamp_to_str(self, request, *args, **kwargs):
response_slz=MongoMetaInfoOutputSerializer,
tags=[DBMMCPTags.READ],
mcp=[DBMMcpTools.MONGODB_METRICS],
name_prefix=DBMMcpTools.MONGODB_METRICS.replace("_", "-"),
name_prefix=DBMMcpTools.MONGODB_METRICS.replace("-", "_"),
)
def get_meta_info(self, request, *args, **kwargs):
return Response(meta_info(self.get_param("value")))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,7 @@ def query_reports_by_cluster(self, request, *args, **kwargs):
)

@mcp_tools_api_decorator(
description=str(
_('Query Redis inspection reports across user\'s managed bizs (non-normal: states=["warning","abnormal"])')
),
description="""Query Redis inspection reports across user's managed bizs (non-normal:states=[warning,abnormal])""", # noqa: E501
request_slz=RedisReportsByMyBizsInputSerializer,
response_slz=RedisReportsOutputSerializer,
permission_classes=[McpDBManagePermission],
Expand Down
1 change: 1 addition & 0 deletions dbm-ui/backend/dbm_init/apigw/mcp_definition.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ stages:
mcp_servers:
{% for mcp_server in settings.BK_APIGW_STAGE_MCP_SERVERS %}
- name: "{{ mcp_server.name }}"
title: "{{ mcp_server.title }}"
description: "{{ mcp_server.description }}"
{% if mcp_server.labels %}
labels:
Expand Down
Loading