Files
deploy.stack/mcptime/main.go
cnphpbb 648faac289 feat: 添加MCP时间服务器及相关工具
实现一个基于Golang的MCP时间服务器,提供获取当前时间和日期功能
包含客户端示例、安装脚本和详细文档

refactor: 优化磁盘巡检脚本以支持SAS和SSD硬盘

增强磁盘巡检脚本的兼容性,改进SMART信息解析逻辑
添加硬盘类型检测和更全面的错误处理

docs: 更新README和安装说明

添加MCP时间服务器的使用文档和API说明
完善磁盘巡检报告格式和内容
2025-09-12 13:45:08 +08:00

47 lines
1.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package main
import (
"context"
"fmt"
"log"
"time"
"github.com/mark3labs/mcp-go/mcp"
"github.com/mark3labs/mcp-go/server"
)
func main() {
s := server.NewMCPServer(
"Time Service",
"1.0.0",
server.WithResourceCapabilities(true, true),
server.WithLogging(),
)
tool_time := mcp.NewTool("get_current_time",
mcp.WithDescription("获取当前系统时间,返回格式yyyy-MM-dd HH:mm:ss"),
)
s.AddTool(tool_time, currentTimeHandler)
tool_date := mcp.NewTool("get_current_date",
mcp.WithDescription("get current dateoutput format:yyyy-MM-dd"),
)
s.AddTool(tool_date, currentDateHandler)
if err := server.ServeStdio(s); err != nil {
fmt.Printf("Server start fail: %v\n", err)
} else {
log.Println("Time MCP start")
}
}
func currentTimeHandler(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallToolResult, error) {
currentTime := time.Now().Format("2006-01-02 15:04:05")
return mcp.NewToolResultText(fmt.Sprintf("%s", currentTime)), nil
}
func currentDateHandler(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallToolResult, error) {
currentTime := time.Now().Format("2006-01-02")
return mcp.NewToolResultText(fmt.Sprintf("%s", currentTime)), nil
}