WitNote / cmd /pinchtab /cmd_mcp.go
AUXteam's picture
Upload folder using huggingface_hub
6a7089a verified
package main
import (
"fmt"
"os"
"strings"
"github.com/pinchtab/pinchtab/internal/config"
"github.com/pinchtab/pinchtab/internal/mcp"
"github.com/spf13/cobra"
)
var mcpCmd = &cobra.Command{
Use: "mcp",
Short: "Start the MCP stdio server",
Long: "Start the Model Context Protocol stdio server and proxy browser actions to a running PinchTab instance.",
Run: func(cmd *cobra.Command, args []string) {
cfg := config.Load()
runMCP(cfg)
},
}
func init() {
mcpCmd.GroupID = "primary"
rootCmd.AddCommand(mcpCmd)
}
func runMCP(cfg *config.RuntimeConfig) {
// Default: http://127.0.0.1:{port}
port := cfg.Port
if port == "" {
port = "9867"
}
baseURL := "http://127.0.0.1:" + port
// --server flag overrides
if serverURL != "" {
baseURL = strings.TrimRight(serverURL, "/")
}
// Token from config, env var overrides
token := cfg.Token
if envToken := os.Getenv("PINCHTAB_TOKEN"); envToken != "" {
token = envToken
}
mcp.Version = version
if err := mcp.Serve(baseURL, token); err != nil {
fmt.Fprintf(os.Stderr, "mcp server error: %v\n", err)
os.Exit(1)
}
}