Files
ops-mcp/internal/tool/tool.go
T
yangzhaohan 093511bbdd 精简项目:只保留 docker_logs + health + info 三个工具
- 移除 database/middleware 等复杂模块,先聚焦核心功能
- docker_logs:封装 docker logs --tail N <container>
- 修复 go.mod 版本为 1.24 匹配 Docker 构建镜像
- Dockerfile 改用 alpine + docker-cli,避免 scratch 无 shell 问题
- docker-compose.yml 简化为单服务定义

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-07-06 10:42:23 +08:00

27 lines
610 B
Go

package tool
import (
"context"
"github.com/mark3labs/mcp-go/mcp"
"github.com/mark3labs/mcp-go/server"
)
// Tool 是所有 MCP 工具必须实现的接口。
type Tool interface {
Name() string
Description() string
Register(mcpServer *server.MCPServer) error
Initialize(ctx context.Context) error
Shutdown(ctx context.Context) error
HealthCheck(ctx context.Context) error
}
// 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{}
}