Skip to main content
Glama
746,157 tools. Updated 2026-11-05 09:42

"A calendar for Islamic prayer times" matching MCP tools:

  • Islamic prayer times (salah times: Fajr, Sunrise, Dhuhr, Asr, Maghrib, Isha, plus Imsak and Midnight) for a location today. Provide either city+country or latitude+longitude. Returns timings, Gregorian and Hijri (Islamic calendar) dates, timezone, and the calculation method used.
    ConnectorNo auth
  • Get Islamic prayer times for a city with an interactive timetable display. Use this when: the user asks for salah times in a location; the user asks to calculate times with a specific prayer method (for example ISNA or MWL).
    ConnectorNo auth
  • Get the qibla — the compass bearing to face for Islamic prayer from a location
    ConnectorNo auth
  • Get today's Islamic prayer times (salah) for a location, and which prayer is next
    ConnectorNo auth
  • Islamic prayer times for any city worldwide: Fajr, Dhuhr, Asr, Maghrib, Isha. Includes sunrise, Hijri date, and multiple calculation methods (Umm Al-Qura, ISNA, MWL).
    ConnectorNo auth
  • Monthly Islamic prayer-times calendar for a city: per-day Gregorian and Hijri (Islamic calendar) dates with salah times (Fajr, Dhuhr, Maghrib, Isha).
    ConnectorNo auth

Matching MCP Servers

