From 411ff551ae7641dfc5c9331e99bf8b6e5770e2fa Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 30 十二月 2025 18:05:14 +0800
Subject: [PATCH] #mcp

---
 src/main/java/com/zy/ai/mcp/dto/ToolRegistry.java |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/ai/mcp/dto/ToolRegistry.java b/src/main/java/com/zy/ai/mcp/dto/ToolRegistry.java
new file mode 100644
index 0000000..1f44742
--- /dev/null
+++ b/src/main/java/com/zy/ai/mcp/dto/ToolRegistry.java
@@ -0,0 +1,30 @@
+package com.zy.ai.mcp.dto;
+
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+
+public class ToolRegistry {
+    private final Map<String, ToolDefinition> tools = new ConcurrentHashMap<String, ToolDefinition>();
+
+    public void register(ToolDefinition def) {
+        tools.put(def.getName(), def);
+    }
+
+    public List<Map<String, Object>> listTools() {
+        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
+        for (ToolDefinition def : tools.values()) {
+            list.add(def.toMcpToolJson());
+        }
+        // 涓轰簡绋冲畾杈撳嚭锛屾寜 name 鎺掑簭
+        Collections.sort(list, new Comparator<Map<String, Object>>() {
+            public int compare(Map<String, Object> a, Map<String, Object> b) {
+                return String.valueOf(a.get("name")).compareTo(String.valueOf(b.get("name")));
+            }
+        });
+        return list;
+    }
+
+    public ToolDefinition get(String name) {
+        return tools.get(name);
+    }
+}

--
Gitblit v1.9.1