Skip to main content
Glama

Chronos Protocol

by n0zer0d4y
CHANGELOG.md8.95 kB
# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [1.6.0] - 2025-09-17 ### Changed - Enhanced notes parameter descriptions for END_ACTIVITY_LOG and UPDATE_ACTIVITY_LOG tools to emphasize traceability and session continuity - Updated END_ACTIVITY_LOG notes from "Additional notes about the activity" to detailed traceability guidance - Updated UPDATE_ACTIVITY_LOG notes from "Updated notes" to comprehensive auditability instructions - Added MIT license and standard-readme badges following industry standards - Integrated smart system time approach into get_current_time tool description - Reduced Activity Intelligence System tools to 3 bullet points each for clarity - Streamlined Core Time Intelligence section acknowledging AI IDE system time embedding - Removed all emojis from README.md for professional appearance - Maintained bold formatting for bullet point items in feature descriptions - **BREAKING**: Standardized all parameter names to use `activityId` exclusively, removing backward compatibility with `timeId` - **BREAKING**: Standardized data folder name to `chronos-data` across all storage modes and documentation - **BREAKING**: Renamed `formatted_local` to `formatted_timezone` in time tool outputs for clearer timezone context - **BREAKING**: Removed redundant `system_time`, `system_timezone`, and `system_formatted_local` fields from time tool outputs - Updated all code examples and documentation to use consistent `activityId` and `chronos-data` naming - Removed backward compatibility properties and methods that supported `timeId` parameter names - Enhanced data folder naming consistency across per-project and centralized storage modes ## [1.5.0] - 2025-09-12 ### Fixed - Fixed McpError constructor issues causing "'str' object has no attribute 'message'" errors across MCP clients - Resolved MCP client compatibility issues by updating all error handling to use proper ErrorData objects - Database now properly creates chronos-data directories during save operations - Renamed `timeId` parameters to `activityId` for better API consistency across all tools - Enhanced timezone and time format validation with helpful error messages ### Added - Comprehensive unit test suite with 41 tests covering all functionality - `--timeout` CLI parameter for configurable operation timeouts (default: 60 seconds) - Input validation enhancements with specific, actionable error messages - pytest, pytest-asyncio, and pytest-cov as development dependencies - Backward compatibility support for both `timeId` and `activityId` field names ### Changed - Updated all documentation examples to use `activityId` instead of `timeId` - Enhanced error messages to provide more specific guidance for troubleshooting - Improved database initialization with immediate path resolution and validation ## [1.4.0] - 2025-09-11 ### Fixed - Fixed missing per-project storage implementation causing Cursor compatibility issues - Server now properly resolves data directories during startup instead of per-tool-call - Added proper working directory detection for Cursor and other MCP clients - Enhanced storage resolution with priority-based project root detection ### Added - Complete `storage.py` module with robust directory resolution logic - `--project-root` argument for explicit project context passing - Support for environment variables: `MCP_PROJECT_ROOT`, `PROJECT_ROOT`, `MCP_DATA_DIR` - Universal MCP configuration support for all clients (Cursor, Windsurf, Qoder, etc.) - Comprehensive diagnostic logging for troubleshooting - Write permission validation for data directories ### Changed - Server initialization now resolves data directories at startup - Improved error handling with fail-fast validation and clear error messages - Updated documentation with Cursor-specific configuration examples ## [1.3.0] - 2025-09-09 ### Added - Complete ShortUUID integration for more manageable activity and reminder IDs - `IDGenerator` class supporting multiple ID formats (short, uuid, custom) - `--id-format` CLI parameter for configurable ID generation - Backward compatibility utilities for UUID conversion and format detection - 22-character ShortUUIDs as default (61% size reduction from standard UUIDs) ### Changed - Default ID format from 36-character UUIDs to 22-character ShortUUIDs - Activity logs and reminders now support multiple ID formats seamlessly - `mcp-config.json` converted to universal `${workspaceFolder}` configuration - README examples now use generic paths instead of hardcoded examples - Improved software portability and rename-safety across different environments ### Fixed - Removed all hardcoded directory paths from user-facing files - `install.ps1` now uses dynamic path detection for portability --- ## [1.2.0] - 2025-09-07 ### Fixed - Fixed per-project mode data directory creation bug - Database initialization now properly resolves and creates directories - Enhanced error handling with fail-fast validation ### Added - `--project-root` argument for explicit project context - Universal MCP configuration support for all clients - Priority-based project root detection (explicit → environment → current directory) - Comprehensive startup diagnostic logging - Write permission validation for data directories ### Changed - Server initialization creates directories at startup instead of per-tool-call - Enhanced error messages with more specific troubleshooting guidance - **BREAKING**: Renamed `human_readable` parameter to `formatted_local` across all time-related tools for better clarity - **BREAKING**: Renamed `system_human_readable` to `system_formatted_local` in time result objects ### Changed - Updated `mcp` dependency from `>=1.0.0` to `>=1.13.1` for latest MCP SDK features - Updated `pydantic` from `>=2.9.2` to `>=2.11.7` for performance improvements - Updated `jsonschema` from `>=4.23.0` to `>=4.25.0` for enhanced validation - Updated `pydantic` to `>=2.9.2` for security patches and features - Updated `tzdata` to `>=2025.2` for current timezone data - Updated `jsonschema` from `>=4.23.0` to `>=4.25.0` for enhanced validation - Improved Makefile with UV support and enhanced Docker configuration - All tools now default to user's local system time - Enhanced timezone handling with better DST support - Improved error messages and tool descriptions - Updated documentation with system time configuration examples - Enhanced error handling with detailed diagnostic messages - Improved documentation with comprehensive installation guide and troubleshooting ### Fixed - Fixed JSON serialization bug in `check_time_reminders` tool - Enhanced serialization logic for Pydantic objects and lists - Fixed MCP configuration issues causing "no tools or prompts" error - Fixed relative path issues in MCP settings and module discovery problems - Fixed data directory path resolution for cross-project accessibility ### Added - Documentation files for bug analysis and testing results - Development dependencies (`pytest`, `ruff`, `pyright`, `freezegun`) to `pyproject.toml` - Comprehensive documentation and testing files - System time first approach with auto-detection using `tzlocal` - Human-readable timestamps alongside ISO 8601 formatting - Enhanced `TimeResult` model with system time fields - Comprehensive logging throughout server initialization - Startup validation with data directory and write permission checks - Automated installation script (`install.ps1`) for Windows users - MCP Inspector testing procedures and validation checklists - Complete temporal awareness toolkit with 9 core MCP tools - Activity logging and time tracking capabilities - Timezone conversion and reminder system - MCP Protocol compliance with full implementation - Cross-project accessibility and centralized data storage - Pydantic data models and ISO 8601 datetime formatting ### Core Tools - `get_current_time` - Current time queries with timezone support - `convert_time` - Cross-timezone time conversion - `start_activity_log` - Activity tracking initiation - `get_elapsed_time` - Real-time duration calculation - `update_activity_log` - Dynamic activity updates - `end_activity_log` - Activity completion with duration tracking - `get_activity_logs` - Historical activity retrieval - `create_time_reminder` - Future reminder scheduling - `check_time_reminders` - Reminder detection and retrieval ## Contributing When contributing to this project, please: 1. Update the changelog following the established format 2. Use the `get_current_time` tool to obtain accurate timestamps 3. Categorize changes appropriately (Added/Changed/Deprecated/Removed/Fixed/Security) 4. Document breaking changes clearly 5. Include validation results for new features

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/n0zer0d4y/chronos-protocol'

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