MCP Time Server

by chrishayuk

4 stars
208 downloads
Not rated
GitHub

Description

# MCP Time Server ## Overview The MCP Time Server is a sophisticated Python-based microservice designed to provide advanced time-related utilities across different timezones. It offers robust functionality for retrieving current times and converting times between various global…

About

# MCP Time Server ## Overview The MCP Time Server is a sophisticated Python-based microservice designed to provide advanced time-related utilities across different timezones. It offers robust functionality for retrieving current times and converting times between various global timezones. ## Project Details -…

Details

Author
chrishayuk
GitHub stars
4
Downloads
208
Categories
Productivity

- Retrieve current time for any IANA timezone
- Convert times between different time zones
- Robust input validation using Pydantic models
- Async server architecture built with asyncio
- Flexible configuration through env vars and config files

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Time Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install the package with pip install chuk-mcp-artifact-server (requires Python 3.11+). Run the server from the command line using chuk-mcp-artifact-server or call it programmatically with from chuk_mcp_artifact_server.main import main; main(). Configuration can be set via environment variables (e.g., NO_BOOTSTRAP) and config files.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp time server": {
            "chuk-mcp-time-server": {
                "command": "python",
                "args": [
                    "-m",
                    "venv",
                    "venv"
                ]
            }
        }
    }
}

McpServers

{
    "chuk-mcp-time-server": {
        "command": "python",
        "args": [
            "-m",
            "venv",
            "venv"
        ]
    }
}

MCP Time Server

Overview

The MCP Time Server is a sophisticated Python-based microservice designed to provide advanced time-related utilities across different timezones. It offers robust functionality for retrieving current times and converting times between various global timezones.

Project Details

- Version: 0.1.1
- Python Compatibility: Python 3.11+

Features

- Current Time Retrieval: Get the current time for any IANA timezone
- Time Zone Conversion: Convert times between different time zones
- Comprehensive Validation: Robust input validation using Pydantic models
- Async Server Architecture: Built with asyncio for efficient performance
- Flexible Configuration: Configurable through environment variables and config files

Dependencies

Core dependencies:
- mcp (>=1.6.0)
- pydantic (>=2.11.2)
- PyYAML (>=6.0.2)
- pyz (>=0.4.3)

Development dependencies:
- pytest (>=8.3.5)

Installation

Prerequisites

- Python 3.11 or higher
- pip
- (Optional) Virtual environment recommended

Install from PyPI

pip install chuk-mcp-artifact-server

Install from Source

1. Clone the repository:

git clone <repository-url>
cd chuk-mcp-artifact-server

2. Create a virtual environment:

python -m venv venv
source venv/bin/activate # On Windows, use venv\Scripts\activate

3. Install the package:

pip install .  # Installs the package in editable mode

Development Installation

To set up for development:

pip install .[dev]  # Installs package with development dependencies

Running the Server

Command-Line Interface

chuk-mcp-artifact-server

Programmatic Usage

from chuk_mcp_artifact_server.main import main

if __name__ == "__main__":
main()

Environment Variables

- NO_BOOTSTRAP: Set to disable component bootstrapping
- Other configuration options can be set in the configuration files

Available Tools

1. Get Current Time

Input:
- timezone: IANA timezone name (e.g., 'America/New_York')

Example:

get_current_time('Europe/London')

Returns:
- Current time in the specified timezone
- Timezone details
- Daylight Saving Time (DST) status

2. Convert Time

Input:
- source_timezone: Source timezone (IANA format)
- time: Time in HH:MM (24-hour) format
- target_timezone: Target timezone (IANA format)

Example:

convert_time('America/New_York', '14:30', 'Europe/Paris')

Returns:
- Source time details
- Target time details
- Time difference between zones

Development

Code Formatting

- Black is used for code formatting
- isort is used for import sorting
- Line length is set to 88 characters

Running Tests

pytest

Contributing

1. Fork the repository
2. Create your feature branch (git checkout -b feature/AmazingFeature)
3. Ensure code passes formatting and testing
4. Commit your changes (git commit -m 'Add some AmazingFeature')
5. Push to the branch (git push origin feature/AmazingFeature)
6. Open a Pull Request

License

MIT License

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.