19b3fb60f7
Build and Deploy / build-and-push (push) Successful in 53s
- Set TrustedProxies to nil to allow reverse proxy requests - Add explicit routes for /mcp without trailing slash
30 lines
842 B
Go
30 lines
842 B
Go
package router
|
|
|
|
import (
|
|
"github.com/engigu/taskpool/internal/middleware"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// initMCPRoutes 初始化 MCP Server 路由
|
|
// 使用 OpenAPI Token 进行鉴权
|
|
func initMCPRoutes(root *gin.RouterGroup, c *Controllers) {
|
|
// MCP 路由组 (使用 Bearer Token 鉴权,复用 OpenAPI 中间件)
|
|
mcp := root.Group("/mcp")
|
|
mcp.Use(middleware.OpenapiRequired())
|
|
{
|
|
// 所有 MCP 请求都通过同一个 handler 处理
|
|
// StreamableHTTP 协议支持 POST 和 GET
|
|
// 使用 /*action 匹配 /mcp 和 /mcp/ 以及 /mcp/xxx
|
|
mcp.POST("/*action", c.MCP.HandleMCP)
|
|
mcp.GET("/*action", c.MCP.HandleMCP)
|
|
}
|
|
|
|
// 同时处理 /mcp 根路径(无尾部斜杠)
|
|
mcpRoot := root.Group("/mcp")
|
|
mcpRoot.Use(middleware.OpenapiRequired())
|
|
{
|
|
mcpRoot.POST("", c.MCP.HandleMCP)
|
|
mcpRoot.GET("", c.MCP.HandleMCP)
|
|
}
|
|
}
|