Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Time.ir Calendar

PYPI · TIME-IR-MCP

Read-only Time.ir Iranian calendar: Jalali/Gregorian/Hijri dates, holidays, events, prayer times.

Available components

65 Trust /100

Last scanned (21 hours ago)

Scores higher than 61% of PyPI servers

Category Maps and Location

Trust breakdown (7 categories)

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.

Changelog

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.

Diagnostics

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 →

MCP tools · 13 exposed · ~1,806 tokens

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 →

Tool Tokens
ti_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`.

NameTypeReqDescription
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 ~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).

NameTypeReqDescription
calendarstring–Calendar of `date`: jalali (Solar Hijri, default), gregorian or hijri (lunar).
datestringyesDate as YYYY-MM-DD, for example 1405-08-10 or 2026-11-01.

No output schema declared.

No examples provided.

ti_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`.

NameTypeReqDescription
calendarstring–Calendar of `date`: jalali (Solar Hijri, default), gregorian or hijri (lunar).
from_datestringyesStart 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 ~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.

NameTypeReqDescription
calendarstring–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 ~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".

NameTypeReqDescription
year––Jalali year, for example 1405. Omit for the current year.

No output schema declared.

No examples provided.

ti_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.

NameTypeReqDescription
min_daysinteger–Shortest run of days off to list.
thursday_offboolean–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 ~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.

NameTypeReqDescription
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 ~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.

NameTypeReqDescription
kind––Keep only births (birth), deaths (death) or other historical events (event).

No output schema declared.

No examples provided.

ti_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.

NameTypeReqDescription
calendarstring–Calendar of `date`: jalali (Solar Hijri, default), gregorian or hijri (lunar).
citystringyesCity 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 ~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.

NameTypeReqDescription
citystringyesCity 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 ~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.

NameTypeReqDescription
calendar––Keep only occasions of this calendar (jalali: national, gregorian: world days, hijri: religious).
holiday_onlyboolean–Keep only official holidays.
limitinteger–Most results to return.
querystringyesText 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 ~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 ~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.

NameTypeReqDescription
calendarstring–Calendar of `date`: jalali (Solar Hijri, default), gregorian or hijri (lunar).
countinteger–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.

Install

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

# add to Claude Code
claude mcp add sepehr071-time-ir-mcp -- uvx time-ir-mcp
Common questions

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.