Time

Capacidades de conversión de hora y zona horaria

Documentación

Time MCP Server

Un servidor de Model Context Protocol que proporciona capacidades de conversión de hora y zona horaria. Este servidor permite a los LLM 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.

Fuente: https://github.com/modelcontextprotocol/servers/tree/main/src/time

Requiere MCP Python SDK 1.x (mcp>=1.29.0,<2). El SDK 2.0 renombró las APIs que este servidor utiliza. El port a v2 está en progreso.

Herramientas disponibles

  • get_current_time - Obtener 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 - Convertir hora entre zonas horarias.

    • Argumentos requeridos:
      • source_timezone (string): Nombre de zona horaria IANA de origen
      • time (string): Hora en formato de 24 horas (HH:MM)
      • target_timezone (string): Nombre de 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 un script usando:

python -m mcp_server_time

Configuración

Configurar para Claude.app

Añade a tu configuración de Claude:

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

Configurar para Zed

Añade a tu settings.json de Zed:

Usando uvx
"context_servers": [
  "mcp-server-time": {
    "command": "uvx",
    "args": ["mcp-server-time"]
  }
],
Usando instalación con pip
"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 a continuación...

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 de Configuración de Usuario (JSON) en VS Code. Puedes hacerlo presionando 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.

Usando uvx
{
  "mcp": {
    "servers": {
      "time": {
        "command": "uvx",
        "args": ["mcp-server-time"]
      }
    }
  }
}
Usando Docker
{
  "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
Usando uvx
{
    "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 esto añadiendo el argumento --local-timezone a la lista args en 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 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 de 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 en é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 hora de Nueva York"

Compilación

Compilación con Docker:

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

Contribuciones

Animamos a contribuir para ayudar a expandir 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 ejemplos de otros servidores MCP y patrones de implementación, consulta: https://github.com/modelcontextprotocol/servers

¡Las pull requests son bienvenidas! Siéntete libre de contribuir con nuevas ideas, correcciones de errores o mejoras para hacer mcp-server-time 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.