<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tareq Naji</title>
    <description>The latest articles on DEV Community by Tareq Naji (@tareq7).</description>
    <link>https://dev.to/tareq7</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4186745%2F4840a7ac-3479-4754-bf26-550a2a80d491.jpg</url>
      <title>DEV Community: Tareq Naji</title>
      <link>https://dev.to/tareq7</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tareq7"/>
    <language>en</language>
    <item>
      <title>Why language models should never guess prayer times (and how an MCP tool fixes the workflow)</title>
      <dc:creator>Tareq Naji</dc:creator>
      <pubDate>Sun, 18 Oct 2026 06:08:51 +0000</pubDate>
      <link>https://dev.to/tareq7/why-language-models-should-never-guess-prayer-times-and-how-an-mcp-tool-fixes-the-workflow-29oj</link>
      <guid>https://dev.to/tareq7/why-language-models-should-never-guess-prayer-times-and-how-an-mcp-tool-fixes-the-workflow-29oj</guid>
      <description>&lt;p&gt;Prayer times look like a simple question for an AI assistant: “When is the next prayer?”&lt;/p&gt;

&lt;p&gt;They are not simple static facts. A useful answer depends on &lt;strong&gt;where&lt;/strong&gt;, &lt;strong&gt;when&lt;/strong&gt;, &lt;strong&gt;which calculation convention&lt;/strong&gt;, and sometimes &lt;strong&gt;which school of jurisprudence&lt;/strong&gt; applies. If the model chooses any of those silently, it can return a confident-looking number that does not match a local timetable.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;Muslim Prayer Reminder MCP&lt;/strong&gt; to make these choices explicit and put the calculation in a tool instead of asking an LLM to invent the answer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Five inputs worth making explicit
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Location.&lt;/strong&gt; A city name can be ambiguous. Precise coordinates are preferable when available, but should not be inferred from a server's IP address.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time zone and date.&lt;/strong&gt; A prayer schedule should be evaluated for the user's local date, including daylight-saving changes where applicable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calculation authority.&lt;/strong&gt; Regional methods can use different angles or conventions. A returned timestamp without its method is hard to audit.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Asr convention.&lt;/strong&gt; The selected juristic convention matters. It should be a visible preference, not an invisible model assumption.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High-latitude handling.&lt;/strong&gt; Some places and seasons require special rules; a generic formula is not enough for every latitude.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A calculation tool helps with repeatability, but &lt;strong&gt;repeatable is not identical to a mosque timetable&lt;/strong&gt;. Local authorities may publish offsets or other adjustments. The honest answer makes that discrepancy understandable.&lt;/p&gt;

&lt;h2&gt;
  
  
  What an agent-friendly result should communicate
&lt;/h2&gt;

&lt;p&gt;A response is easier to trust when it identifies the requested date and location, the selected method, the calculated times, and what will happen next.&lt;/p&gt;

&lt;p&gt;For example, rather than saying “Maghrib is at 6:10” without context, the assistant should be able to give a timetable tied to the user's city, time zone, and selected regional authority, along with a next-prayer countdown.&lt;/p&gt;

&lt;p&gt;The model can then concentrate on &lt;em&gt;explaining&lt;/em&gt; the result instead of fabricating the calculation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try the open-source MCP
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Muslim Prayer Reminder MCP&lt;/strong&gt; exposes prayer-time tools to compatible AI clients. For a local Node.js-based setup, use the project's documented MCP configuration, which launches:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx &lt;span class="nt"&gt;-y&lt;/span&gt; muslim-prayer-mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Source and installation:&lt;/strong&gt; &lt;a href="https://github.com/tareq7/muslim-prayer-mcp" rel="noopener noreferrer"&gt;https://github.com/tareq7/muslim-prayer-mcp&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ChatGPT version:&lt;/strong&gt; &lt;a href="https://chatgpt.com/plugins/plugin_asdk_app_6a9bca660b2c8191a1146aa615cad6f5" rel="noopener noreferrer"&gt;https://chatgpt.com/plugins/plugin_asdk_app_6a9bca660b2c8191a1146aa615cad6f5&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The local and hosted versions have different privacy characteristics; the repository documents hosted preferences and pseudonymous usage analytics.&lt;/p&gt;

