27 lines
735 B
Go
27 lines
735 B
Go
// Package server 负责 MCP 服务器的装配与运行。
|
|
package server
|
|
|
|
import (
|
|
"github.com/modelcontextprotocol/go-sdk/mcp"
|
|
|
|
"aio-mcp/internal/config"
|
|
"aio-mcp/internal/deps"
|
|
"aio-mcp/internal/tools"
|
|
)
|
|
|
|
// New 创建并装配 aio-mcp 服务器。
|
|
//
|
|
// version 为服务器实现版本号,随 MCP initialize 握手上报给客户端;
|
|
// cfg 决定的共享依赖(数据目录、后续的连接池等)通过 deps 注入各工具。
|
|
func New(version string, cfg *config.Config) *mcp.Server {
|
|
s := mcp.NewServer(&mcp.Implementation{
|
|
Name: "aio-mcp",
|
|
Version: version,
|
|
}, nil)
|
|
|
|
// 注册全部工具。新增工具组后在 tools.RegisterAll 里追加即可。
|
|
tools.RegisterAll(s, deps.New(cfg))
|
|
|
|
return s
|
|
}
|