Skip to main content
Glama

Umami MCP Server

MIT License
2
  • Apple
  • Linux
main.go1.15 kB
package main import ( "encoding/json" "fmt" "log" "os" ) var ( version = "dev" commit = "none" date = "unknown" ) type Request struct { JSONRPC string `json:"jsonrpc"` ID any `json:"id"` Method string `json:"method"` Params json.RawMessage `json:"params,omitempty"` } type Response struct { JSONRPC string `json:"jsonrpc"` ID any `json:"id"` Result any `json:"result,omitempty"` Error *Error `json:"error,omitempty"` } type Error struct { Code int `json:"code"` Message string `json:"message"` } func main() { if len(os.Args) > 1 && (os.Args[1] == "-v" || os.Args[1] == "--version") { fmt.Printf("umami-mcp %s (%s) built %s\n", version, commit, date) os.Exit(0) } config, err := LoadConfig() if err != nil { log.Fatalf("Failed to load config: %v", err) } client := NewUmamiClient(config.UmamiURL, config.Username, config.Password) if err := client.Authenticate(); err != nil { log.Fatalf("Failed to authenticate with Umami: %v", err) } server := NewMCPServer(client) if err := server.Run(); err != nil { log.Fatalf("Server error: %v", err) } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Macawls/umami-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server