From b0728aba5c01842e24da3cff04e44be06c6bb655 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 19 三月 2026 13:38:38 +0800
Subject: [PATCH] #AI.去除多余mcp
---
rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiMcpMountServiceImpl.java | 13 +-----
rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/BuiltinMcpToolRegistryImpl.java | 38 +++----------------
version/db/ai_feature.sql | 31 ++++-----------
rsf-server/src/main/java/com/vincent/rsf/server/ai/config/AiDefaults.java | 3 -
rsf-admin/src/page/system/aiMcpMount/AiMcpMountForm.jsx | 3 -
5 files changed, 16 insertions(+), 72 deletions(-)
diff --git a/rsf-admin/src/page/system/aiMcpMount/AiMcpMountForm.jsx b/rsf-admin/src/page/system/aiMcpMount/AiMcpMountForm.jsx
index b11f4d1..fe4179d 100644
--- a/rsf-admin/src/page/system/aiMcpMount/AiMcpMountForm.jsx
+++ b/rsf-admin/src/page/system/aiMcpMount/AiMcpMountForm.jsx
@@ -95,9 +95,6 @@
label="ai.mcp.fields.builtinCode"
choices={[
{ id: "RSF_WMS", name: "RSF_WMS" },
- { id: "RSF_WMS_STOCK", name: "RSF_WMS_STOCK" },
- { id: "RSF_WMS_TASK", name: "RSF_WMS_TASK" },
- { id: "RSF_WMS_BASE", name: "RSF_WMS_BASE" },
]}
fullWidth
disabled={readOnly}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/ai/config/AiDefaults.java b/rsf-server/src/main/java/com/vincent/rsf/server/ai/config/AiDefaults.java
index 487a7a8..444d930 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/ai/config/AiDefaults.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/ai/config/AiDefaults.java
@@ -11,9 +11,6 @@
public static final String MCP_TRANSPORT_STDIO = "STDIO";
public static final String MCP_TRANSPORT_BUILTIN = "BUILTIN";
public static final String MCP_BUILTIN_RSF_WMS = "RSF_WMS";
- public static final String MCP_BUILTIN_RSF_WMS_STOCK = "RSF_WMS_STOCK";
- public static final String MCP_BUILTIN_RSF_WMS_TASK = "RSF_WMS_TASK";
- public static final String MCP_BUILTIN_RSF_WMS_BASE = "RSF_WMS_BASE";
public static final String MCP_HEALTH_NOT_TESTED = "NOT_TESTED";
public static final String MCP_HEALTH_HEALTHY = "HEALTHY";
public static final String MCP_HEALTH_UNHEALTHY = "UNHEALTHY";
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiMcpMountServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiMcpMountServiceImpl.java
index 3ef9423..e358929 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiMcpMountServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiMcpMountServiceImpl.java
@@ -298,19 +298,10 @@
}
private List<String> resolveConflictCodes(String builtinCode) {
- List<String> codes = new ArrayList<>();
if (AiDefaults.MCP_BUILTIN_RSF_WMS.equals(builtinCode)) {
- codes.add(AiDefaults.MCP_BUILTIN_RSF_WMS_STOCK);
- codes.add(AiDefaults.MCP_BUILTIN_RSF_WMS_TASK);
- codes.add(AiDefaults.MCP_BUILTIN_RSF_WMS_BASE);
- return codes;
+ return List.of();
}
- if (AiDefaults.MCP_BUILTIN_RSF_WMS_STOCK.equals(builtinCode)
- || AiDefaults.MCP_BUILTIN_RSF_WMS_TASK.equals(builtinCode)
- || AiDefaults.MCP_BUILTIN_RSF_WMS_BASE.equals(builtinCode)) {
- codes.add(AiDefaults.MCP_BUILTIN_RSF_WMS);
- }
- return codes;
+ throw new CoolException("涓嶆敮鎸佺殑鍐呯疆 MCP 缂栫爜: " + builtinCode);
}
private void ensureTenantId(Long tenantId) {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/BuiltinMcpToolRegistryImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/BuiltinMcpToolRegistryImpl.java
index 41f0d52..2c4b725 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/BuiltinMcpToolRegistryImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/BuiltinMcpToolRegistryImpl.java
@@ -44,19 +44,10 @@
validateBuiltinCode(builtinCode);
if (AiDefaults.MCP_BUILTIN_RSF_WMS.equals(builtinCode)) {
List<ToolCallback> callbacks = new ArrayList<>();
- callbacks.addAll(createValidatedCallbacks(rsfWmsStockTools, AiDefaults.MCP_BUILTIN_RSF_WMS_STOCK));
- callbacks.addAll(createValidatedCallbacks(rsfWmsTaskTools, AiDefaults.MCP_BUILTIN_RSF_WMS_TASK));
- callbacks.addAll(createValidatedCallbacks(rsfWmsBaseTools, AiDefaults.MCP_BUILTIN_RSF_WMS_BASE));
+ callbacks.addAll(createValidatedCallbacks(rsfWmsStockTools, builtinCode));
+ callbacks.addAll(createValidatedCallbacks(rsfWmsTaskTools, builtinCode));
+ callbacks.addAll(createValidatedCallbacks(rsfWmsBaseTools, builtinCode));
return callbacks;
- }
- if (AiDefaults.MCP_BUILTIN_RSF_WMS_STOCK.equals(builtinCode)) {
- return createValidatedCallbacks(rsfWmsStockTools, builtinCode);
- }
- if (AiDefaults.MCP_BUILTIN_RSF_WMS_TASK.equals(builtinCode)) {
- return createValidatedCallbacks(rsfWmsTaskTools, builtinCode);
- }
- if (AiDefaults.MCP_BUILTIN_RSF_WMS_BASE.equals(builtinCode)) {
- return createValidatedCallbacks(rsfWmsBaseTools, builtinCode);
}
throw new CoolException("涓嶆敮鎸佺殑鍐呯疆 MCP 缂栫爜: " + builtinCode);
}
@@ -65,11 +56,7 @@
public List<AiMcpToolPreviewDto> listBuiltinToolCatalog(String builtinCode) {
validateBuiltinCode(builtinCode);
if (AiDefaults.MCP_BUILTIN_RSF_WMS.equals(builtinCode)) {
- List<AiMcpToolPreviewDto> catalog = new ArrayList<>();
- catalog.addAll(catalogByBuiltinCode(AiDefaults.MCP_BUILTIN_RSF_WMS_STOCK).values());
- catalog.addAll(catalogByBuiltinCode(AiDefaults.MCP_BUILTIN_RSF_WMS_TASK).values());
- catalog.addAll(catalogByBuiltinCode(AiDefaults.MCP_BUILTIN_RSF_WMS_BASE).values());
- return catalog;
+ return new ArrayList<>(catalogByBuiltinCode(builtinCode).values());
}
return new ArrayList<>(catalogByBuiltinCode(builtinCode).values());
}
@@ -93,16 +80,11 @@
}
private List<String> supportedBuiltinCodes() {
- return List.of(
- AiDefaults.MCP_BUILTIN_RSF_WMS,
- AiDefaults.MCP_BUILTIN_RSF_WMS_STOCK,
- AiDefaults.MCP_BUILTIN_RSF_WMS_TASK,
- AiDefaults.MCP_BUILTIN_RSF_WMS_BASE
- );
+ return List.of(AiDefaults.MCP_BUILTIN_RSF_WMS);
}
private Map<String, AiMcpToolPreviewDto> catalogByBuiltinCode(String builtinCode) {
- if (AiDefaults.MCP_BUILTIN_RSF_WMS_STOCK.equals(builtinCode)) {
+ if (AiDefaults.MCP_BUILTIN_RSF_WMS.equals(builtinCode)) {
Map<String, AiMcpToolPreviewDto> catalog = new LinkedHashMap<>();
catalog.put("rsf_query_available_inventory", buildCatalogItem(
"rsf_query_available_inventory",
@@ -118,10 +100,6 @@
"蹇呴』鎻愪緵绔欑偣绫诲瀷鍒楄〃锛岀被鍨嬫暟閲忔渶澶� 10 涓紝鏈�澶氳繑鍥� 50 涓珯鐐广��",
List.of("鏌ヨ鍏ュ簱鍜屽嚭搴撲綔涓氬彲鐢ㄧ珯鐐�", "鍒楀嚭 AGV_PICK 绫诲瀷鐨勪綔涓氱珯鐐�")
));
- return catalog;
- }
- if (AiDefaults.MCP_BUILTIN_RSF_WMS_TASK.equals(builtinCode)) {
- Map<String, AiMcpToolPreviewDto> catalog = new LinkedHashMap<>();
catalog.put("rsf_query_task_list", buildCatalogItem(
"rsf_query_task_list",
"浠诲姟鏌ヨ",
@@ -136,10 +114,6 @@
"蹇呴』鎻愪緵浠诲姟 ID 鎴栦换鍔″彿涔嬩竴锛屽彧杩斿洖鍗曚釜浠诲姟銆�",
List.of("鏌ヨ浠诲姟 12345 鐨勮鎯�", "鏍规嵁浠诲姟鍙� TASK24001 鏌ョ湅鎵ц鏄庣粏")
));
- return catalog;
- }
- if (AiDefaults.MCP_BUILTIN_RSF_WMS_BASE.equals(builtinCode)) {
- Map<String, AiMcpToolPreviewDto> catalog = new LinkedHashMap<>();
catalog.put("rsf_query_warehouses", buildCatalogItem(
"rsf_query_warehouses",
"鍩虹璧勬枡",
diff --git a/version/db/ai_feature.sql b/version/db/ai_feature.sql
index ab0819b..dd141fb 100644
--- a/version/db/ai_feature.sql
+++ b/version/db/ai_feature.sql
@@ -406,29 +406,14 @@
WHERE `tenant_id` = 1 AND `transport_type` = 'BUILTIN' AND `builtin_code` = 'RSF_WMS' AND `deleted` = 0
);
-INSERT INTO `sys_ai_mcp_mount`
-(`name`, `transport_type`, `builtin_code`, `request_timeout_ms`, `sort`, `tenant_id`, `status`, `deleted`, `create_time`, `create_by`, `update_time`, `update_by`, `memo`)
-SELECT 'RSF WMS 搴撳瓨浣滀笟鍐呯疆 MCP', 'BUILTIN', 'RSF_WMS_STOCK', 60000, 1, 1, 0, 0, '2026-03-19 10:00:00', 2, '2026-03-19 10:00:00', 2, '鍐呯疆搴撳瓨鏌ヨ鍜岀珯鐐规煡璇㈠伐鍏�'
-WHERE NOT EXISTS (
- SELECT 1 FROM `sys_ai_mcp_mount`
- WHERE `tenant_id` = 1 AND `transport_type` = 'BUILTIN' AND `builtin_code` = 'RSF_WMS_STOCK' AND `deleted` = 0
-);
-
-INSERT INTO `sys_ai_mcp_mount`
-(`name`, `transport_type`, `builtin_code`, `request_timeout_ms`, `sort`, `tenant_id`, `status`, `deleted`, `create_time`, `create_by`, `update_time`, `update_by`, `memo`)
-SELECT 'RSF WMS 浠诲姟鏌ヨ鍐呯疆 MCP', 'BUILTIN', 'RSF_WMS_TASK', 60000, 2, 1, 0, 0, '2026-03-19 10:00:00', 2, '2026-03-19 10:00:00', 2, '鍐呯疆浠诲姟鍒楄〃涓庝换鍔¤鎯呮煡璇㈠伐鍏�'
-WHERE NOT EXISTS (
- SELECT 1 FROM `sys_ai_mcp_mount`
- WHERE `tenant_id` = 1 AND `transport_type` = 'BUILTIN' AND `builtin_code` = 'RSF_WMS_TASK' AND `deleted` = 0
-);
-
-INSERT INTO `sys_ai_mcp_mount`
-(`name`, `transport_type`, `builtin_code`, `request_timeout_ms`, `sort`, `tenant_id`, `status`, `deleted`, `create_time`, `create_by`, `update_time`, `update_by`, `memo`)
-SELECT 'RSF WMS 鍩虹璧勬枡鍐呯疆 MCP', 'BUILTIN', 'RSF_WMS_BASE', 60000, 3, 1, 0, 0, '2026-03-19 10:00:00', 2, '2026-03-19 10:00:00', 2, '鍐呯疆浠撳簱銆佸熀纭�绔欑偣鍜屽瓧鍏告暟鎹煡璇㈠伐鍏�'
-WHERE NOT EXISTS (
- SELECT 1 FROM `sys_ai_mcp_mount`
- WHERE `tenant_id` = 1 AND `transport_type` = 'BUILTIN' AND `builtin_code` = 'RSF_WMS_BASE' AND `deleted` = 0
-);
+UPDATE `sys_ai_mcp_mount`
+SET `status` = 0,
+ `update_time` = '2026-03-19 10:00:00',
+ `update_by` = 2,
+ `memo` = '宸蹭笅绾匡紝浠呬繚鐣� RSF_WMS 鍐呯疆 MCP'
+WHERE `transport_type` = 'BUILTIN'
+ AND `builtin_code` IN ('RSF_WMS_STOCK', 'RSF_WMS_TASK', 'RSF_WMS_BASE')
+ AND `deleted` = 0;
INSERT INTO `sys_menu`
(`id`, `name`, `parent_id`, `parent_name`, `path`, `path_name`, `route`, `component`, `brief`, `code`, `type`, `authority`, `icon`, `sort`, `meta`, `tenant_id`, `status`, `deleted`, `create_time`, `create_by`, `update_time`, `update_by`, `memo`)
--
Gitblit v1.9.1