Skip to main content
Glama
Macawls

Umami MCP Server

Umami MCP 서버

Umami Analytics를 Claude Desktop, VS Code, Cursor, Windsurf, Zed, Smithery 등 모든 MCP 클라이언트에 연결하세요.

프롬프트

분석 및 트래픽

  • "지난 30일간의 웹사이트 종합 분석 보고서를 보여줘"

  • "이번 달에 가장 많은 트래픽을 기록한 페이지는 어디인가요? 상위 10개를 보여줘"

  • "웹사이트 트래픽 패턴을 분석해줘 - 방문자가 가장 많은 시간대는 언제인가요?"

사용자 인사이트

  • "방문자는 어디에서 오나요? 국가 및 도시별로 분류해줘"

  • "사용자가 어떤 기기와 브라우저를 사용하나요?"

  • "사용자 여정을 보여줘 - 방문자가 일반적으로 어떤 순서로 페이지를 보나요?"

실시간 모니터링

  • "지금 웹사이트에 몇 명이 접속해 있나요? 어떤 페이지를 보고 있나요?"

  • "웹사이트에 문제가 있나요? 트래픽이 크게 감소했는지 확인해줘"

콘텐츠 및 캠페인 분석

  • "어떤 블로그 게시물을 업데이트해야 할까요? 트래픽이 감소하는 게시물을 보여줘"

  • "최근 이메일 캠페인의 성과는 어땠나요? 캠페인 UTM을 통해 방문자를 추적해줘"

  • "다양한 소셜 미디어 플랫폼의 트래픽을 비교해줘"

Related MCP server: Customized MCP Server

빠른 시작

옵션 1: 바이너리 다운로드

Releases에서 플랫폼에 맞는 최신 릴리스를 받으세요.

옵션 2: Docker

docker run -i --rm \
  -e UMAMI_URL="https://your-instance.com" \
  -e UMAMI_USERNAME="username" \
  -e UMAMI_PASSWORD="password" \
  ghcr.io/macawls/umami-mcp-server

옵션 3: Go 설치

go install github.com/Macawls/umami-mcp-server@latest

~/go/bin/umami-mcp-server(또는 $GOPATH/bin)에 설치됩니다.

설정

선호도에 따라 아래 두 가지 방법 중 하나를 선택하세요.

원격 (설치 불필요)

https://umami-mcp.macawls.dev/mcp에서 호스팅된 인스턴스를 사용할 수 있습니다. HTTP 전송을 지원하는 모든 MCP 클라이언트에서 직접 연결하세요. 바이너리나 Docker는 필요하지 않습니다.

자격 증명은 initialize 요청 시 X-Umami-* 헤더를 통해 전달됩니다.

설정 파일에 추가하세요 (%APPDATA%\Claude\claude_desktop_config.json (Windows), ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)):

{
  "mcpServers": {
    "umami": {
      "type": "http",
      "url": "https://umami-mcp.macawls.dev/mcp",
      "headersHelper": "echo X-Umami-Host: https://your-instance.com && echo X-Umami-Username: admin && echo X-Umami-Password: pass"
    }
  }
}

.vscode/mcp.json에 추가하세요:

{
  "servers": {
    "umami": {
      "type": "http",
      "url": "https://umami-mcp.macawls.dev/mcp",
      "headers": {
        "X-Umami-Host": "https://your-instance.com",
        "X-Umami-Username": "${input:umami-username}",
        "X-Umami-Password": "${input:umami-password}"
      }
    }
  }
}
claude mcp add --transport http \
  --header "X-Umami-Host: https://your-instance.com" \
  --header "X-Umami-Username: admin" \
  --header "X-Umami-Password: pass" \
  umami https://umami-mcp.macawls.dev/mcp

.cursor/mcp.json에 추가하세요:

{
  "mcpServers": {
    "umami": {
      "url": "https://umami-mcp.macawls.dev/mcp",
      "headers": {
        "X-Umami-Host": "https://your-instance.com",
        "X-Umami-Username": "admin",
        "X-Umami-Password": "pass"
      }
    }
  }
}

~/.codeium/windsurf/mcp_config.json에 추가하세요:

{
  "mcpServers": {
    "umami": {
      "serverUrl": "https://umami-mcp.macawls.dev/mcp",
      "headers": {
        "X-Umami-Host": "https://your-instance.com",
        "X-Umami-Username": "admin",
        "X-Umami-Password": "pass"
      }
    }
  }
}

opencode.json에 추가하세요:

{
  "mcp": {
    "umami": {
      "type": "remote",
      "url": "https://umami-mcp.macawls.dev/mcp",
      "headers": {
        "X-Umami-Host": "https://your-instance.com",
        "X-Umami-Username": "admin",
        "X-Umami-Password": "pass"
      }
    }
  }
}

Streamable HTTP를 지원하는 모든 MCP 클라이언트는 X-Umami-Host, X-Umami-Username, X-Umami-Password 헤더에 자격 증명을 포함하여 https://umami-mcp.macawls.dev/mcp에 연결할 수 있습니다.

로컬

바이너리나 Docker 이미지를 로컬에서 실행하세요. 자격 증명은 환경 변수를 통해 설정됩니다.

설정 파일에 추가하세요 (%APPDATA%\Claude\claude_desktop_config.json (Windows), ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)):

