package tool import ( "context" "github.com/mark3labs/mcp-go/mcp" "github.com/mark3labs/mcp-go/server" ) // getArgs 把 req.Params.Arguments 转换为 map[string]any。 func getArgs(req mcp.CallToolRequest) map[string]any { if args, ok := req.Params.Arguments.(map[string]any); ok { return args } return map[string]any{} } // Tool 是所有 MCP 工具必须实现的接口。 // 每个工具模块实现此接口,然后注册到 Registry。 type Tool interface { Name() string // Description 返回工具的一句话描述 Description() string // Register 向 MCP Server 注册自己的工具处理器 Register(mcpServer *server.MCPServer) error // Initialize 建立连接、初始化资源 Initialize(ctx context.Context) error // Shutdown 释放资源、关闭连接 Shutdown(ctx context.Context) error // HealthCheck 返回当前工具的连接状态,nil 表示健康 HealthCheck(ctx context.Context) error }