Skip to content

Commit 5bc9c62

Browse files
committed
feat(mongodb): mongodb_mcp TencentBlueKing#16073
1 parent 55349ca commit 5bc9c62

39 files changed

+2578
-24
lines changed

dbm-ui/backend/dbm_aiagent/mcp_tools/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ python manage.py sync_saas_apigw --mcp
177177

178178
1. 修改 mcp 代码后, 执行 `python manage.py sync_saas_apigw --only_mcp_resource` 更新本地描述文件
179179
2. `export DEBUG_MCP=1; python manage.py runserver appdev.aaa.bbb.com:8080` 以调试模式启动 django 服务, server url 没啥要求, 随便
180-
3. `build/db-mcp-server --bind-address 0.0.0.0:9191 --mcp-backend-base-url http://appdev.aaa.bbb.com:8080/` 启动 mcp-server
180+
3. `build/db-mcp-server --bind-address 0.0.0.0:9191 --mcp-backend-base-url http://appdev.paasdb.woa.com:8080/` 启动 mcp-server
181181
4. 如果想本地启动 bkai agent, 参考其他文档
182182

183183
### 联调配置

dbm-ui/backend/dbm_aiagent/mcp_tools/constants.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,14 @@ class DBMMcpTools(StrStructuredEnum):
3535
REDIS_QUERY_ALARM = EnumField("redis-query-alarm", "redis-query-alarm")
3636
REDIS_BILL = EnumField("redis-bill", "redis-bill")
3737
REDIS_JOB = EnumField("redis-job", "redis-job")
38+
MONGODB_META = EnumField("mongodb-meta", "mongodb-meta")
39+
MONGODB_SYSTEM = EnumField("mongodb-system", "mongodb-system")
40+
MONGODB_METRICS = EnumField("mongodb-metrics", "mongodb-metrics")
41+
MONGODB_BILL = EnumField("mongodb-bill", "mongodb-bill")
42+
MONGODB_JOB = EnumField("mongodb-job", "mongodb-job")
43+
MONGODB_LOG = EnumField("mongodb-log", "mongodb-log")
44+
MONGODB_ALARM = EnumField("mongodb-alarm", "mongodb-alarm")
45+
MONGODB_STATUS = EnumField("mongodb-status", "mongodb-status")
3846
KAFKA_QUERY_META = EnumField("kafka-query-meta", "kafka-query-meta")
3947
KAFKA_BILL = EnumField("kafka-bill", "kafka-bill")
4048

dbm-ui/backend/dbm_aiagent/mcp_tools/decorators.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ def mcp_tools_api_decorator(
7777
match_subpath: bool = False,
7878
user_verified_required: bool = False,
7979
app_verified_required: bool = True,
80+
none_schema: bool = False,
8081
):
8182
"""
8283
MCP 工具 API 装饰器
@@ -96,6 +97,7 @@ def mcp_tools_api_decorator(
9697
@params match_subpath: 匹配所有子路径
9798
@params user_verified_required: 是否校验用户身份(考虑 mcp 也有后台调用,默认都已应用态接口开放)
9899
@params app_verified_required: 是否校验应用身份
100+
@params none_schema: 无请求体时设为 True,供 generate_resources_yaml 的 MCP 校验通过
99101
@returns 装饰器函数
100102
"""
101103

@@ -129,6 +131,7 @@ def decorator(func: Callable) -> Callable:
129131
exclude=False,
130132
extensions=gen_apigateway_resource_config(
131133
enable_mcp=True, # 固定为 True
134+
none_schema=none_schema,
132135
is_public=is_public,
133136
allow_apply_permission=allow_apply_permission,
134137
user_verified_required=user_verified_required,

dbm-ui/backend/dbm_aiagent/mcp_tools/mongodb/__init__.py

Whitespace-only changes.

dbm-ui/backend/dbm_aiagent/mcp_tools/mongodb/impl/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)