Time.ir Calendar
PYPI · TIME-IR-MCP
Read-only Time.ir Iranian calendar: Jalali/Gregorian/Hijri dates, holidays, events, prayer times.
Available components
Last scanned (21 hours ago)
Scores higher than 61% of PyPI servers
Category Maps and Location
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security50
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
- 1 of 35 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to sepehr071/time-ir-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 3 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability71
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2293 tokens (~176/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 14 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 −15
- Malware scan: pass → unverified ▼ security
- 2 Nov 26 +15
- Malware scan: unverified → pass ▲ security
- Security disclosure: unverified → fail ▼ functional
- 1 Nov 26 65
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Analysed pypi/time-ir-mcp@0.1.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | pypi |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | sepehr071/time-ir-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/sepehr071/time-ir-mcp/.github/workflows/publish.yml@refs/tags/v0.1.0 |
| Rekor log index | 3624346809 |
| Predicate type | PyPI publish attestation https://docs.pypi.org/attestations/publish/v1 |
| Subject digest | sha256:c5eea4c5a1f41c74c7a39d9c22919b9708fb3914f939a7a6c7859311253c4d2a |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 35 packages
| Packages resolved | 35 |
|---|---|
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
ti_cities Cities ~109
List Iran's provinces, or the cities of one province, with the ids ti_prayer_times takes. Without arguments it returns the 31 provinces with their capital city (id included). Give `province` to list its cities (with latitude, longitude), optionally filtered by `query`.
| Name | Type | Req | Description |
|---|---|---|---|
| province | – | – | Province name or id (from this tool without arguments), for example 'فارس'. Omit to list the 31 provinces. |
| query | – | – | Only cities whose name contains this text. |
No output schema declared.
No examples provided.
ti_convert_date Convert date ~145
Convert a date between the Jalali (Solar Hijri), Gregorian and Hijri (lunar) calendars, using time.ir's own converter. Returns the same day in all three calendars with the weekday and month names. Jalali dates run from 1 to 9999; the Hijri date is Iran's official one (it can differ by a day from Saudi Arabia's).
| Name | Type | Req | Description |
|---|---|---|---|
| calendar | string | – | Calendar of `date`: jalali (Solar Hijri, default), gregorian or hijri (lunar). |
| date | string | yes | Date as YYYY-MM-DD, for example 1405-08-10 or 2026-11-01. |
No output schema declared.
No examples provided.
ti_date_difference Date difference ~172
Count the days between two dates and give the span as Jalali years, months and days (age calculator). Use for "how old is someone born on 1380-05-17" (leave to_date empty for today) or "days until Nowruz". Both dates use the same `calendar`. If to_date is before from_date the result says `direction: before`.
| Name | Type | Req | Description |
|---|---|---|---|
| calendar | string | – | Calendar of `date`: jalali (Solar Hijri, default), gregorian or hijri (lunar). |
| from_date | string | yes | Start date YYYY-MM-DD, for example a birth date 1380-05-17. |
| to_date | – | – | Date as YYYY-MM-DD in the chosen calendar (for example 1405-08-10). Omit for today. |
No output schema declared.
No examples provided.
ti_events Events of a day ~166
List the occasions (Persian: monasebat) and official holidays of one day, with a short description when time.ir has one. Use for "what is special on 13 Aban", "is 2026-12-25 a holiday in Iran". Events come from the Jalali, Gregorian and Hijri calendars together; each has `calendar` (where the occasion belongs) and `holiday`. Friday is the weekend and is not marked as a holiday on its own.
| Name | Type | Req | Description |
|---|---|---|---|
| calendar | string | – | Calendar of `date`: jalali (Solar Hijri, default), gregorian or hijri (lunar). |
| date | – | – | Date as YYYY-MM-DD in the chosen calendar (for example 1405-08-10). Omit for today. |
No output schema declared.
No examples provided.
ti_holidays Holidays of a year ~98
List all official holidays (تعطیلات رسمی) of a Jalali year with Gregorian and Hijri dates and weekdays. Use for "holidays in 1405" or "how many days off". A Friday is listed only when it is also an occasion holiday. Use ti_upcoming_holidays for "the next holiday".
| Name | Type | Req | Description |
|---|---|---|---|
| year | – | – | Jalali year, for example 1405. Omit for the current year. |
No output schema declared.
No examples provided.
ti_long_weekends Long weekends ~138
Find runs of consecutive days off in a Jalali year: official holidays joined with Fridays (optionally Thursdays). Use for "long weekends in 1405" or "when can I take a 4-day trip". Bridge days are not counted and a run cut by the year boundary is cut there. The week starts on Saturday. For the plain holiday list use ti_holidays.
| Name | Type | Req | Description |
|---|---|---|---|
| min_days | integer | – | Shortest run of days off to list. |
| thursday_off | boolean | – | Also count Thursdays as days off (many offices close). |
| year | – | – | Jalali year. Omit for the current one. |
No output schema declared.
No examples provided.
ti_month Month calendar ~131
Show one Jalali month: its Gregorian and Hijri month spans, weekday of day 1, holidays and every event of the month. Use for "what is on the calendar in Aban 1405" or "holidays this month". For one day's occasions with their descriptions use ti_events; for the whole year's holidays use ti_holidays.
| Name | Type | Req | Description |
|---|---|---|---|
| month | – | – | Jalali month 1 (Farvardin) to 12 (Esfand). Omit for the current one. |
| year | – | – | Jalali year, for example 1405. Omit for the current one. |
No output schema declared.
No examples provided.
ti_on_this_day On this day in history ~128
List today's historical events, birthdays and deaths of notable people, as Time.ir's "today" page shows them. Use for "what happened on this day in history" or "who was born today". Only today is available (the page takes no date). Each item has the occasion `date` as Time.ir prints it (a Gregorian date with year for history, a Jalali day for national occasions). For an occasion search over a whole year use ti_search_events.
| Name | Type | Req | Description |
|---|---|---|---|
| kind | – | – | Keep only births (birth), deaths (death) or other historical events (event). |
No output schema declared.
No examples provided.
ti_prayer_times Prayer times ~216
Get the Islamic prayer times (اوقات شرعی) for an Iranian city and day: fajr, sunrise, noon, sunset, maghrib and Islamic midnight. Times are Iran local time (Asia/Tehran, 24 h). Use for "azan time in Mashhad today". Time.ir's backend answers for today only, so another `date` returns an error. For a city that is not a provincial capital pass `province`; ti_cities lists the cities and ids.
| Name | Type | Req | Description |
|---|---|---|---|
| calendar | string | – | Calendar of `date`: jalali (Solar Hijri, default), gregorian or hijri (lunar). |
| city | string | yes | City name (Persian), for example 'شیراز', or a city id from ti_cities. |
| date | – | – | Date as YYYY-MM-DD in the chosen calendar (for example 1405-08-10). Omit for today. |
| province | – | – | Province name or id; only needed when `city` is not a provincial capital. |
No output schema declared.
No examples provided.
ti_qibla Qibla direction ~134
Get the qibla direction (bearing to the Kaaba in Mecca, degrees clockwise from true north) and distance for an Iranian city. Computed here by great-circle math from the city's coordinates on time.ir; Time.ir itself shows no qibla. Use for "which way is qibla in Tabriz". Bearing is from true north, not magnetic north.
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | yes | City name (Persian), for example 'شیراز', or a city id from ti_cities. |
| province | – | – | Province name or id; needed when `city` is not a provincial capital. |
No output schema declared.
No examples provided.
ti_search_events Search occasions ~171
Search all occasions (monasebat) of a Jalali year by keyword and return each match with its dates. Use for "when is Teacher's Day", "all martyrdom dates in 1405" or "which world days are in Azar". Searches titles first, then descriptions. Results are in date order. For one day use ti_events.
| Name | Type | Req | Description |
|---|---|---|---|
| calendar | – | – | Keep only occasions of this calendar (jalali: national, gregorian: world days, hijri: religious). |
| holiday_only | boolean | – | Keep only official holidays. |
| limit | integer | – | Most results to return. |
| query | string | yes | Text to look for in occasion names and descriptions, for example 'معلم'. |
| year | – | – | Jalali year to search. Omit for the current one. |
No output schema declared.
No examples provided.
ti_today Today ~75
Get today's date in the Jalali, Gregorian and Hijri calendars with the Tehran time, weekday, zodiac sign and today's events. Use this first when the user says "today", "now" or asks what the date or time is in Iran. For another date use ti_events; to convert a date use ti_convert_date.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ti_upcoming_holidays Upcoming holidays ~123
List the next official holidays in Iran starting today (or from_date), with days until each. Use for "when is the next holiday" or "long weekends coming up". Fridays alone are not listed.
| Name | Type | Req | Description |
|---|---|---|---|
| calendar | string | – | Calendar of `date`: jalali (Solar Hijri, default), gregorian or hijri (lunar). |
| count | integer | – | How many holidays to return. |
| from_date | – | – | Date as YYYY-MM-DD in the chosen calendar (for example 1405-08-10). Omit for today. |
No output schema declared.
No examples provided.
How do I install the Time.ir Calendar MCP server?
Time.ir Calendar runs locally as a PyPI package, launched with uvx time-ir-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · time-ir-mcp
claude mcp add sepehr071-time-ir-mcp -- uvx time-ir-mcp
What is the Time.ir Calendar MCP server?
Time.ir Calendar is an MCP server listed in the public MCP registry as io.github.sepehr071/time-ir-mcp. Read-only Time.ir Iranian calendar: Jalali/Gregorian/Hijri dates, holidays, events, prayer times. This page covers its PyPI package (time-ir-mcp).
Is the Time.ir Calendar MCP server safe to use?
Time.ir Calendar scores 65 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Time.ir Calendar MCP server expose?
Time.ir Calendar exposes 13 tools: ti_today, ti_convert_date, ti_month, ti_events, ti_holidays, and 8 more. Their descriptions and schemas cost roughly 1,806 tokens of context every time the server is loaded.
Is the Time.ir Calendar MCP server still maintained?
Time.ir Calendar is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Time.ir Calendar MCP server under?
Time.ir Calendar declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.