feat: 原生集成 MCP Server (POST /mcp, JSON-RPC 2.0, Bearer Token)

- Streamable HTTP 传输,支持 initialize/ping/tools/list/tools/call 及批量调用
- 6 个工具: add_service(自动抓 title/description/favicon)、create_category、
  list_categories(含服务计数)、list_services(keyword/category/tag 过滤)、
  update_service、delete_service
- 鉴权: TONAV_MCP_TOKEN 环境变量 (systemd 注入)
This commit is contained in:
2026-09-11 06:33:28 +08:00
parent 58ed199636
commit c707667a84
2 changed files with 669 additions and 0 deletions
+4
View File
@@ -18,6 +18,7 @@ func main() {
database.Seed()
handlers.StartHealthCheck()
handlers.StartAutoBackup()
handlers.LoadMCPConfig()
r := gin.Default()
store := cookie.NewStore([]byte(cfg.SecretKey))
@@ -70,6 +71,9 @@ func main() {
admin.POST("/api/backup/restore", handlers.RestoreCloudBackup)
}
// MCP (Model Context Protocol) 端点
r.POST("/mcp", handlers.MCPAuthRequired(), handlers.MCPHandler)
log.Printf("ToNav-go 启动在端口 %s...", cfg.Port)
r.Run(":" + cfg.Port)
}