Skip to main content
Glama
lchinglen

Time MCP Server

by lchinglen

Time MCP Server

Un servidor del Model Context Protocol que proporciona capacidades de conversión de hora y zona horaria. Este servidor permite a los LLMs obtener información de la hora actual y realizar conversiones de zona horaria utilizando nombres de zona horaria IANA, con detección automática de la zona horaria del sistema.

Herramientas disponibles

  • get_current_time - Obtiene la hora actual en una zona horaria específica o en la zona horaria del sistema.

    • Argumentos requeridos:

      • timezone (string): nombre de zona horaria IANA (p. ej., 'America/New_York', 'Europe/London')

  • convert_time - Convierte la hora entre zonas horarias.

    • Argumentos requeridos:

      • source_timezone (string): nombre de la zona horaria IANA de origen

      • time (string): hora en formato 24 horas (HH:MM)

      • target_timezone (string): nombre de la zona horaria IANA de destino

Instalación

Usando uv (recomendado)

Cuando se usa uv no se necesita ninguna instalación específica. Usaremos uvx para ejecutar directamente mcp-server-time.

uvx mcp-server-time

Usando PIP

Alternativamente, puedes instalar mcp-server-time mediante pip:

pip install mcp-server-time

Después de la instalación, puedes ejecutarlo como script usando:

python -m mcp_server_time

Related MCP server: Time MCP Server

Configuración

Configurar para Claude.app

Añade a tu configuración de 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"]
    }
  }
}

Configurar para Zed

Añade a tu settings.json de Zed:

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

Configurar para VS Code

Para una instalación rápida, usa uno de los botones de instalación con un clic de abajo...

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

Para la instalación manual, añade el siguiente bloque JSON a tu archivo User Settings (JSON) en VS Code. Puedes hacerlo pulsando Ctrl + Shift + P y escribiendo Preferences: Open User Settings (JSON).

Opcionalmente, puedes añadirlo a un archivo llamado .vscode/mcp.json en tu espacio de trabajo. Esto te permitirá compartir la configuración con otros.

Ten en cuenta que la clave mcp es necesaria cuando se usa el archivo mcp.json.

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

Configurar para Zencoder

  1. Ve al menú de Zencoder (...)

  2. En el menú desplegable, selecciona Agent Tools

  3. Haz clic en Add Custom MCP

  4. Añade el nombre y la configuración del servidor de abajo, y asegúrate de pulsar el botón Install

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

Personalización - Zona horaria del sistema

Por defecto, el servidor detecta automáticamente la zona horaria de tu sistema. Puedes anular esta detección añadiendo el argumento --local-timezone a la lista args de la configuración.

Ejemplo:

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

Ejemplos de interacción

  1. Obtener la hora actual:

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

Respuesta:

{
  "timezone": "Europe/Warsaw",
  "datetime": "2024-01-01T13:00:00+01:00",
  "is_dst": false
}
  1. Convertir la hora entre zonas horarias:

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

Respuesta:

{
  "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",
}

Depuración

Puedes usar el inspector MCP para depurar el servidor. Para instalaciones con uvx:

npx @modelcontextprotocol/inspector uvx mcp-server-time

O si has instalado el paquete en un directorio específico o estás desarrollando sobre él:

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

Ejemplos de preguntas para Claude

  1. "¿Qué hora es ahora?" (usará la zona horaria del sistema)

  2. "¿Qué hora es en Tokio?"

  3. "Cuando son las 4 PM en Nueva York, ¿qué hora es en Londres?"

  4. "Convierte las 9:30 AM hora de Tokio a la hora de Nueva York"

Compilación

Compilación de Docker:

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

Contribuciones

Animamos a contribuir para ayudar a ampliar y mejorar mcp-server-time. Ya sea que quieras añadir nuevas herramientas relacionadas con el tiempo, mejorar la funcionalidad existente o mejorar la documentación, tu aportación es valiosa.

Para ver ejemplos de otros servidores MCP y patrones de implementación, consulta: https://github.com/modelcontextprotocol/servers

¡Las pull requests son bienvenidas! No dudes en contribuir con nuevas ideas, correcciones de errores o mejoras para hacer que mcp-server-time sea aún más potente y útil.

Licencia

mcp-server-time está licenciado bajo la Licencia MIT. Esto significa que eres libre de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia MIT. Para más detalles, consulta el archivo LICENSE en el repositorio del proyecto.

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