auth.go (view raw)
1package main
2
3import (
4 "context"
5 "fmt"
6 "log"
7
8 "github.com/modelcontextprotocol/go-sdk/mcp"
9)
10
11func createAuthMiddleware(token string) mcp.Middleware {
12 log.Println("Use auth token")
13 return func(next mcp.MethodHandler) mcp.MethodHandler {
14 return func(ctx context.Context, method string, req mcp.Request) (mcp.Result, error) {
15 authHeader := req.GetExtra().Header.Get("Authorization")
16 if authHeader != "Bearer "+token {
17 return nil, fmt.Errorf("unauthorized")
18 }
19 return next(ctx, method, req)
20 }
21 }
22}