&lt;p&gt;I built and maintain this free, open-source project. I'm especially interested in feedback on how much user context a tool should require up front versus how much can safely come from preferences. How would you design that boundary?&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>opensource</category>
      <category>ai</category>
      <category>programming</category>
    </item>
    <item>
      <title>Building an MCP-Compatible ChatGPT Plugin for Accurate Daily Salah &amp; Prayer Times</title>
      <dc:creator>Tareq Naji</dc:creator>
      <pubDate>Thu, 15 Oct 2026 13:04:53 +0000</pubDate>
      <link>https://dev.to/tareq7/building-an-mcp-compatible-chatgpt-plugin-for-accurate-daily-salah-prayer-times-415b</link>
      <guid>https://dev.to/tareq7/building-an-mcp-compatible-chatgpt-plugin-for-accurate-daily-salah-prayer-times-415b</guid>
      <description>&lt;p&gt;Like many developers and remote professionals, I spend the bulk of my workday inside ChatGPT—drafting code, architecture specs, and automated workflows.&lt;/p&gt;

&lt;p&gt;One persistent friction was checking daily Salah times. Most mobile prayer applications are filled with intrusive ads, location tracking, or ambiguous calculation defaults that differ by up to 15 minutes from local mosque timetables. When prompting LLMs directly, models frequently guess location based on the hosting cloud server's IP address.&lt;/p&gt;

&lt;p&gt;To solve this cleanly, I built &lt;strong&gt;Muslim Prayer Reminder&lt;/strong&gt; as an open, ad-free ChatGPT plugin and MCP tool.&lt;/p&gt;




&lt;h3&gt;
  
  
  Architectural Highlights
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;12 Astronomical Calculation Authorities&lt;/strong&gt;: Full support for Umm Al-Qura (Makkah), Muslim World League (MWL), Egyptian General Authority of Survey, Islamic Society of North America (ISNA), and more. Crucially, the calculation authority and reasoning are explicitly stated in every response rather than hidden behind an opaque default.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Juristic Asr Options&lt;/strong&gt;: Explicit toggle for standard shadow ratios (Shafi'i, Maliki, Hanbali) and the Hanafi juristic method.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated Reminders via Scheduled Tasks&lt;/strong&gt;: Designed to integrate with ChatGPT's recurring scheduled tasks (e.g. configuring a daily morning timetable check or alert triggers before each prayer).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High-Latitude Handling&lt;/strong&gt;: Explicit mathematical approximation disclosure for extreme northern latitudes where twilight may persist throughout the night.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero Data Tracking&lt;/strong&gt;: No user accounts, no subscriptions, no ads, and no external tracking telemetry.&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  Example Workflow
&lt;/h3&gt;

&lt;p&gt;You can set up a persistent location and timetable in a single prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Set my prayer timetable location to London, UK using Muslim World League and Shafi'i for Asr. Then check today's prayer times."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And automate daily checks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Set up a daily scheduled task to check today's prayer times for my location every morning at 7:00 AM."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  Try It on ChatGPT
&lt;/h3&gt;

&lt;p&gt;The tool is live on the ChatGPT store:&lt;br&gt;
&lt;a href="https://chatgpt.com/plugins/plugin_asdk_app_6a9bca660b2c8191a1146aa615cad6f5" rel="noopener noreferrer"&gt;https://chatgpt.com/plugins/plugin_asdk_app_6a9bca660b2c8191a1146aa615cad6f5&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback and edge-case testing from developers and open-source contributors are welcome!&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>llm</category>
      <category>mcp</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
