Content
# 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
```bash
pip install chuk-mcp-artifact-server
```
### Install from Source
1. Clone the repository:
```bash
git clone <repository-url>
cd chuk-mcp-artifact-server
```
2. Create a virtual environment:
```bash
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
```
3. Install the package:
```bash
pip install . # Installs the package in editable mode
```
### Development Installation
To set up for development:
```bash
pip install .[dev] # Installs package with development dependencies
```
## Running the Server
### Command-Line Interface
```bash
chuk-mcp-artifact-server
```
### Programmatic Usage
```python
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**:
```python
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**:
```python
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
```bash
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](LICENSE)
You Might Also Like
Ollama
Ollama enables easy access to large language models on various platforms.

n8n
n8n is a secure workflow automation platform for technical teams with 400+...
OpenWebUI
Open WebUI is an extensible web interface for customizable applications.

Dify
Dify is a platform for AI workflows, enabling file uploads and self-hosting.

Zed
Zed is a high-performance multiplayer code editor from the creators of Atom.
MarkItDown MCP
markitdown-mcp is a lightweight MCP server for converting various URIs to Markdown.