093511bbdd
- 移除 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>
27 lines
610 B
Go
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{}
|
|
}
|