A .NET application that crawls time.ir to retrieve current time, date information (Shamsi, Hijri, and Gregorian calendars), and events/holidays from the Persian calendar.
- Retrieves current time data from time.ir:
- Current time (HH:MM:SS)
- Current date in Persian/Shamsi calendar
- Corresponding Hijri date
- Corresponding Gregorian date
- Fetches events and holidays for the current month
- Implements Model Context Protocol (MCP) server for integration with AI assistants
- Fallback mechanism using system time when web crawling fails
- .NET 9.0
- Selenium WebDriver for web scraping
- ChromeDriver for headless browser automation
- Model Context Protocol (MCP) for AI integration
- Microsoft Extensions for dependency injection and logging
- .NET 9.0 SDK
- Chrome browser (for ChromeDriver)
-
Clone the repository:
git clone [repository-url] cd TimeCrawler -
Build the project:
dotnet build -
Run the application:
dotnet run
To integrate with Model Context Protocol, add the following configuration to your mcp.json file:
"simpletime": {
"command": "dotnet",
"args": [
"/path/to/TimeCrawler/TimeIrCrawler/bin/Debug/net9.0/TimeIrCrawler.dll"
],
"label": "Simple Time Provider",
"description": "Gets simple system time"
}Make sure to update the path to the DLL file according to your environment.
The application exposes two main API endpoints through the MCP server:
Retrieves the current time and date information in multiple calendar formats.
GetCurrentTimeData()
Returns:
CurrentTime: Current time in HH:MM:SS formatCurrentDate: Current date in Persian/Shamsi calendarHijriDate: Corresponding date in Hijri calendarGregorianDate: Corresponding date in Gregorian calendar
Retrieves events and holidays for the current month.
GetEventsDataAsync()
Returns a list of events, each containing:
Date: The date of the eventTitle: The title or description of the eventExtra: Additional information (if available)
- Models: Data structures for time and event information
- Interfaces: Contract for TimeIrCrawler service
- Services: Implementation of the crawler using Selenium WebDriver
- Tools: MCP tool definitions for exposing functionality to AI assistants