{
  "mcpServers": {
    "umami": {
      "command": "~/go/bin/umami-mcp-server",
      "env": {
        "UMAMI_URL": "https://your-umami-instance.com",
        "UMAMI_USERNAME": "your-username",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}

.vscode/mcp.json을 생성하세요:

{
  "servers": {
    "umami": {
      "command": "~/go/bin/umami-mcp-server",
      "env": {
        "UMAMI_URL": "https://your-umami-instance.com",
        "UMAMI_USERNAME": "your-username",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}
claude mcp add \
  umami-mcp-server \
  -e UMAMI_URL="https://your-umami-instance.com" \
  -e UMAMI_USERNAME="your-username" \
  -e UMAMI_PASSWORD="your-password" \
  -- ~/go/bin/umami-mcp-server

.cursor/mcp.json에 추가하세요:

{
  "mcpServers": {
    "umami": {
      "command": "~/go/bin/umami-mcp-server",
      "env": {
        "UMAMI_URL": "https://your-umami-instance.com",
        "UMAMI_USERNAME": "your-username",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}

~/.codeium/windsurf/mcp_config.json에 추가하세요:

{
  "mcpServers": {
    "umami": {
      "command": "~/go/bin/umami-mcp-server",
      "env": {
        "UMAMI_URL": "https://your-umami-instance.com",
        "UMAMI_USERNAME": "your-username",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}

Zed 설정의 assistant.mcp_servers 아래에 추가하세요:

{
  "umami": {
    "command": "~/go/bin/umami-mcp-server",
    "env": {
      "UMAMI_URL": "https://your-umami-instance.com",
      "UMAMI_USERNAME": "your-username",
      "UMAMI_PASSWORD": "your-password"
    }
  }
}

command 필드를 사용하는 클라이언트(Claude Desktop, Cursor 등)의 경우:

{
  "mcpServers": {
    "umami": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "UMAMI_URL",
        "-e", "UMAMI_USERNAME",
        "-e", "UMAMI_PASSWORD",
        "ghcr.io/macawls/umami-mcp-server"
      ],
      "env": {
        "UMAMI_URL": "https://your-umami-instance.com",
        "UMAMI_USERNAME": "your-username",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}

사용 가능한 도구

도구

설명

get_websites

모든 웹사이트 나열 (웹사이트 ID를 얻으려면 먼저 호출하세요)

get_stats

집계된 통계 — 페이지뷰, 방문자, 이탈률, 총 시간

get_pageviews

시간 단위로 그룹화된 페이지뷰 및 세션 수

get_metrics

페이지, 리퍼러, 브라우저, OS, 기기, 국가별 분석 등

get_active

실시간 현재 활성 방문자 수

구성

환경 변수

변수

기본값

설명

UMAMI_URL

필수

Umami 인스턴스 URL

UMAMI_USERNAME

필수

Umami 사용자 이름

UMAMI_PASSWORD

필수

Umami 비밀번호

UMAMI_TEAM_ID

팀 기반 설정을 위한 팀 ID

TRANSPORT

stdio

전송 모드 (stdio 또는 http)

PORT

8080

HTTP 서버 포트

ALLOWED_ORIGINS

*

쉼표로 구분된 CORS 허용 오리진

MAX_SESSIONS

1000

최대 동시 HTTP 세션 수

설정 파일

환경 변수 대신 바이너리 옆에 config.yaml 파일을 생성하세요:

umami_url: https://your-umami-instance.com
username: your-username
password: your-password
team_id: your-team-id  # optional

환경 변수가 설정 파일보다 우선합니다.

팀 웹사이트

Umami 인스턴스가 팀을 사용하고 웹사이트가 개별 사용자가 아닌 팀에 할당된 경우, get_websites가 빈 목록을 반환할 수 있습니다. UMAMI_TEAM_ID를 설정하여 팀에서 웹사이트를 가져오세요. HTTP 전송의 경우 X-Umami-Team-Id 헤더를 사용하세요.

팀 ID는 Umami 대시보드의 설정 > 팀에서 찾을 수 있습니다.

셀프 호스팅 (HTTP 전송)

서버는 원격 배포를 위해 Streamable HTTP를 지원합니다. TRANSPORT=http를 설정하여 /mcp 엔드포인트를 노출하세요:

TRANSPORT=http PORT=9999 ./umami-mcp-server

자격 증명은 initialize 요청 시 X-Umami-* 헤더를 통해 전달됩니다. 응답에는 후속 요청을 위한 Mcp-Session-Id 헤더가 포함됩니다.

Docker는 기본적으로 HTTP 모드입니다:

docker run -p 8080:8080 ghcr.io/macawls/umami-mcp-server

소스에서 빌드

git clone https://github.com/Macawls/umami-mcp-server.git
cd umami-mcp-server
go build -o umami-mcp

문제 해결

  • macOS 바이너리가 실행되지 않음: xattr -c umami-mcp-server를 실행하여 격리 해제

  • Linux 바이너리가 실행되지 않음: chmod +x umami-mcp-server 실행

  • 연결 오류: Umami 인스턴스에 액세스할 수 있는지, 자격 증명이 올바른지 확인

  • 도구가 표시되지 않음: MCP 클라이언트 로그를 확인하고 바이너리 경로가 절대 경로인지 확인

라이선스

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

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