Skip to main content
Glama
nivaya
by nivaya

AIツールはあなたがメッセージを送信した時間は表示しますが、ChronはAIが応答した時間も記録し、使用するすべてのツール間でのやり取りを永続的かつクエリ可能な記録として保持します。

Claude Desktop、Claude Code、Cursor、Windsurf、およびMCP互換のあらゆるAIツールで動作します。


なぜ必要なのか

AIツールはデフォルトでは監査証跡を作成しません。そのため、以下のような質問に答えることができません:

  • AIは何を、正確にいつ言ったのか?

  • AIが応答するまでにどれくらいの時間がかかったのか?

  • この出力を生成した一連の会話全体はどういうものだったか?

  • 先週、このコードベースについてClaudeに何を聞いたか?

Chronはこれを解決します。すべてのやり取りは、正確なローカル日時(タイムゾーンオフセットを含む)とともに、あなたが所有するSQLiteファイルに記録されます。クラウドは使用せず、ベンダーロックインも発生せず、データがマシンから外部へ流出することもありません。


インストール

AIツールのMCP設定に追加してください:

{
  "mcpServers": {
    "chron": {
      "command": "npx",
      "args": ["-y", "chron-mcp"]
    }
  }
}

初回実行時に ~/.chron/chron.db が自動的に作成されます。データベースのセットアップや環境変数の設定、マイグレーションは不要です。


記録される内容

すべてのやり取りは正確なローカルタイムスタンプとともに記録されます。ユーザーメッセージは受信時に、アシスタントの応答は送信時に記録されます:

[user: 2026-05-08 14:32:11 +02:00 | assistant: 2026-05-08 14:32:43 +02:00]

The main risks of deploying this contract are...

ユーザーとアシスタントのタイムスタンプの差が実際の生成時間となります。両方とも、完全なタイムゾーンオフセットとともにローカルのSQLite DBに保存されます。


ツール別の設定

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) または %APPDATA%\Claude\claude_desktop_config.json (Windows) を編集します:

{
  "mcpServers": {
    "chron": {
      "command": "npx",
      "args": ["-y", "chron-mcp"]
    }
  }
}

Claude Code

claude mcp add chron npx -y chron-mcp

次に、~/.claude/settings.json にスキルフックを追加します:

{
  "hooks": {
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "cat ~/.chron/chron.skill.md"
          }
        ]
      }
    ]
  }
}

Cursor

~/.cursor/mcp.json を編集します:

{
  "mcpServers": {
    "chron": {
      "command": "npx",
      "args": ["-y", "chron-mcp"]
    }
  }
}

Windsurf

~/.codeium/windsurf/mcp_config.json を編集します:

{
  "mcpServers": {
    "chron": {
      "command": "npx",
      "args": ["-y", "chron-mcp"]
    }
  }
}

コンパニオン・スキルファイル

Chronには skills/chron.skill.md が同梱されています。これは、AIにMCPツールの自動的な使用方法を指示するプレーンテキストの命令ファイルです。AIツールに一度読み込ませれば、その後AIは以下の動作を行います:

  1. すべての会話の開始時に、名前付きセッションを作成または再開する

  2. 応答を開始する前にメッセージを記録する(実際のユーザータイムスタンプをキャプチャ)

  3. 応答を作成した後にその応答を記録する(実際のAIのタイムスタンプをキャプチャ)

  4. すべての応答の先頭に [user: YYYY-MM-DD HH:MM:SS ±HH:MM | assistant: YYYY-MM-DD HH:MM:SS ±HH:MM] を表示する

  5. 以前のセッション履歴を取得し、会話をまたいでもコンテキストが失われないようにする


MCPツール

ツール

説明

start_session

名前付き監査セッションを作成または再開する

log_message

現在のローカル日時で単一のメッセージを記録する

log_exchange

ユーザーとアシスタントのペアをアトミックに記録する(バッチインポート用)

list_sessions

最近アクティブになった順にすべてのセッションを一覧表示する

get_session_history

セッションの完全なタイムスタンプ付きログを取得する


設定

環境変数

デフォルト

説明

CHRON_DB_PATH

~/.chron/chron.db

SQLiteデータベースファイルへのパス

CHRON_TRANSPORT

stdio

HTTP+SSEモードを有効にするには http に設定

CHRON_API_KEY

(なし)

HTTPモード用のBearerトークン

PORT

3001

HTTPモード用のポート


HTTP+SSEモード(チーム/セルフホスト用)

チーム利用やリモート利用のために、ChronをHTTPサーバーとして実行します:

CHRON_TRANSPORT=http CHRON_API_KEY=your-key PORT=3001 npx chron-mcp

MCP設定でそのURLを指定します:

{
  "mcpServers": {
    "chron": {
      "url": "https://your-server/mcp",
      "headers": {
        "Authorization": "Bearer your-key"
      }
    }
  }
}

あなたのデータ

監査ログは ~/.chron/chron.db に保存されます。これはマシン上の単一のSQLiteファイルです。任意のSQLiteツールで直接クエリを実行できます:

sqlite3 ~/.chron/chron.db \
  "SELECT s.title, m.role, m.content, m.created_at
   FROM messages m JOIN sessions s ON s.id = m.session_id
   ORDER BY m.created_at"

クラウドやテレメトリは一切なく、データがマシンから外部へ流出することもありません。CHRON_DB_PATH で場所を変更可能です。


ライセンス

Copyright (c) 2026 Nivaya. All rights reserved.

ソースコードは透明性を確保するために公開されています。明示的な書面による許可なしに、複製、フォーク、改変、再配布を行うことは許可されていません。完全な条件については LICENSE を参照してください。

Related MCP Connectors