This commit is contained in:
张威33321
2026-09-08 20:36:25 +08:00
parent 6296202eb0
commit 1a6ba86f04
13 changed files with 314 additions and 104 deletions

View File

@@ -0,0 +1,44 @@
// aio-mcpaio-system 的自定义 MCP 服务器。
//
// 作为 AI Agent 的「手」,以 MCP 协议对外暴露工具。
// 默认以 streamable HTTP 传输运行(远程客户端访问),也可切换为
// stdio 供本地 Agent 直接拉起。
//
// 本文件只负责「装配 + 启动」,具体逻辑分别在:
// - internal/config :启动参数解析
// - internal/logging :日志初始化(固定 stderr
// - internal/server MCP 服务器装配与传输
// - internal/tools :工具注册表
package main
import (
"errors"
"flag"
"log/slog"
"os"
"aio-mcp/internal/config"
"aio-mcp/internal/logging"
"aio-mcp/internal/server"
)
// version 可用 -ldflags "-X main.version=..." 在构建时覆盖。
var version = "0.1.0"
func main() {
cfg, err := config.Parse(os.Args[1:], os.Stderr)
if err != nil {
// -h/--help 属于正常退出,参数错误才是异常退出。
if errors.Is(err, flag.ErrHelp) {
os.Exit(0)
}
os.Exit(2)
}
logging.Setup(cfg.LogLevel)
if err := server.Serve(server.New(version, cfg), cfg); err != nil {
slog.Error("aio-mcp exited with error", "err", err)
os.Exit(1)
}
}