mcp-time logo

mcp-time

by dandeliongold

An MCP server for getting the current time in ISO format using JavaScript Date. This server works with the Claude desktop app on both Windows and macOS.

View on GitHub

Last updated: N/A

@dandeliongold/mcp-time

An MCP server for getting current time in ISO format (YYYY-MM-DD HH:mm:ss) using JavaScript Date. This server works with the Claude desktop app on both Windows and macOS.

Components

Tools

  1. getCurrentTime

    • Returns the current time in ISO format
    • No input parameters required
    • Returns:
      {
        "time": "2024-02-08 11:04:33",
        "success": true
      }
      

    Example JSON-RPC request:

    {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getCurrentTime"
    }
    

    Example JSON-RPC response:

    {
      "jsonrpc": "2.0",
      "id": 1,
      "result": {
        "time": "2024-02-08 11:04:33",
        "success": true
      }
    }
    
  2. getTimeDifference

    • Calculates the time difference between a given timestamp and the current time
    • Parameters:
      • timestamp: ISO format timestamp (YYYY-MM-DD HH:mm:ss)
      • interval: 'minutes' (default) or 'seconds'
    • Returns a signed difference value following this convention:
      • Positive values (+) indicate future timestamps ("in X minutes/seconds")
      • Negative values (-) indicate past timestamps ("X minutes/seconds ago")
      • Zero (0) indicates same timestamp

    Example JSON-RPC request:

    {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getTimeDifference",
      "params": {
        "timestamp": "2024-02-08 12:30:00",
        "interval": "minutes"
      }
    }
    

    Example JSON-RPC responses:

    // For a past timestamp (30 minutes ago)
    {
      "jsonrpc": "2.0",
      "id": 1,
      "result": {
        "difference": -30,
        "interval": "minutes",
        "inputTimestamp": "2024-02-08 12:30:00",
        "currentTime": "2024-02-08 13:00:00"
      }
    }
    
    // For a future timestamp (in 45 minutes)
    {
      "jsonrpc": "2.0",
      "id": 1,
      "result": {
        "difference": 45,
        "interval": "minutes",
        "inputTimestamp": "2024-02-08 13:45:00",
        "currentTime": "2024-02-08 13:00:00"
      }
    }
    

Features

  • Get current time in YYYY-MM-DD HH:mm:ss format
  • Calculate time differences between timestamps and current time
  • Intuitive positive/negative values for future/past times
  • Support for both minutes and seconds intervals
  • Cross-platform support for Windows and macOS
  • Simple JSON-RPC interface
  • Consistent ISO-style date formatting
  • Error handling with detailed error messages

Installation

npm install @dandeliongold/mcp-time

Usage with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "time": {
      "command": "npx",
      "args": [
        "@dandeliongold/mcp-time"
      ]
    }
  }
}

Development

  1. Clone the repository
  2. Install dependencies
    npm install
    
  3. Run tests
    npm test
    
  4. Start development server
    npm run dev
    

License

MIT License - see LICENSE for details