Skip to main content
Glama

Инструменты ИИ показывают, когда вы отправили сообщение. Chron также фиксирует, когда ИИ ответил, и ведет постоянный, доступный для запросов журнал каждого обмена данными во всех используемых вами инструментах.

Работает с Claude Desktop, Claude Code, Cursor, Windsurf и любым инструментом ИИ, совместимым с MCP.


Зачем это нужно

Инструменты ИИ по умолчанию не создают аудиторский след. Вы не можете ответить на вопросы:

  • Что именно сказал ИИ и когда?

  • Сколько времени потребовалось ИИ для ответа?

  • Каким был полный диалог, приведший к этому результату?

  • О чем я спрашивал Claude на прошлой неделе по поводу этой кодовой базы?

Chron решает эту проблему. Каждый обмен данными записывается с точной локальной датой и временем (включая смещение часового пояса) в файл SQLite, который принадлежит вам. Никакого облака, никакой привязки к поставщику, никакие данные не покидают ваш компьютер.


Related MCP server: chron

Установка

Добавьте в конфигурацию 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 с полным смещением часового пояса.


Настройка по инструментам

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 — текстовым файлом инструкций, который объясняет ИИ, как автоматически использовать инструменты MCP. Загрузите его в свой инструмент ИИ один раз. После этого ИИ:

  1. Создает или возобновляет именованный сеанс в начале каждой беседы

  2. Записывает ваше сообщение перед началом ответа (фиксирует реальную временную метку пользователя)

  3. Записывает свой ответ после его составления (фиксирует реальную временную метку помощника)

  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 для включения режима HTTP+SSE

CHRON_API_KEY

(нет)

Токен Bearer для режима HTTP

PORT

3001

Порт для режима HTTP


Режим HTTP+SSE (командный / самохостинг)

Для команд или удаленного использования запустите Chron как HTTP-сервер:

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

Укажите URL в вашей конфигурации MCP:

{
  "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. Все права защищены.

Исходный код является публичным только для прозрачности. Клонирование, создание форков, модификация и распространение не допускаются без явного письменного разрешения. Полные условия см. в LICENSE.

Available Tools

6 tools
get_session_historyA

Retrieve the full timestamped audit log for a session, oldest first.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
limitNoReturn only the most recent N messages

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behaviors. The description implies read-only but does not mention authentication, error handling, or side effects. Inconsistency arises with the limit parameter's description ('most recent N') contradicting the main description's 'full' and 'oldest first'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 12 words, front-loading the core action and resource. No unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is adequate given low complexity, but lacks details on return format (structure of audit log entries), behavior when limit is used (order), error handling, and pagination. No output schema further heightens the need for these details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (only limit has a description). The main description does not clarify the session_id parameter beyond its type, and the limit parameter's description ('most recent N') contradicts the main description's 'full' and 'oldest first', causing confusion.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Retrieve' and the resource 'full timestamped audit log for a session', with ordering 'oldest first'. It distinguishes from sibling tools like log_exchange (logging) or list_sessions (listing sessions).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (to retrieve history of a session). However, it does not explicitly exclude alternative uses or mention when not to use it, such as if a more filtered query is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_sessionsA

List all audit sessions ordered by most recently active. Returns id, title, ai_tool, message_count, created_at, updated_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoReturn only the most recent N sessions

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses ordering and returned fields, but omits if the operation is read-only, if there are pagination limits, or if destructive actions occur. Adequate for a simple list, but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two clear sentences with front-loaded information, no redundant words, efficiently conveys purpose and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description lists return fields and ordering. However, it lacks details on default limit behavior or pagination, leaving minor gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description does not add meaning beyond the schema's description of the 'limit' parameter. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List all audit sessions'), the ordering ('most recently active'), and the returned fields, distinguishing it from sibling tools like get_session_history which likely retrieves a single session.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies listing all sessions but does not explicitly guide when to use this tool over siblings like get_session_history or start_session. No 'when not to use' or alternative mentions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

log_exchangeA

