Matomo-MCP
matomo-mcp
Matomo Analytics와 대화하세요. Claude, Cursor, VS Code 또는 모든 MCP 클라이언트에서 사용할 수 있습니다.
15개의 엄선된 읽기 전용 분석 도구 + 전체 API 탈출구. 단일 바이너리, 즉시 시작, 컨텍스트 친화적.
빠른 시작 · 클라이언트 연결 · 도구 · 구성 · FAQ
You ▸ How was traffic yesterday, and where did it come from?
Claude ▸ Yesterday you had 14,472 visits (11,416 unique visitors, 66% bounce rate).
Top acquisition channels:
1. Organic search — 6,120 visits (Google 92%)
2. Direct — 4,890 visits
3. AI assistants — 1,204 visits (↑ 31% vs. last week)
Want me to break down which landing pages converted best?Matomo 대시보드가 답할 수 있는 모든 질문에 이제 AI 어시스턴트도 답할 수 있습니다 — 후속 질문, 비교, "왜?"까지 포함해서요.
✨ 왜 matomo-mcp인가?
🎯 생성된 것이 아니라 엄선된 | 실제 분석 질문을 모델로 한 15개의 수작업 도구 — 모델의 컨텍스트를 넘치게 하고 도구 선택을 저하시키는 70개 이상의 자동 생성 API 미러가 아닙니다. |
⚡ 즉시 시작 | 인트로스펙션 왕복 없음. 단일 정적 바이너리, Node 없음, Python 없음, 런타임 없음. 밀리초 단위로 시작됩니다. |
🔒 기본적으로 안전 | 읽기 전용 보고 도구. 토큰은 POST로만 전송(URL/로그에 절대 노출되지 않음), 모든 오류에서 삭제됨. TLS 검증 기본 활성화. |
🧠 컨텍스트 친화적 | 모든 보고서에 행 제한과 실행 가능한 안내가 포함된 하드 응답 예산 — 한 번의 도구 호출로 컨텍스트 창이 폭발하지 않습니다. |
📡 실시간 포함 | 실시간 방문자 카운터와 방문 로그( |
🧰 결코 가둬두지 않음 |
|
🔁 탄력적 | 429/5xx/네트워크 문제 시 백오프를 포함한 자동 재시도. 모델이 실행할 수 있는 유용하고 힌트가 주석으로 달린 오류 메시지. |
Related MCP server: mcp-server-wazuh
🚀 빠른 시작
1. 설치
사전 빌드된 바이너리 (Linux, macOS, Windows) — Releases에서 받거나:
# Cargo
cargo install matomo-mcp
# From source
cargo install --git https://github.com/Liohtml/matomo-mcp
# Docker
docker pull ghcr.io/liohtml/matomo-mcp2. Matomo API 토큰 받기
Matomo → 설정 (⚙) → 개인 → 보안 → 인증 토큰 → 새 토큰 만들기. 보기 전용 권한만 있으면 충분합니다.
3. 연결 확인
matomo-mcp --url https://your-matomo.example.com --token YOUR_TOKEN --check✓ Connected — Matomo version 5.2.1
✓ Token grants access to 3 site(s):
#1 My Shop (https://shop.example.com)
#2 Blog (https://blog.example.com)
#3 Docs (https://docs.example.com)4. 클라이언트 연결 ⬇
🔌 클라이언트 연결
claude mcp add matomo \
--env MATOMO_URL=https://your-matomo.example.com \
--env MATOMO_TOKEN=YOUR_TOKEN \
--env MATOMO_DEFAULT_SITE_ID=1 \
-- matomo-mcpclaude_desktop_config.json에 추가하세요 (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"matomo": {
"command": "matomo-mcp",
"env": {
"MATOMO_URL": "https://your-matomo.example.com",
"MATOMO_TOKEN": "YOUR_TOKEN",
"MATOMO_DEFAULT_SITE_ID": "1"
}
}
}
}.cursor/mcp.json (프로젝트) 또는 ~/.cursor/mcp.json (전역):
{
"mcpServers": {
"matomo": {
"command": "matomo-mcp",
"env": {
"MATOMO_URL": "https://your-matomo.example.com",
"MATOMO_TOKEN": "YOUR_TOKEN",
"MATOMO_DEFAULT_SITE_ID": "1"
}
}
}
}.vscode/mcp.json:
{
"servers": {
"matomo": {
"type": "stdio",
"command": "matomo-mcp",
"env": {
"MATOMO_URL": "https://your-matomo.example.com",
"MATOMO_TOKEN": "${input:matomo-token}",
"MATOMO_DEFAULT_SITE_ID": "1"
}
}
},
"inputs": [
{
"id": "matomo-token",
"type": "promptString",
"description": "Matomo API token",
"password": true
}
]
}stdio를 통해 MCP를 지원하는 모든 클라이언트는 일반적인 형태로 작동합니다:
{
"command": "matomo-mcp",
"args": [],
"env": {
"MATOMO_URL": "https://your-matomo.example.com",
"MATOMO_TOKEN": "YOUR_TOKEN",
"MATOMO_DEFAULT_SITE_ID": "1"
}
}{
"mcpServers": {
"matomo": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "MATOMO_URL", "-e", "MATOMO_TOKEN", "-e", "MATOMO_DEFAULT_SITE_ID",
"ghcr.io/liohtml/matomo-mcp"
],
"env": {
"MATOMO_URL": "https://your-matomo.example.com",
"MATOMO_TOKEN": "YOUR_TOKEN",
"MATOMO_DEFAULT_SITE_ID": "1"
}
}
}
}서버를 한 번 실행하고 (워크스테이션, LAN 박스 또는 컨테이너에서) 여러 MCP 클라이언트를 연결하세요:
matomo-mcp --url https://your-matomo.example.com --token YOUR_TOKEN --http 127.0.0.1:8080클라이언트는 streamable HTTP 전송으로 http://127.0.0.1:8080/mcp에 연결합니다. 예:
claude mcp add --transport http matomo http://127.0.0.1:8080/mcp[!WARNING] HTTP 엔드포인트에는 기본 인증이 없습니다.
127.0.0.1에 바인딩하거나, localhost 밖으로 노출하기 전에 인증(또는 방화벽)이 있는 리버스 프록시를 앞에 두세요.
[!TIP]
MATOMO_DEFAULT_SITE_ID를 설정하면 모델이 어떤 사이트를 의미하는지 물어볼 필요가 없습니다. 토큰이 없나요? 공개 데모로 시도해 보세요:--url https://demo.matomo.cloud --default-site-id 1(토큰 불필요).
🧭 도구
도구 | 답할 수 있는 질문 예시 |
| "우리가 추적하는 사이트는 무엇인가요?" |
| "지난주에 트래픽이 얼마나 있었나요?" |
| "상위 페이지는 무엇인가요? 사람들은 어디서 이탈하나요?" |
| "방문자는 어디에서 오나요? 어떤 캠페인이 효과가 있나요? AI 어시스턴트가 보내는 트래픽은?" |
| "구성 도구가 얼마나 자주 열렸나요?" |
| "목표별 전환율은 어떻게 되나요?" |
| "이번 달 수익은? 베스트셀러 제품은?" |
| "방문자는 어떤 국가/도시에서 오나요?" |
| "모바일 vs 데스크톱? 어떤 브라우저?" |
| "하루/주 중 언제 방문하나요?" |
| "사람들이 우리 사이트에서 무엇을 검색하나요 — 그리고 결과가 없는 것은?" |
| "지금 사이트에 누가 있나요?" |
| "어떤 페이지가 느리게 로드되나요?" |
| "어떤 배포나 캠페인 출시가 그 트래픽 급증과 일치하나요?" |
| 그 외 모든 것 — 퍼널, 히트맵, 커스텀 차원, Reporting API의 모든 |
모든 도구는 site_id, period (day/week/month/year/range), date
(today, yesterday, 2026-07-01, last30 또는 start,end 범위), 선택적
segment (예: deviceType==mobile;country==DE) 및 행 limit을 허용합니다.
시도해 볼 프롬프트
"이번 주 트래픽을 지난주와 비교해 주세요 — 무엇이 바뀌었고 왜 그런가요?"
"이번 달 전환 기준 상위 10개 랜딩 페이지와 이탈률을 알려주세요."
"ChatGPT나 Perplexity에서 트래픽이 오고 있나요? 3개월 추세를 보여주세요."
"결과가 없는 내부 검색은 무엇인가요? 우리가 만들어야 할 콘텐츠를 제안해 주세요."
"지금 방문자 로그에 특이한 점이 있나요?"
⚙️ 구성
플래그 | 환경 변수 | 기본값 | 설명 |
|
| — | Matomo 인스턴스 URL (하위 디렉터리 설치 |
|
| — | API 토큰 ( |
|
| — | 모델이 사이트를 지정하지 않을 때 사용되는 사이트 |
|
| — | 추가 HTTP 헤더 ( |
|
|
| 요청당 타임아웃 |
|
|
| 잘림 전 응답 예산 |
|
| — | stdio 대신 이 주소에서 streamable HTTP로 MCP 제공 (엔드포인트: |
|
|
| 자체 서명 TLS 인증서 허용 (명시적 옵트인) |
| — | — | URL + 토큰 + 사이트 접근 확인 후 종료 |
🆚 FGRibreau/mcp-matomo와 어떻게 다른가요?
mcp-matomo (이 프로젝트에 영감을 준 프로젝트 — 감사합니다! 🙏)는 시작 시 Matomo 인스턴스를 인트로스펙션하고 API 메서드당 하나의 MCP 도구를 생성합니다. matomo-mcp는 반대 접근 방식을 취합니다:
matomo-mcp | mcp-matomo | |
도구 세트 | 15개의 엄선된 도구 + 탈출구 | ~70개 이상의 생성된 도구 |
모델 컨텍스트 비용 | 작고 안정적 | 크고 인스턴스에 따라 다름 |
매개변수 유형 | 정확하고 수작업으로 작성된 열거형/기본값 | 매개변수 이름에서 유추 |
시작 | 즉시 (네트워크 I/O 없음) | 인트로스펙션 왕복 (또는 캐시된 스펙 파일) |
TLS 검증 | 기본 활성화 | 인트로스펙션에 대해 비활성화 |
하위 디렉터리 설치 | ✅ | 경로가 덮어써짐 |
응답 크기 가드 | 행 제한 + 하드 예산 | — |
일시적 오류 시 재시도 | ✅ | — |
실시간 (Live) 도구 | ✅ | — (보고 메타데이터의 일부가 아님) |
모든 API 메서드를 별도의 도구로 원한다면 mcp-matomo를 사용하세요. 모델이 올바른 도구를 안정적으로 선택하고 컨텍스트를 넘치지 않게 하려면 matomo-mcp를 사용하세요.
🩺 문제 해결
--default-site-id 1을 전달하거나(권장), 모델이 먼저 matomo_list_sites를 호출하게 하세요.
matomo-mcp --url ... --token ... --check를 실행하세요. 실패하면: 토큰을 재생성하고(Settings → Personal → Security), 사이트에 대해 최소 view 권한이 있는지 확인하세요.
MATOMO_URL은 Matomo 루트 — index.php가 포함된 폴더를 가리켜야 합니다. https://example.com/matomo/index.php의 경우 https://example.com/matomo/를 사용하세요.
우회 헤더를 주입하세요: --header "CF-Access-Client-Id:..." --header "CF-Access-Client-Secret:..." (또는 MATOMO_EXTRA_HEADERS를 통해).
컨텍스트 가드가 제 역할을 하고 있는 것입니다. 더 적은 행 수, 더 짧은 날짜 범위를 요청하거나 --max-response-chars를 높이세요.
🗺️ 로드맵
Streamable HTTP 전송 (
--http, 한 번 호스팅하고 여러 클라이언트 연결)matomo_annotations— 배포 마커를 트래픽과 읽고 상호 연관시키기다중 인스턴스 지원(하나의 서버, 여러 Matomo 설치)
Homebrew tap 및 winget 매니페스트
MCP 레지스트리 등재(공식 레지스트리 via
server.json, Glama)
이 중 하나가 더 빨리 필요하신가요? 이슈 열기 — 또는 PR, CONTRIBUTING.md를 참조하세요.
🛠️ 개발
cargo test # 37 tests, fully offline (wiremock)
cargo clippy --all-targets -- -D warnings
cargo run -- --url https://demo.matomo.cloud --default-site-id 1 --check아키텍처 및 설계 결정: docs/ARCHITECTURE.md.
📄 라이선스 및 크레딧
MIT. Matomo와 제휴하거나 보증하지 않습니다 — Matomo는 InnoCraft Ltd.의 등록 상표입니다.
rmcp, 공식 Rust MCP SDK로 제작되었습니다. FGRibreau/mcp-matomo에서 영감을 받았습니다.
MCP 레지스트리 이름:
mcp-name: io.github.Liohtml/matomo-mcp
matomo-mcp가 대시보드 방문을 줄여준다면, ⭐ 하나가 다른 사람들이 찾는 데 도움이 됩니다.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceMCP Server for Nutanix Prism Central14MIT
- MIT
- AlicenseBqualityBmaintenanceMCP Server for Apache Pinot1417Apache 2.0
- -licenseNot gradedqualityNot gradedmaintenanceEnables AI models to interact with Matomo analytics through a complete MCP server implementation. Provides tools for retrieving analytics data, managing sites, and generating reports with zero configuration setup.
Related MCP Connectors
MCP server for Tinify image optimization — one tool, max optimization
MCP Server for agents to onboard, pay, and provision services autonomously with InFlow
MCP server for Blockscout
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Liohtml/matomo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server