mirror of
https://github.com/lukaszraczylo/mcp-readitall.git
synced 2026-10-12 00:45:33 +00:00
38 lines
772 B
Go
38 lines
772 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"log"
|
|
"os"
|
|
"os/signal"
|
|
"syscall"
|
|
|
|
"github.com/lukaszraczylo/mcp-readitall/internal/server"
|
|
)
|
|
|
|
func main() {
|
|
logger := log.New(os.Stderr, "[readitall] ", log.LstdFlags|log.Lmsgprefix)
|
|
|
|
ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
|
|
defer cancel()
|
|
|
|
srv, err := server.New(ctx, logger)
|
|
if err != nil {
|
|
logger.Fatalf("init server: %v", err)
|
|
}
|
|
defer func() {
|
|
if cerr := srv.Close(); cerr != nil {
|
|
logger.Printf("shutdown: %v", cerr)
|
|
}
|
|
}()
|
|
|
|
addr := os.Getenv("READITALL_ADDR")
|
|
if addr == "" {
|
|
addr = ":8080"
|
|
}
|
|
logger.Printf("starting MCP server (http) on %s (/mcp, /sse)", addr)
|
|
if err := srv.RunHTTP(ctx, addr); err != nil {
|
|
logger.Fatalf("server exited: %v", err)
|
|
}
|
|
}
|