Record a user+assistant exchange from historical or batch imports only. Do NOT use for live conversations — both timestamps are captured at the same instant with no real gap. For live sessions always call log_message twice: once for the user message, once for the assistant response.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesSession ID returned by start_session
user_contentYesThe exact user message
assistant_contentYesThe exact assistant response

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but description discloses that both timestamps are captured at the same instant, a key behavioral trait. Does not cover permissions or error handling, but adequate for this simple tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero wasted words. Front-loaded with purpose and restriction, then provides alternative. Perfect conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 params and no output schema, the description covers the use case, behavioral nuance, and sibling contrast. Could mention return value, but still fairly complete for a simple logging tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents each parameter. The description adds no new per-parameter details, only overall context. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it records a user+assistant exchange, specifying it's for historical or batch imports only. Distinguishes from sibling tool log_message with explicit scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Do NOT use for live conversations' and provides the alternative: use log_message twice for live sessions. Excellent guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

log_messageA

Record a single message (user or assistant) with the current local datetime and timezone offset. Call before responding for user messages, and before sending for assistant messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesSession ID returned by start_session
roleYes
contentYesFull message text

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that the tool records the current local datetime and timezone offset. No annotations exist, so description carries the burden. Could mention return value, but core behavior is transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: first states purpose, second gives usage guidance. No unnecessary words, well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks information about the return value (e.g., does it return a message ID or just success?). Also does not explicitly mention prerequisite of a valid session (though schema covers session_id). For a simple logging tool, mostly adequate but missing response details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers session_id and content descriptions (67% coverage). Description adds value by explaining how to use the role parameter in context of when to call.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Record a single message (user or assistant)' with a specific verb and resource. It distinguishes from the sibling tool 'log_exchange' by focusing on individual messages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit instructions: 'Call before responding for user messages, and before sending for assistant messages.' This provides clear context on when to invoke the tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_sessionA

Create a new audit session or resume an existing one by title. Call this at the start of every conversation.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesDescriptive session title, e.g. "Contract review — 2026-05-08"
ai_toolNoAI tool name: "claude", "cursor", "windsurf", etc.

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It lacks details on whether resuming a session overwrites data, requires authentication, or has any side effects. The agent gets no insight into what happens beyond the basic create/resume action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core action and usage instruction. Every word earns its place without redundancy or verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose and when to use, but given no output schema or annotations, it omits what the tool returns or any behavioral nuances like session ID or error conditions. It is adequate but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description only adds 'by title' context, which echoes the schema's title description. No additional meaning is provided for the ai_tool parameter, so the description adds minimal value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates or resumes an audit session by title, which distinguishes it from siblings like get_session_history or list_sessions. The verb 'Create' and 'resume' along with resource 'audit session' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Call this at the start of every conversation,' providing clear usage context. It does not explicitly exclude alternatives, but the sibling tools serve different purposes, so an agent can infer when to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_sessionA

Verify the tamper-evident hash chain for a session. Returns valid=true if no rows were edited after logging, or the first broken link if tampering is detected.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesSession ID to verify

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adequately explains the verification outcome (valid=true or broken link) but does not mention potential side effects or behavior on non-existent sessions. Since there are no annotations, it covers the essential behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two clear sentences, each adding value. No redundant or missing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool (one parameter, no output schema), the description fully covers what an agent needs to know to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides full description for the only parameter ('Session ID to verify'). The tool description adds no extra meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool's action ('verify') and resource ('session'), and explains the output conditions. This clearly distinguishes it from sibling tools like list_sessions or log_exchange.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool over alternatives or mention any prerequisites. Usage context is implied but not guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv0.1.0
    • First observedget_session_history
    • First observedlist_sessions
    • First observedlog_exchange
    • First observedlog_message
    • First observedstart_session
    • First observedverify_session

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a clearly distinct role: starting/resuming sessions, logging messages individually or in batch, listing sessions, retrieving full history, and verifying integrity. No overlaps in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., start_session, list_sessions, verify_session), making the API predictable and easy to navigate.

Tool Count5/5

Six tools cover the essential operations for an audit session manager without redundancy. The count is well-scoped for the server's purpose.

Completeness5/5

The tool set covers the full lifecycle: session creation, message logging (individual and batch), session listing, history retrieval, and integrity verification. No obvious gaps given the immutability requirement for audit logs.

Maintenance

ActivityActive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/SirinivasK/chron'

If you have feedback or need assistance with the MCP directory API, please join our Discord server