Skip to main content
Glama
lchinglen

Time MCP Server

by lchinglen

Time MCP Server

Сервер Model Context Protocol, предоставляющий возможности получения времени и конвертации часовых поясов. Этот сервер позволяет LLM получать информацию о текущем времени и выполнять конвертацию часовых поясов с использованием названий часовых поясов IANA, с автоматическим определением системного часового пояса.

Доступные инструменты

  • get_current_time - Получить текущее время в конкретном часовом поясе или системном часовом поясе.

    • Обязательные аргументы:

      • timezone (string): название часового пояса IANA (например, 'America/New_York', 'Europe/London')

  • convert_time - Конвертировать время между часовыми поясами.

    • Обязательные аргументы:

      • source_timezone (string): Название исходного часового пояса IANA

      • time (string): Время в 24-часовом формате (HH:MM)

      • target_timezone (string): Название целевого часового пояса IANA

Установка

Использование uv (рекомендуется)

При использовании uv специальная установка не требуется. Мы будем использовать uvx для непосредственного запуска mcp-server-time.

uvx mcp-server-time

Использование PIP

В качестве альтернативы вы можете установить mcp-server-time через pip:

pip install mcp-server-time

После установки вы можете запускать его как скрипт, используя:

python -m mcp_server_time

Related MCP server: Time MCP Server

Конфигурация

Настройка для Claude.app

Добавьте в настройки Claude:

{
  "mcpServers": {
    "time": {
      "command": "uvx",
      "args": ["mcp-server-time"]
    }
  }
}
{
  "mcpServers": {
    "time": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "LOCAL_TIMEZONE", "mcp/time"]
    }
  }
}
{
  "mcpServers": {
    "time": {
      "command": "python",
      "args": ["-m", "mcp_server_time"]
    }
  }
}

Настройка для Zed

Добавьте в ваш settings.json в Zed:

"context_servers": [
  "mcp-server-time": {
    "command": "uvx",
    "args": ["mcp-server-time"]
  }
],
"context_servers": {
  "mcp-server-time": {
    "command": "python",
    "args": ["-m", "mcp_server_time"]
  }
},

Настройка для VS Code

Для быстрой установки воспользуйтесь одной из кнопок установки в один клик ниже...

Install with UV in VS Code Install with UV in VS Code Insiders

Install with Docker in VS Code Install with Docker in VS Code Insiders

Для ручной установки добавьте следующий JSON-блок в ваш файл User Settings (JSON) в VS Code. Это можно сделать, нажав Ctrl + Shift + P и введя Preferences: Open User Settings (JSON).

При желании вы можете добавить его в файл с именем .vscode/mcp.json в вашем рабочем пространстве. Это позволит вам делиться конфигурацией с другими.

Обратите внимание, что ключ mcp необходим при использовании файла mcp.json.

{
  "mcp": {
    "servers": {
      "time": {
        "command": "uvx",
        "args": ["mcp-server-time"]
      }
    }
  }
}
{
  "mcp": {
    "servers": {
      "time": {
        "command": "docker",
        "args": ["run", "-i", "--rm", "mcp/time"]
      }
    }
  }
}

Настройка для Zencoder

  1. Перейдите в меню Zencoder (...)

  2. В раскрывающемся меню выберите Agent Tools

  3. Нажмите на Add Custom MCP

  4. Добавьте имя и конфигурацию сервера из приведённого ниже, и обязательно нажмите кнопку Install

{
    "command": "uvx",
    "args": ["mcp-server-time"]
  }

Кастомизация - системный часовой пояс

По умолчанию сервер автоматически определяет часовой пояс вашей системы. Вы можете переопределить это, добавив аргумент --local-timezone в список args в конфигурации.

Пример:

{
  "command": "python",
  "args": ["-m", "mcp_server_time", "--local-timezone=America/New_York"]
}

Примеры взаимодействия

  1. Получить текущее время:

{
  "name": "get_current_time",
  "arguments": {
    "timezone": "Europe/Warsaw"
  }
}

Ответ:

{
  "timezone": "Europe/Warsaw",
  "datetime": "2024-01-01T13:00:00+01:00",
  "is_dst": false
}
  1. Конвертировать время между часовыми поясами:

{
  "name": "convert_time",
  "arguments": {
    "source_timezone": "America/New_York",
    "time": "16:30",
    "target_timezone": "Asia/Tokyo"
  }
}

Ответ:

{
  "source": {
    "timezone": "America/New_York",
    "datetime": "2024-01-01T12:30:00-05:00",
    "is_dst": false
  },
  "target": {
    "timezone": "Asia/Tokyo",
    "datetime": "2024-01-01T12:30:00+09:00",
    "is_dst": false
  },
  "time_difference": "+13.0h",
}

Отладка

Вы можете использовать MCP inspector для отладки сервера. Для установок через uvx:

npx @modelcontextprotocol/inspector uvx mcp-server-time

Или если вы установили пакет в конкретный каталог или разрабатываете его:

