Matomo Mcp Server By Openmost について
Openmostのホスト型サービスを介して、Claude DesktopなどのMCP対応アシスタントをMatomo分析に接続するNode.jsクライアントです。Matomo CloudとOn-Premiseに対応し、分析ツールとプロンプトはサービス側から提供されます。
主な機能
- 01トラフィック、ページ、キャンペーン、コンバージョンの照会
- 02計測対象サイトの一覧と確認
- 03アラートとレポートへのアクセス
- 04組み込み分析プロンプトの利用
- 05ツールとプロンプト一覧のキャッシュ、失敗時の再試行
活用シーン
- 01期間を指定したサイト訪問数の比較
- 02直帰率の高いページの特定
- 03参照元とコンバージョンチャネルの確認
MCP 対応
ローカルクライアントがMCPリクエストをOpenmostのホスト型Matomo MCPサーバーに中継します。サーバーはツールとプロンプトを提供し、設定されたMatomoインスタンスをAPI経由で照会します。
詳細
Openmost Matomo MCP
Matomo アナリティクスと対話できます。 Openmost Matomo MCP は、Claude(またはMCP互換の AI アシスタント)をお使いの Matomo インスタンスに接続し、質問するだけでデータを調べたり、レポートを作成したり、インサイトを得たりできるようにします。
「先週のサイト訪問数は、その前の週と比べてどれくらいでしたか?」 「今月、直帰率が最も高いページはどれですか?」 「昨日のサイト #3 の上位リファラーを表示してください。」
👉 製品ページ:openmost.com/matomo/extensions/matomo-mcp-client
✨ Openmost Matomo MCP とは?
MCP(Model Context Protocol)は、AI アシスタントが外部のツールやデータソースを利用できるようにするオープン標準です。Openmost Matomo MCP は、Openmost が開発したホスト型 MCP サービスで、アシスタントから Matomo アナリティクスデータにアクセスできます。
- 📊 トラフィックを分析:訪問数、ページ、リファラー、キャンペーン、ゴール、コンバージョンなど。
- 🌐 サイトを管理:Matomo でトラッキングされているウェブサイトを一覧表示して調べられます。
- 🔔 アラートやレポートを利用:会話から離れずに Matomo データにアクセスできます。
- 💬 組み込みのプロンプト:役立つインサイトをすばやく得られる、すぐに使える分析テンプレートです。
- 🔄 常に最新:ツールとプロンプトは Openmost サーバーから提供されるため、お使いの環境で何も更新しなくても新機能を利用できます。
Matomo On-Premise と Matomo Cloud の両方で動作し、お使いの Matomo インスタンスと権限をそのまま利用できます。
アーキテクチャ
このサービスは、次の 2 つの部分で構成されています。
- Openmost Matomo MCP サーバー(
https://matomo-mcp.openmost.com)。Openmost がホストします。Matomo のツールとプロンプトを公開し、API を通じてお使いの Matomo インスタンスに問い合わせます。 - Matomo MCP クライアント(このリポジトリ)。お使いのマシン上で動作する軽量な Node.js プログラムです。Claude Desktop がローカルで起動し、リクエストを Openmost サーバーに中継します。
Claude Desktop ⇄ Matomo MCP client (local) ⇄ Openmost Matomo MCP server ⇄ Your Matomo
ℹ️ Matomo に代わって問い合わせを行うため、Matomo の URL と API トークンはリクエストごとに Openmost MCP サーバーへ送信されます。アシスタントがアクセスできる範囲を制限するには、表示アクセスのみを持つ Matomo ユーザーのトークンを使用してください。
✅ 必要条件
- Node.js 18 以降
- Claude Desktop(または他の MCP 互換クライアント)
- Matomo インスタンス(On-Premise または Cloud)と Matomo API トークン
- ご要望に応じてお問い合わせフォームから入手できる Openmost MCP トークン
Matomo API トークンの取得
Matomo で 管理(⚙️)→ 個人 → セキュリティ → 認証トークン に移動し、新しいトークンを作成 をクリックします。
🚀 インストール
git clone https://github.com/openmost/matomo-mcp-client
cd matomo-mcp-client
npm install
matomo-mcp-client.js の絶対パスを控えておいてください。次の手順で必要になります。
pwd
# e.g. /Users/you/matomo-mcp-client → /Users/you/matomo-mcp-client/matomo-mcp-client.js
🔧 Claude Desktop の設定
1. 設定ファイルを開く
Claude Desktop で 設定 → 開発者 → 設定を編集 に移動します。ファイルを直接開くこともできます(存在しない場合は作成してください)。
| OS | パス |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
2. MCP サーバーを追加する
{
"mcpServers": {
"openmost-matomo-mcp": {
"command": "node",
"args": [
"/absolute/path/to/matomo-mcp-client/matomo-mcp-client.js",
"--matomo-host=https://matomo.example.com",
"--matomo-token=YOUR_MATOMO_TOKEN",
"--openmost-token=YOUR_OPENMOST_TOKEN"
]
}
}
}
ファイルに他のサーバーがすでに記述されている場合は、既存の "mcpServers" オブジェクト内に "openmost-matomo-mcp" エントリを追加してください。
Windows では、パス内のバックスラッシュをエスケープしてください:"C:\\Users\\you\\matomo-mcp-client\\matomo-mcp-client.js"。
別の方法:認証情報を環境変数として渡す
{
"mcpServers": {
"openmost-matomo-mcp": {
"command": "node",
"args": ["/absolute/path/to/matomo-mcp-client/matomo-mcp-client.js"],
"env": {
"MATOMO_HOST": "https://matomo.example.com",
"MATOMO_TOKEN_AUTH": "YOUR_MATOMO_TOKEN",
"OPENMOST_MCP_TOKEN": "YOUR_OPENMOST_TOKEN"
}
}
}
}
3. Claude Desktop を再起動する
Claude Desktop を完全に終了し(ウィンドウを閉じるだけではなく)、再度開きます。
🎉 使用方法
再起動後、新しい会話を開きます。メッセージボックスのツールメニュー(🔨/コネクターアイコン)に openmost-matomo-mcp が表示されます。あとは質問するだけです。
- 「自分の Matomo サイトをすべて一覧表示してください。」
- 「サイト 1 の先月のトラフィックを要約してください。」
- 「今四半期に最も多くのコンバージョンをもたらしたマーケティングチャネルはどれですか?」
Claude が Matomo ツールを初めて使用する際に、許可を求めます。
⚙️ オプション
各オプションは、コマンドライン引数または環境変数として設定できます。コマンドライン引数が優先されます。
| 引数 | 環境変数 | デフォルト | 説明 |
|---|---|---|---|
--matomo-host=URL | MATOMO_HOST | 必須 | Matomo インスタンスの URL |
--matomo-token=… | MATOMO_TOKEN_AUTH | 必須 | Matomo API トークン |
--openmost-token=… | OPENMOST_MCP_TOKEN | 必須 | Openmost MCP 認証トークン |
--url=URL | MATOMO_MCP_SERVER_URL | https://matomo-mcp.openmost.com | Openmost MCP サーバーの URL |
--timeout=MS | REQUEST_TIMEOUT | 30000 | リクエストのタイムアウト時間(ミリ秒) |
--retry=N | RETRY_COUNT | 3 | リクエストごとの試行回数 |
--retry-delay=MS | RETRY_DELAY | 1000 | 再試行間の初期待機時間(指数バックオフ) |
--help | ヘルプを表示 |
組み込みの動作:
- キャッシュ:ツールとプロンプトの一覧は 5 分間キャッシュされます。
- 再試行:失敗したリクエストは指数バックオフで再試行されます。認証エラー(401/403)は再試行されません。
- 起動時チェック:
NODE_ENV=productionでない限り、クライアントは起動時にサーバーへの接続を確認します。
🩺 トラブルシューティング
ターミナルから設定を確認します。 問題がある場合、クライアントは具体的なエラーを表示します。
node matomo-mcp-client.js \
--matomo-host=https://matomo.example.com \
--matomo-token=YOUR_MATOMO_TOKEN \
--openmost-token=YOUR_OPENMOST_TOKEN
設定が有効な場合、クライアントが起動して MCP 接続を待機します(Ctrl+C で停止します)。
サーバーが Claude Desktop に表示されない場合
claude_desktop_config.jsonが有効な JSON であることを確認します(末尾に余分なカンマがないこと)。matomo-mcp-client.jsへのパスが絶対パスで、正しいことを確認します。- Claude Desktop を完全に終了してから、再起動したことを確認します。
spawn node ENOENT または「server disconnected」が表示される場合
Claude Desktop が Node.js を見つけられません。これは nvm、asdf、または Homebrew を使用している場合によく発生します。which node(macOS/Linux)または where node(Windows)を実行し、"/Users/you/.nvm/versions/node/v20.11.0/bin/node" のように、"command" に完全なパスを指定します。
認証エラー(401 / 403 / Invalid token) Openmost トークンを確認し、Matomo トークンが有効で、リクエストされたサイトへのアクセス権があることを確認します。
ログ クライアントはログを stderr に出力します。Claude Desktop はログを次の場所に保存します。
- macOS:
~/Library/Logs/Claude/mcp-server-openmost-matomo-mcp.log - Windows:
%APPDATA%\Claude\logs\mcp-server-openmost-matomo-mcp.log
📖 リソース
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。