what is MCP Time Server?
MCP Time Server is a Python-based microservice that provides advanced time-related utilities, allowing users to retrieve current times and convert times between various global timezones.
how to use MCP Time Server?
To use MCP Time Server, install it via pip or from source, and run the server using the command line or programmatically in your Python code.
key features of MCP Time Server?
- Current time retrieval for any IANA timezone
- Time zone conversion capabilities
- Comprehensive input validation using Pydantic
- Async server architecture for efficient performance
- Flexible configuration options
use cases of MCP Time Server?
- Retrieving the current time for scheduling across different time zones.
- Converting meeting times for participants in various locations.
- Validating and formatting time inputs in applications.
FAQ from MCP Time Server?
- What Python version is required?
Python 3.11 or higher is required to run MCP Time Server.
- How can I install MCP Time Server?
You can install it via pip with
pip install chuk-mcp-time-server
or clone the repository and install from source.
- Is there a command-line interface?
Yes, you can run the server using the command
chuk-mcp-time-server
.
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-time-server
Install from Source
- Clone the repository:
git clone <repository-url>
cd chuk-mcp-time-server
- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
- 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-time-server
Programmatic Usage
from chuk_mcp_time_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) formattarget_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
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Ensure code passes formatting and testing
- Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request