cd path/to/servers/src/time
npx @modelcontextprotocol/inspector uv run mcp-server-time

Примеры вопросов для Claude

  1. "Который сейчас час?" (будет использоваться системный часовой пояс)

  2. "Который час в Токио?"

  3. "Когда в Нью-Йорке 4 часа дня, сколько времени в Лондоне?"

  4. "Переведите 9:30 утра по токийскому времени в нью-йоркское время"

Сборка

Сборка Docker:

cd src/time
docker build -t mcp/time .

Вклад в проект

Мы приветствуем вклад в развитие и улучшение mcp-server-time. Хотите ли вы добавить новые инструменты, связанные со временем, расширить существующую функциональность или улучшить документацию, ваш вклад ценен.

Примеры других MCP-серверов и паттернов реализации см. на странице: https://github.com/modelcontextprotocol/servers

Пул-реквесты приветствуются! Не стесняйтесь предлагать новые идеи, исправления ошибок или улучшения, чтобы сделать mcp-server-time ещё более мощным и полезным.

Лицензия

mcp-server-time распространяется под лицензией MIT. Это означает, что вы можете свободно использовать, изменять и распространять программное обеспечение при условии соблюдения положений и условий лицензии MIT. Более подробную информацию см. в файле LICENSE в репозитории проекта.

Available Tools

2 tools
convert_timeC

Convert time between timezones

ParametersJSON Schema
NameRequiredDescriptionDefault
timeYesTime to convert in 24-hour format (HH:MM)
source_timezoneYesSource IANA timezone name (e.g., 'America/New_York', 'Europe/London'). Use 'Etc/UTC' as local timezone if no source timezone provided by the user.
target_timezoneYesTarget IANA timezone name (e.g., 'Asia/Tokyo', 'America/San_Francisco'). Use 'Etc/UTC' as local timezone if no target timezone provided by the user.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It does not disclose any behavioral traits such as how time zones are handled, invalid inputs, or daylight saving time. The description is minimal and adds no transparency beyond the schema.

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

Conciseness4/5

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

Single sentence is concise and front-loaded. However, it could include more useful information without losing conciseness.

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

Completeness2/5

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

No output schema, and description does not mention return format, error handling, or edge cases. For a time zone conversion tool, this is incomplete.

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% with descriptions for all 3 parameters. The description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.

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

Purpose4/5

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

Description clearly states 'Convert time between timezones', conveying the verb and resource. However, it does not differentiate from the sibling tool 'get_current_time', which might also involve time zones.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. The description is a single phrase with no context about prerequisites or when this tool is appropriate.

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

get_current_timeC

Get current time in a specific timezones

ParametersJSON Schema
NameRequiredDescriptionDefault
timezoneYesIANA timezone name (e.g., 'America/New_York', 'Europe/London'). Use 'Etc/UTC' as local timezone if no timezone provided by the user.

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states 'Get current time' without disclosing output format, time source, or any behavioral details like handling of invalid timezones.

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

Conciseness3/5

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

Description is a single sentence but grammatically flawed ('timezones'). It is concise but lacks clarity and proper structure.

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

Completeness2/5

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

With no output schema and no annotations, the description omits critical context such as return format, time source (server vs user), and error handling. Incomplete for a simple 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?

The input schema already provides full description of the 'timezone' parameter with examples (100% coverage). The tool description adds no additional semantic value beyond what the schema offers.

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

Purpose4/5

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

Description clearly states the tool gets current time in a specific timezone, but the grammar ('timezones') slightly reduces clarity. It distinguishes from sibling 'convert_time' by focusing on current time retrieval.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs the sibling 'convert_time' or any exclusion criteria. The description does not indicate context-specific usage.

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.

  1. 2 tool updatesv1.0.3
    • First observedconvert_time
    • First observedget_current_time

TDQS

B3.3/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one retrieves the current time for a given timezone, and the other converts a specified time between timezones. There is no overlap or ambiguity between them.

Naming Consistency5/5

Both tools follow the same verb_noun snake_case pattern: get_current_time and convert_time. The naming is predictable and clearly indicates the action and target.

Tool Count3/5

With only two tools, the server feels minimal for its domain, though both tools are essential and focused. The count is borderline but not unreasonable for a simple timezone utility.

Completeness4/5

The core time-related operations are covered: getting current time and converting between timezones. A list of supported timezones would be a minor useful addition, but agents can work reasonably well without it.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Provides time and timezone functionality for LLMs, enabling them to get current time information across different timezones and convert times between zones.
    2
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Provides current time information and timezone conversion capabilities using IANA timezone names. Enables LLMs to get current time in any timezone and convert times between different timezones with automatic system timezone detection.
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides LLMs with current date and time information across any timezone, with configurable defaults and support for IANA timezone identifiers.
    1
    11 npm
    3
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    Provides current time information and timezone conversion capabilities using IANA timezone names with automatic system detection. It enables LLMs to fetch local or global times and convert specific timestamps between different regions.
    2
    2
    MIT