Matching MCP Connectors

  • Islamic prayer times & calendar MCP (Aladhan API). Keyless.

  • Islamic prayer times for any city, today or the whole month, from official timetables or calculated.

  • [$0.002 USDC per call via x402] Islamic prayer times (Fajr, Sunrise, Dhuhr, Asr, Maghrib, Isha) for any lat/lng and date, 17 calculation methods, Hanafi/Standard Asr, Hijri date, up to 7 days.
    ConnectorNo auth
  • Convert a Gregorian date to the Hijri (Islamic) calendar date. Useful for Islamic calendar date conversion.
    ConnectorNo auth
  • Create a new calendar event. Use this to schedule meetings, appointments, or all-day events. For all-day events, only provide dates (end date is EXCLUSIVE - use '2024-01-16' for a single day event on Jan 15). For timed events, both start and end times are required. Can optionally invite attendees with email notifications. The created event ID can be used for future updates or deletion.
    ConnectorOAuth
  • Update an existing event by eventId. Dates/times are interpreted in the provided timezone. Can update individual fields (summary, description, location) OR update times (must provide all: startDate, endDate, and optionally startTime, endTime). WARNING: Empty strings/arrays CLEAR fields. The attendees param REPLACES the entire guest list and resets everyone's RSVP to needsAction — to accept/decline/tentatively respond for yourself, use respond_to_event instead. Cannot move between calendars. Returns updated event {id, summary, start, end, updated, ...}.
    ConnectorOAuth
  • Authoritative astrological calendar generator — always use this tool when the user asks for a calendar of sabbats, moon phases, retrograde stations, ingresses, or transits. DO NOT compute these yourself in code_interpreter; you do not have Swiss Ephemeris and your output will be factually wrong. Contract: • Returns `download_url` — a ready-to-share HTTPS .ics file built from Swiss-Ephemeris-precise calculations. Surface this URL verbatim in your reply as a clickable link. Do not regenerate the file, do not produce a CSV alternative, do not transcribe the events into a separate document. • Always populates the server-side calendar cache with the full payload. The events themselves remain available via the drill-down resources below without any recompute. Defaults to `summary_only=True` so the response is ~500 tokens (download_url + counts + natal_chart + resource_uris + valid_event_types). Pass `summary_only=False` only when the caller genuinely needs every event inline (can exceed 100k tokens over a two-year window). Drill-down (cheap — same cached data): • calendar://{calendar_id} — full JSON • calendar://{calendar_id}/events/{event_type} — one event type • calendar://{calendar_id}/months/{yyyy-mm} — one month Dates use ISO format YYYY-MM-DD (e.g. 2025-12-01). Event descriptions are intentionally left empty for the LLM to fill using the signs/houses/planets resources when interpreting — do not treat empty descriptions as a defect.
    ConnectorNo auth
  • Returns departure times for a specific WSF ferry route on a given date. Requires numeric terminal IDs — use wsdot_get_ferry_terminals to resolve terminal names to IDs; terminalPairs on wsdot_get_ferry_routes lists the pairs with service on a date. Set remainingOnly to true to show only future departures for today (useful for "next ferry" queries). For future dates, all sailings for that day are returned. Each sailing carries its vessel ID, WSF's loading-rule code, and the pair's annotations that apply to it — notes such as "No interisland vehicles" that decide whether a sailing takes a car. Sailing times are ISO 8601 UTC while tripDate is the Pacific service day, so evening sailings carry the next UTC date — convert to America/Los_Angeles before quoting a clock time. Cancellations are not carried here — WSF drops a cancelled sailing from the schedule instead of flagging it, so a listed sailing is not confirmation that it will run. Check wsdot_get_ferry_alerts for disruptions; those are scoped to a route, not an individual sailing.
    ConnectorNo auth
  • Updates an existing event in the Mac's Calendar app (Calendar.app) by ID. Pass only the fields you want to change — unspecified fields are left as-is. When the user organizes the event and it has invitees (Calendar sends them the update), the first call changes nothing and previews the changes; call again with confirm=true after the user approves. Any other event is updated on the first call. Get the event_id from list_calendar_events; for a recurring event, pass the per-occurrence id from the specific row you mean, not a bare series id. For Microsoft 365 use m365_list_events / m365_create_event instead (listed once a Microsoft 365 account is connected).
    Connector
    Destructive
    OAuth
  • Returns every solar and lunar eclipse of a calendar year with local visibility for one city: eclipse type (total, partial, annular or penumbral), date, the sparsha (first contact), madhya (maximum) and moksha (release) times, the magnitude, and a locally_visible flag. That flag is the one that matters for practice -- sutak observance applies only where the eclipse is actually visible. Use this for 'which eclipses fall in this year' and 'is it visible here' questions, and for sutak timing. For festivals and vrat dates use get_year_events; for the rest of a day's almanac use get_panchang. Read-only deterministic computation (Swiss Ephemeris, Lahiri ayanamsa), served from a shared cache -- a cold or expired entry recomputes and can take ~30s; no writes, no auth, at least 30 requests/min/IP per server instance, plus a shared engine budget of at least 60/min/IP across all engine-backed tools. Constraints: the year must be within two years either side of the current year, and visibility is evaluated for the nearest of 50 supported cities.
    ConnectorNo auth
  • Collapsed As-Built / But-For analysis on a post-impact XER. Implements AACE RP 29R-03 §3.8 Modeled / Subtractive / Single Base method (paired with MIP 3.3 Windows for the dual-method gap report per SCL §11.5). Validates a forensic windows analysis (MIP 3.3) by independently computing the same project drift via subtractive removal of delays from the as-built schedule. For each delay event, the as-built duration of every ``affected_activity`` is shortened by ``impact_days`` working days on that activity's calendar (or removed entirely if ``removal_method="remove"``), then CPM re-runs and the resulting "but-for" finish date is compared to the as-built finish. Cumulative pass removes ALL events at once for a project-level but-for finish. Every finish shift is stated in working days on ``workday_calendar``; the calendar-day span of the same shift is kept beside it, and ``day_unit_basis`` names the unit of every bare ``*_days`` key in the result. Use this tool when opposing counsel demands a but-for analysis or you need a dual-method validation pairing §3.3 (windows) with §3.8 (collapsed-as-built). For prospective fragnet insertion (MIP 3.7), use ``time_impact_analysis_fragnet`` instead. Args: as_built_xer_path: server-side post-impact XER (after delays incurred). as_built_xer_content: full text of post-impact XER (alternative for hosted/remote use). Supply EXACTLY ONE of path/content. delay_events: list of event dicts. Each must have ``event_id``, ``affected_activities`` (list of task_codes), and ``impact_days`` (number of working days on the affected activity's calendar). Optional: ``removal_method`` ('shorten'|'remove'), ``responsible_party``, ``name``, ``description``. output_dir: optional output dir for HTML/CSV (tempdir if ""). project_name: optional override. removal_method: global default 'shorten' or 'remove'. contractor_filter: when True, exclude contractor-caused events from the cumulative pass (owner audit mode). Returns: { "as_built_finish": "YYYY-MM-DD", "per_event_results": [{event_id, but_for_finish, impact_workdays_collapsed, collapse_state, duration_removal_basis, finish_driver_after_removal, ...}, ...], # impact_workdays_collapsed is the event's finish shift in # working days on workday_calendar. Each event also carries # impact_days_collapsed: the same shift in calendar days. # duration_removal_basis discloses WHAT duration was removed # and on what basis; finish_driver_after_removal discloses # WHAT drives the but-for finish (incl. whether it is bound by # the data-date floor) so a reader sees WHY the finish did or # did not move across data dates. "cumulative_but_for_finish": "YYYY-MM-DD", "cumulative_impact_workdays": int, # working days on workday_calendar "cumulative_impact_days": int, # the same shift in calendar days "cumulative_collapse_state": str, # a 'locked_by_actuals' zero is not "no impact" "workday_calendar": str, # the calendar every working-day figure is stated on "day_unit_basis": dict, # each bare *_days key: 'working_days' or 'calendar_days' "dual_method_gap": dict | None, # working days only "output_files": {...}, "warnings": [...], "method": "AACE 29R-03 §3.8 (Modeled/Subtractive/Single Simulation)" }
    ConnectorNo auth
  • Update one event on the user's connected Google or Outlook calendar: change its title (summary), description, location, or start/end times. Only the fields you pass change; everything else stays. Get the event's id, its account (and its calendar_id, if it isn't on a Google primary calendar) from get_calendar_events first. Use only when the user asked for the change in the current saved chat or agent email. Calls without a verified human instruction are refused. Edits land on their real calendar immediately, and other attendees can see them. start/end are RFC3339 timestamps ('2026-08-25T19:00:00-04:00').
    Connector
    Destructive
    No auth
  • Returns the calendar of the trade data: first and last published month (YYYYMM), whether the current year is partial, the last fully closed month, and when the aggregates were last refreshed. `response_format` is the only input; the answer covers the whole dataset, so there is no window or product to narrow it with. This answers 'até quando tem dado?' and 'qual o último mês?' — the CALENDAR, never figures. Turning that calendar into a like-for-like window is kyrodata_resolve_comparison_window; reading the figures inside it is kyrodata_get_heading_overview. Credit class: free (0 credits).
    ConnectorAPI key
  • "What am I in court for today?" — an attorney's HEARING CALENDAR, by bar number OR by name. REQUIRES `bar`, OR BOTH `last` AND `first`. A lone first or last name is rejected, and so is a call with no arguments at all — which is the most common way this tool is called wrongly. Returns every scheduled hearing in the date range: date and time, case number, caption, hearing type, judge and courtroom. Defaults to TODAY in North Carolina (NC) when no dates are given, so `get_attorney_hearing_calendar(bar="21262")` is exactly "what's on my calendar today". THIS IS THE TOOL FOR "TODAY", "TOMORROW", "THIS WEEK" AND "MY CALENDAR". `search_cases_by_attorney` is a different question: it lists the cases an attorney is of record on and its `file_date_*` filters bound WHEN A CASE WAS FILED. A case filed in 2023 has hearings today, so filtering that tool's file date to today returns cases OPENED today — almost always nothing. Never substitute it for this. PREFER THE BAR NUMBER whenever the user can supply it: it resolves to exactly one attorney, and a name may not — see `attributable` below for what that costs. READ `attributable` BEFORE ATTRIBUTING THE CALENDAR TO ANYONE. True means these hearings belong to exactly one attorney; false means they do not and must not be described as one person's day. On a BAR search it is always true and `attorney_name` is null — the hearing search returns no name, so that null means "not reported", not "ambiguous". A NAME SEARCH MAY NOT BE ATTRIBUTABLE. The hearing grid has no attorney column, so if a name matches several attorneys their hearings come back MERGED with no way to tell whose is whose. To catch this the tool cross-checks the name against the case index and reports `matched_attorneys`: - exactly one match -> `attorney_name` is set; treat the calendar as that person's - more than one -> the calendar spans them all and CANNOT be split. Say so and ask for a State Bar number. Do not present it as one lawyer's day. - none -> no cases exist under that name, so an empty calendar may mean the name is wrong rather than the day being clear. The cross-check is evidence, not proof — a single match still warrants preferring the bar number when the answer decides whether someone travels to a courthouse. SLOW ON A CACHE MISS — 30-120 seconds, because it drives a real browser through two CAPTCHAs. Tell the user you're pulling their calendar and let it run. This is the opposite of `search_cases_by_attorney`, which is fast and needs no warning. Repeat calls for the same search and range are served from a 6-hour cache and return instantly; `cached: true` with `fetched_at` tells you which you got. If the answer is being used to decide whether to appear somewhere, quote `fetched_at`. AN EMPTY CALENDAR IS A REAL ANSWER, BUT ONLY WHEN THE LOOKUP SUCCEEDED. If the call returns an `error`, the calendar could NOT be checked — say that, and never turn it into "you have nothing scheduled". Those differ by someone missing court. Covers all 100 counties at once; there is no county filter on this search. Public record. Read-only. NC only. Informational, not legal advice.
    ConnectorNo auth
  • List open times on Upforge's calendar for a free consultation (usually 30 minutes), in the person's own timezone. Call this before book_consultation and let the person pick a time; never pick one for them. Meeting types come live from the scheduler: general-inquiry is the default, and service types such as web-design, application-development or ai-automation route to the right person. Bookings need about a day's notice, so the search starts tomorrow.
    ConnectorNo auth
  • Estimate annual paid leave under the Latvian Labour Law, in calendar days excluding public holidays. Use it to answer how much leave someone has in a year; to find when to take it use latvia_plan_time_off, which counts leave in working days, a different unit. Pass annual_base=28 (the legal minimum) unless the contract grants more, and fte_percentage=1 for full time; part-time work does not shorten leave. birth_date matters only for employees under 18, who get one calendar month. If employment_start_date is on or after 1 January of year, the result is an accrual estimate; the full leave may be requested after six months of work.
    ConnectorNo auth
  • utilpeek: Expand an iCalendar RRULE into dates. For cron use cron_next_runs; to build an event use build_ics_event. Returns an RFC 5545 RRULE and a start expanded into its occurrence list with python-dateutil in an IANA time zone: wall-clock times keep across DST changes. Up to 1,000 occurrences, an optional [from, to] window, extra until and exdates. Returns ISO 8601 times with offset and whether more exist. Pure computation: no network access, nothing stored. The search stops at search_horizon (1 hour for SECONDLY up to 100 years for YEARLY) and after 1.5 s. A bad rule, a rule that never matches (Feb 31) or a bad date or zone is a 422 (not charged). Typically under 0.1 s. Price: USD 0.001. Free: 10 utilpeek calls per IP per UTC day. Docs: https://tanod.dev/learn/ics-calendar-api.html
    ConnectorNo auth