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
License
Metadata
Release files for chuk-mcp-time-server 0.1.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chuk_mcp_time_server-0.1.11-py3-none-any.whl | Python 3 | none | any | Details |
Release files / chuk_mcp_time_server-0.1.11-py3-none-any.whl
| Download URL | chuk_mcp_time_server-0.1.11-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7e7a7369d5bd8539ae5b0430319832101b0edd79d083ca237f3e48e0e2df62f0
|
|
BLAKE2b-256 checksum How to use checksums |
8b6ba1ced86d8a409f5647df44cf80d2cb12ca5c77310cbf3f337401801f4d07
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.2
|
Security for chuk-mcp-time-server 0.1.11
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.