Slimlytics について
Slimlyticsは、サイト運営者向けのCookieを使わないウェブ解析サービスで、ホスト型とセルフホスト型を選べます。リモートMCPサーバーを通じて、AIコーディングエージェントがサイト作成やトラッキング設定、動作確認を行えます。
主な機能
- 01リアルタイムの訪問者状況
- 02レポートとCSVエクスポート
- 03目標、ファネル、アトリビューション
- 04ファーストパーティ配信のプロキシ設定
- 05ホスト型とセルフホスト型の選択
活用シーン
- 01リアルタイムの訪問と流入元の確認
- 02キャンペーンやページの成果分析
- 03AIコーディングエージェントによる計測設定
MCP 対応
リモートMCPサーバーは、MCPクライアントによるサイト作成、計測設定、ページビュー受信の確認を可能にします。ブラウザーOAuthを使用します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://slimlytics.com/api/mcpclaude mcp add --transport http djedi-slimlytics https://slimlytics.com/api/mcp{"mcpServers":{"djedi-slimlytics":{"type":"http","url":"https://slimlytics.com/api/mcp"}}}Cursor で開く{"servers":{"djedi-slimlytics":{"type":"http","url":"https://slimlytics.com/api/mcp"}}}VS Code で開く{"mcpServers":{"djedi-slimlytics":{"type":"http","url":"https://slimlytics.com/api/mcp"}}}{"mcpServers":{"djedi-slimlytics":{"serverUrl":"https://slimlytics.com/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Slimlytics
プライバシーを守るリアルタイムのウェブ分析。効果のあるものを把握し、不要な情報は省きます。
ウェブサイト · 無料で始める(ホスト型) · 料金 · ドキュメント · エージェントのセットアップ · プライバシーモデル
Slimlytics を使うと、Cookie、フィンガープリント、セッションリプレイを使わずに、今サイトを訪れている人、その流入元、訪問者の行動を確認できます。小さなファーストパーティスクリプト、すっきりとしたダッシュボード、リアルタイムの訪問者ストリームを備えています。AI コーディングエージェントにインストールを任せることもできます。
製品をお探しですか? slimlytics.com をご覧ください。Slimlytics を使うために、このリポジトリをクローンする必要はありません。ホスト型バージョンには無料プランがあり、セットアップは約1分で完了します。
ホスト型またはセルフホスト型:お好きな方を
どのプランでも、すべての機能を利用できます。ニーズに合ったものをお選びください。
| Slimlytics Cloud(ホスト型) | セルフホスト型(このリポジトリ) | |
|---|---|---|
| おすすめの対象 | 分析機能を使いたい方。管理するサーバーを増やしたくない方 | インフラを完全に管理したいチーム |
| セットアップ | アカウントを作成し、スクリプトタグを1つ貼り付けます | Docker Compose、PostgreSQL、Caddy |
| サーバー、アップグレード、TLS、GeoIP データ | こちらで対応します | ご自身で管理します |
| 費用 | 1サイト向けの無料プランあり。有料プランは月額7ドルから | 0ドル。サイト数、ページビュー数ともに無制限 |
| サポート | プランに応じて、コミュニティ、メール、優先メール | コミュニティ |
| 始め方 | 無料アカウントを作成 | 下記のクイックスタート |
プランの上限と現在の料金は料金ページをご覧ください。
Slimlytics が選ばれる理由
- デフォルトでプライバシーを保護。 トラッキング Cookie、サイト横断プロファイル、フォームの取得はありません。機密性の高いクエリパラメーターは保存前に削除し、Do Not Track と Global Privacy Control にも対応しています。
- リアルタイムの訪問者監視。 訪問者がサイトに到着し、サイト内を移動する様子をリアルタイムで確認できます。
- 重要なレポート。 ページ、リファラー、国、デバイス、キャンペーン、訪問者、カスタムイベントをランキング表示でき、CSV にエクスポートできます。
- 目標とマーケティングインサイト。 目標、UTM アトリビューション、ジャーニー、シーケンシャルファネル、収益、異常、AI からの参照、クローラーに対応しています。また、オプションで Google Search Console と同期し、クエリ、ページ、国、デバイスをダッシュボードで確認できます。Slimlytics はサイトの Search Console プロパティの追加と DNS 検証を代行できます。
- ファーストパーティ配信。 Caddy、Nginx、Apache 用に生成されたルートを使い、トラッカーを独自ドメインから配信できます。広告ブロッカーによる遮断を減らせます。
- エージェントネイティブ。 ブラウザー OAuth に対応したリモート MCP サーバーを使えば、Claude Code、Codex、Hermes、その他の MCP クライアントでサイトの作成、トラッキングの設定、動作確認ができます。
- 高速で軽量。 Rust API、PostgreSQL、ライト、ダーク、システムのテーマに対応した Svelte ダッシュボードを採用しています。
AI エージェントにインストールを任せる
コーディングエージェントをホスト型 MCP サーバーに一度接続したら、分析機能のセットアップを依頼できます。
claude mcp add --transport http slimlytics https://slimlytics.com/api/mcp
> Set up Slimlytics for https://shop.example.com behind Nginx and verify it.
エージェントがサイトを作成し、ファーストパーティプロキシのルートとスクリプトタグを追加して、最初のページビューが記録されたことを確認します。Codex と Hermes の手順はエージェントガイド(リポジトリ内のコピー:docs/MCP.md)をご覧ください。スコープを指定できる個人用トークンと REST API にも対応しています。
セルフホストと開発
以下は、独自のインスタンスを実行する場合、または開発に貢献する場合の手順です。分析機能を使いたいだけの場合は、Slimlytics Cloud の方が手軽です。
機能の詳細
- 書き込みキー、オリジン、タイムゾーン、データ保持設定がそれぞれ独立した複数サイト
- 28日間の概要カードと比較指標
- Server-Sent Events による Spy アクティビティのリアルタイム表示
- ページ、リファラー、国、デバイス、キャンペーン、訪問者、カスタムイベント
- 標準的な UTM アトリビューションと基本的な目標
- CSV エクスポート
- デフォルトで Cookie を使用しないトラッキング
- クローラーの製品名、および公開されている Google、Meta、Bing のクローラーネットワークによるボットのフィルタリング
- Cookie を使わず、ブラウザーごとに「自分の訪問を無視する」オプトアウトリンクを提供
- 機密性の高いクエリパラメーターのマスキングと、フォームデータの取得なし
- 誤ってブロックされるのを減らす、ファーストパーティトラッカーの配信
- Clicky 形式のファーストパーティプロキシ設定。サイトごとのパス、Caddy/Nginx/Apache の設定、テストリンクに対応
- ライト、ダーク、システムのテーマに対応したレスポンシブな Svelte インターフェース
- PostgreSQL と Caddy を使った Docker Compose デプロイ
アーキテクチャ
Browser tracker ──POST──▶ Rust/Axum API ──▶ PostgreSQL
│
Dashboard ◀── JSON + SSE ─────┘
▲
└──────── Caddy ──────── Internet
backend/— Axum、Tokio、SQLx、PostgreSQLfrontend/— Svelte 5、SvelteKit、TypeScripttracker/— フレームワークに依存しない TypeScript トラッカーcli/— アカウント、サイト、トラッキング設定の自動化に使えるインストール可能な Rust CLImigrations/— PostgreSQL スキーマdocker/— 本番環境のコンテナー定義とリバースプロキシscripts/— 検証済みのバックアップと、保護機能付きの復元ツール
セルフホストのクイックスタート
必要条件:Compose v2 以降を備えた Docker。サーバーを運用したくない場合は、Slimlytics Cloud を無料で始められます。
データベース、JWT、訪問者ハッシュ用の独立したランダムシークレットを含む、プライベートな .env を生成します。
./scripts/generate-env.sh
起動する前に、生成された URL とデプロイ設定を確認してください。このスクリプトは、既存の .env を上書きしません。
次に、スタックを起動します。
make up
docker compose ps
curl --fail http://localhost:8080/health
http://localhost:8080 を開くと、公開マーケティングサイトが表示されます。/register でアカウントを作成(または /login でサインイン)し、ダッシュボードの /app でサイトを追加して、生成されたトラッキングスニペットをコピーします。料金ページとプライバシーページは、それぞれ /pricing と /privacy にあります。デフォルトのリスナーは意図的にループバックのみで待ち受ける設定になっており、ローカル利用または既存の TLS リバースプロキシに適しています。
このスタック自体で TLS を終端する公開 VPS では、ホストを DNS に設定し、.env で SLIMLYTICS_DOMAIN と ACME_EMAIL を設定してから、次を実行します。
docker compose -f compose.yaml -f compose.production.yaml up -d --build
本番用オーバーレイはポート 80/443 を公開し、自動 HTTPS を有効化して、Caddy の証明書を永続化し、アプリケーションのオリジンを設定します。ベースの HTTP スタックをインターネットに直接公開しないでください。
ローカル開発
必要条件:
- Rust 1.97.1(
rust-toolchain.tomlで固定) - Node.js 24+
- PostgreSQL 16+
make setup
make test
make check
make build
ライブリロードを使った Docker
make dev # http://localhost:8080
make dev-logs # follow frontend and backend output
make down
make dev は通常のスタックに compose.dev.yaml を重ねます。Svelte の変更は Caddy 経由でブラウザーにホットリロードされます。バックエンドのソース、Cargo.toml/Cargo.lock、build.rs、マイグレーション、docs/openapi.json の変更があると、API は自動で再ビルドされて再起動します。初回のバックエンドビルドではすべての依存関係をコンパイルするため、数分かかります。以降のビルドは差分ビルドです。変更が検出されない場合(一部のネットワークまたは VM のファイルシステムで発生します)は、.env で VITE_WATCH_POLLING=true を設定してください。本番環境に近いイメージに戻すには、make up を実行します。
訪問者の位置情報
make geoip は無料の DB-IP City Lite データベース(CC BY 4.0、アカウント不要)をダウンロードして data/geoip/ に保存し、Compose がバックエンドにマウントします。位置情報の検索はローカルで行われるため、訪問者の IP アドレスが第三者に送信されることはありません。本番環境では、毎月データベースを更新します。ファイルがない場合、位置情報機能は無効になります。ローカルからのリクエストはプライベートな Docker アドレスから届くため、位置情報を取得できません。デプロイ環境でテストするか、cargo test --test enrichment -- --ignored を実行してください(GEOIP_TEST_DATABASE を設定してください)。TRUST_PROXY=true の場合は、信頼された Cloudflare の位置情報ヘッダーが優先されます。
実際のアカウントでローカルテストする
make sync-account は、リモートデプロイ環境からローカルの Docker データベースにアカウントを 1 つコピーします。これにより、同じメールアドレスとパスワードでローカルにサインインし、同じサイトや分析データを確認できます。.env で SYNC_SOURCE_SSH、SYNC_SOURCE_PATH、SYNC_SOURCE_COMPOSE_FILES、SYNC_EMAIL、必要に応じて SYNC_EVENT_DAYS を設定してください(.env.example を参照)。リモート側のデータベースは読み取りのみです。ローカルでは、そのアカウントとサイトが置き換えられます。同じドメインのローカルサイトも置き換えられます。ほかのユーザー、API トークン、OAuth の状態、Search Console の接続はコピーされず、レポートのサブスクリプションは無効な状態で取り込まれます。両方のデータベースで同じマイグレーションが適用されている必要があります。
Docker を使わない場合
必要に応じて Docker で PostgreSQL を起動し、API と Svelte の開発サーバーを個別に実行します。
docker compose up -d db
export DATABASE_URL='postgres://slimlytics:YOUR_PASSWORD@localhost:5432/slimlytics'
cargo run --manifest-path backend/Cargo.toml
npm --prefix frontend run dev
トラッカー
ダッシュボードは、ランダムで編集可能なファーストパーティパスと、それに対応する Caddy、Nginx、Apache の設定を生成します。そのサーバー設定をインストールした後は、計測対象のサイトに同一オリジンのスニペットを追加するだけです。
<script async src="/456bbb63bb86.js"></script>
生成された JavaScript パスは、そのサイト専用の正確なビーコンパスで初期化されたトラッカー全体を返します。生成されたテストリンクを使うと、偽の分析イベントを挿入せずに両方のルートを検証できます。docs/FIRST_PARTY_PROXY.md を参照してください。
トラッカーがフォームの値を取得することはありません。Cookie を使わないトラッキング、Do Not Track、Global Privacy Control の動作については、docs/PRIVACY.md で説明しています。
Rust CLI と AI エージェント
Rust の Cargo を使って slimlytics バイナリをインストールします。
cargo install --locked --git https://github.com/djedi/slimlytics --tag cli-v0.2.0 slimlytics-cli
slimlytics auth login --email [email protected]
ログインすると、有効期限付きで取り消し可能な個人用 API トークンに、短時間有効なパスワードセッションが交換されます。認証情報ファイルは、オペレーティングシステムのプライベートな設定ディレクトリに 0600 の権限で保存されます。自動化では、ファイルを書き込まずに SLIMLYTICS_TOKEN を指定することもできます。
AI エージェント向けの冪等なコマンドを実行すると、ドメインを作成または再利用し、完全なサーバー設定、同一オリジンのスニペット、テスト URL を返します。
slimlytics --json site ensure example.com --server caddy
公開ガイドの全文は https://slimlytics.com/docs/cli で確認できます。docs/CLI.md はリポジトリ内のコピーです。インタラクティブな Scalar API リファレンスは https://slimlytics.com/api/docs にあり、ダウンロード可能な OpenAPI 3.1 ドキュメント https://slimlytics.com/api/openapi.json に基づいています。
運用
本番リリースには、ガード付きデプロイスクリプトを使用します。
make deploy
このスクリプトを実行するには、HEAD がすでに origin/main にプッシュされている、クリーンな main ブランチが必要です。専用の slimdeploy アカウントを介して接続し、同期前に正規パスとリポジトリのセンチネルを検証します。また、ロックファイルでバージョンが固定された OpenAPI バリデーターを使用して、ローカルのテスト、チェック、ビルド一式を実行します。検証済みの PostgreSQL バックアップとソースのロールバック用スナップショットを作成し、本番の .env とバックアップを保持しながらソースを同期します。さらに、本番用の compose.proxy.yaml オーバーレイを適用した compose.yaml を使用し、ヘルス、レディネス、正確な OpenAPI コントラクト、リダイレクトの動作、デプロイされた Scalar のスタイルシートを検証します。デプロイに失敗した場合は、以前のソーススナップショットを自動的に復元し、Compose を再適用して、サービスが正常になるまで待機します。
手動バックアップとガード付き復元も引き続き利用できます。
./scripts/backup.sh
./scripts/restore.sh backups/slimlytics-YYYYMMDDTHHMMSSZ.sql.gz
バックアップは gzip 形式で検証されます。復元するには RESTORE と入力する必要があり、PostgreSQL は ON_ERROR_STOP を指定して実行されます。
アップグレードする前に:
- バックアップを実行し、検証します。
- 使用するリリースタグを取得します。
docker compose buildを実行します。docker compose up -dを実行します。/health、/ready、ダッシュボード、テストデータの取り込みを検証します。
マイグレーションに後方互換性がない場合は、以前のタグをチェックアウトし、アップグレード前のバックアップを復元してロールバックします。
管理ポータル
/admin では、アカウント、そのサイト、デバイス、パスキーを一覧表示し、アカウントをサインアウトさせたり、無効化、有効化、削除したりできます。すべての操作は監査ログに記録されます。デプロイメントディレクトリからアクセス権を付与してください。
scripts/admin-grant.sh [email protected] # make an admin
scripts/admin-grant.sh [email protected] --revoke # remove admin access
管理者は Account security(/account)でパスキーを追加する必要があります。その後、ポータルでは、過去12時間以内にそのパスキーで認証されたセッションが求められます。すべてのパスキーを紛失した場合は、本人確認を行い、scripts/passkey-reset.sh EMAIL を実行してください。これにより、パスワードでサインインして新しいパスキーを追加できるようになります。
セキュリティ
.envをコミットしないでください。JWT_SECRETとVISITOR_HASH_SECRETには、それぞれ32バイト以上の一意な値を使用してください。- 検証済みの本番用 Compose オーバーレイ、または信頼できる別の TLS リバースプロキシを使用してください。ログインや分析のトラフィックを、暗号化されていない HTTP で公開しないでください。
- PostgreSQL は非公開にしてください。Compose ではポートを公開しません。
- 各サイトで許可するオリジンを必要なものに限定してください。
- 情報漏えいが疑われる場合は、サイトの書き込みキーとアプリケーションシークレットをローテーションしてください。
報告方法とデプロイメントのガイダンスについては、SECURITY.md を参照してください。
ドキュメント
docs/IMPLEMENTATION_PLAN.mddocs/ARCHITECTURE.mddocs/REQUIREMENTS.mddocs/API.mddocs/openapi.jsondocs/PRIVACY.mddocs/PERFORMANCE.mddocs/FIRST_PARTY_PROXY.mddocs/SERVER_INGESTION.mddocs/CLI.mddocs/MCP.mddocs/AGENT_INTEGRATION.mddocs/MIGRATION.mddocs/OPERATIONS.mddocs/BILLING.md
プロジェクトの状況
現在のリリースには、収集診断、マーケティングインサイト、逐次ファネル、Search Console 同期、エージェント向けのスコープ付き REST/MCP アクセスが含まれています。リテンションコホート、ヒートマップ、稼働時間モニタリング、通知のスケジュール配信、ホワイトラベル化、プラグインマーケットプレイスは、今後の機能として予定されています。
コントリビューション
Issue やプルリクエストを歓迎します。開発の進め方とプライバシーレビューチェックリストについては CONTRIBUTING.md を、脆弱性を非公開で報告する方法については SECURITY.md をお読みください。
このコードベースは、以前の Slimlytics プロジェクトを一から書き直したものです。
ライセンス
Slimlytics は、GNU Affero General Public License v3.0 のもとで公開されているオープンソースソフトウェアです。自由に実行、調査、変更、セルフホストできます。変更版をネットワークサービスとして他者に提供する場合、AGPL により、変更したソースコードをその利用者に公開する必要があります。
他のプロジェクトへの組み込みを想定した以下の2つのコンポーネントには、代わりに寛容な MIT License が適用されます。
tracker/:ウェブサイト上で動作するブラウザートラッカースクリプト(tracker/LICENSE)cli/:slimlyticsコマンドラインツール(cli/LICENSE)
1分でお試しください: slimlytics.com。無料のホスティングプランをご利用いただけます。カード登録は不要です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
