Privacy Policy
Privacy Policy for Quran MCP
This policy explains how the hosted public service at mcp.quran.ai handles information when you use the MCP server, its interactive Quran reader, or its public web pages. A separate section near the end explains optional relay-enabled or self-hosted deployments, which do not apply to the hosted service unless we say so.
The Quran reader saves your page, selection, and reader options on our server. Saved reading state is deleted 180 days after its last change.
In ChatGPT, display settings are saved under a one-way hash of the account identifiers ChatGPT sends, so they apply in every conversation. They do not expire automatically.
Our logs record each tool request with its inputs. An operator-only transcript also keeps complete requests and results until newer records replace them.
Semantic search sends your search text to Google's Gemini service so it can be matched to passages by meaning.
You don't create an account with us. To recognize a conversation or account, we use one-way hashes of the identifiers your AI app sends, not the identifiers themselves.
This applies to browser visits to the quran.ai landing page, not to MCP tool calls or the pages at mcp.quran.ai.
Information we handle when you use the hosted MCP service
When an AI app such as ChatGPT or Claude calls Quran MCP, the hosted service handles the information needed to answer that request. If you use the interactive Quran reader, the service also saves some reader state so it can restore your place.
- Tool inputs and search terms. We handle the verse references, search terms, and other parameters that your AI app sends so the service can return Quran text, translations, tafsir, and related results.
- Operational logs. For each tool request, the application logs the tool name, its inputs, whether it succeeded (and the error if it failed), the size of the response, and how long it took. Search text, and any reason your AI app gives for a search, are logged in full; other long inputs are shortened, and security tokens are removed. Each entry also records which AI app made the request and the name and version it reports, the IP address Cloudflare reports for the request, and a one-way hash used to group requests from the same conversation or connection. When ChatGPT or Claude calls us from their own servers, that IP address usually belongs to them; apps that connect directly from your device can send your own IP address.
- Complete tool transcript. The service also keeps an operator-only transcript of every tool request: the exact inputs and the complete result returned to your AI app, with the time and duration. It does not include IP addresses or connection headers. Reader requests in the transcript can include the reader's random IDs and the account hash described below.
- Search service logs. Our self-hosted search service writes the text of each search to its own operational log.
- Saved reader state. When you open the interactive reader, we save what it needs to restore your place: the page you are on, the verse and word at the top of the screen, your current selection (verse references, word positions, and the Quran text of selected words), reader options such as how navigation moves, whether the reader was inline, fullscreen, or picture-in-picture, and when these were saved. Each open reader also gets a random ID, a hashed access token, and a short record of its recent saves.
- Identifiers linked to reader state. Saved reader state is linked to a random ID and to one-way hashes of identifiers that your AI app provides. In ChatGPT, these are the conversation (session) identifier and your ChatGPT user and organization identifiers. In Claude, it is the per-conversation web address Claude gives the reader. We use these hashes so saved state is restored only in the conversation and account it belongs to.
- Account-level reader settings in ChatGPT. In ChatGPT, the reader also saves your display settings: appearance, which side the navigation controls appear on, where word meanings appear, the translation shown, whether selections are attached to your message, and how navigation moves in each view, plus a few switches from the reader you used most recently. We save them under a one-way hash of the organization and user identifiers ChatGPT sends, starting the first time you open the reader in ChatGPT. Because ChatGPT sends the same identifiers in every conversation, your settings apply wherever you use the reader in ChatGPT. This also means we recognize the same ChatGPT account across conversations; we use that only to apply these settings.
- Settings stored in your browser. The reader keeps its settings and a few interface choices, such as whether you dismissed its introduction and which experiments you turned on, in browser storage inside your AI app. In ChatGPT this storage also holds the account hash described above. This lets the reader apply your settings even when account settings are unavailable, such as in Claude.
- Feedback you choose to send. If you ask your AI app to send us feedback, including through the reader's "Send an idea or report a bug" form, we store the app's summary of your feedback (up to 1,000 characters), your exact words if you ask for them to be included (up to 500 characters), the feedback type and severity, the related tool, and when it was sent. Feedback from the reader can also include the reader version, view, and enabled experiments. Each submission is linked to a record containing a one-way hash of the conversation or session identifier, a request trace ID if your AI app sends one, the name and version your AI app reports, and timestamps.
- Short-lived memory. Some working state is kept only in server memory and disappears when the service restarts. This includes random acknowledgement codes for the grounding rules, which are not linked to you, and recent search results, so your AI app can ask for more pages without repeating the search. Grounding acknowledgement supports the service's core purpose of helping AI stay grounded in retrieved sources, cite them clearly, and signal when an answer includes interpretation beyond what those sources explicitly say.
- Connection and transport metadata. Like most internet services, our infrastructure may process technical metadata such as IP address, request path, timing, and transport details in order to deliver the service.
We don't ask for your name or email address. To recognize a conversation or account, we keep one-way hashes of the identifiers your AI app sends rather than the identifiers themselves. A hash can't be turned back into the identifier, but anyone who already has the identifier, such as the AI provider, could compute the same hash.
Scope note: this section describes the hosted public service at mcp.quran.ai, not every development or self-hosted setup.
How we use information
- To fulfill your request and return grounded Quran data to the AI app that called the service.
- To save and restore your place and settings in the interactive reader, including applying your reader settings across ChatGPT conversations.
- To keep the hosted service working and improve it, including troubleshooting failures, monitoring reliability, reviewing complete tool requests and results, and studying how search is used.
- To read and act on feedback you choose to send.
- To maintain session behavior, including short-lived grounding-acknowledgement state.
- To route requests through the service providers and infrastructure needed to deliver search, retrieval, and transport functionality.
We do not use the hosted public deployment described by this policy to build advertising profiles or to sell personal information.
Service providers and infrastructure
We use service providers and infrastructure to operate the hosted service.
- Google. Our self-hosted search service sends your search text to Google's Gemini API, which turns it into a numeric representation of its meaning (an embedding) so it can be matched to passages by meaning.
- Voyage AI. When the word-concordance tool ranks results by meaning, it may send the Arabic word being looked up and the matching Quran verse texts or word meanings to Voyage AI.
- Quran Foundation. The interactive reader loads Quran page fonts from Quran Foundation's font server (
verses.quran.foundation). Your device requests one font file per mushaf page, so that server receives your IP address and which pages you view. - Your AI app. The AI app you use, such as ChatGPT or Claude, receives our tool results. When you use the reader, it also receives your selection and reader context so the assistant can respond to them. Your AI app handles that information under its own privacy policy.
- Google Analytics. The quran.ai landing page loads Google's analytics script with measurement ID
G-6N91YL10CK. This applies to browser visits to quran.ai, not to MCP tool calls or the pages at mcp.quran.ai. - Website fonts. Public website pages serve their web fonts directly. Loading these fonts does not send a font-delivery request to Google.
- Cloudflare and hosting infrastructure. Cloudflare, our hosting provider, and container/runtime infrastructure may process standard connection and operational metadata to deliver the service.
These providers process information on their own systems subject to their own operational and retention practices.
Retention
- Saved reader state. Deleted automatically 180 days after the reader last saved a change to it, such as a new page, selection, or setting. Each reader's own records (its random ID, hashed access token, and record of recent saves) are deleted 30 days after that reader was last active. Cleanup runs when the service starts and whenever the reader is used, so a record can remain for a short time past its deadline. If the service reaches its storage limits, the oldest saved state is deleted sooner.
- Account-level reader settings in ChatGPT. Kept until they are deleted. They do not currently expire automatically.
- Complete tool transcript. Stored in files capped at about 500 MB in total. The oldest records are deleted automatically as new ones are written, so how long a record lasts depends on how busy the service is.
- Application, search-service, and container logs. We don't set a fixed retention period for these logs. They remain until they are rotated or deleted by the operator or the server's log handling, for example when a service is replaced during an update.
- Feedback you choose to send. Kept until we delete it. The hosted service does not currently delete feedback automatically.
- Backups. When we update or migrate the service, we make private database backups and keep earlier copies of the database. These can include saved reader state, account-level reader settings, and feedback. The automatic deletion above does not apply to them; they are kept until we delete them.
- Short-lived memory. Recent search results are kept for up to an hour. Grounding acknowledgement codes are kept until newer codes replace them. Both are lost when the service restarts.
- Settings stored in your browser. These stay on your device until you, your browser, or your AI app clears them.
- Provider-side retention. Edge, hosting, and provider logs may be retained under provider-managed policies that are outside direct application control.
Deletion requests and privacy choices
You can send privacy questions or deletion requests to [email protected] or use our public support page.
We will review requests and delete information we control where we can. We don't store names or email addresses, and we recognize conversations and accounts only by one-way hashes. This limits what we know about you, but it also means we usually can't find a particular person's records from a name, an email address, or a description of their activity.
- Saved reader state is deleted automatically on the schedule above. We can't single out your saved state to delete it sooner.
- Account-level reader settings in ChatGPT don't expire, and the reader doesn't offer a way to delete them yourself. Because we can't single out your record from a request, we can't currently delete only your settings.
- Feedback you sent is stored as written. If you tell us roughly when you sent it and what it said, we can usually find and delete it.
- Logs, the tool transcript, and backups can't reliably be searched for one person's entries. They are removed as described under Retention.
- Settings stored in your browser can be removed by clearing your browser or app data.
- Provider and infrastructure logs held by edge or hosting providers follow those providers' own policies, so we can't promise targeted deletion from them.
The hosted public service does not require an account with us, so there is no account dashboard for managing or exporting data.
Website visitors
This section applies when you load public pages such as the landing page, docs, support page, or this privacy policy.
- The quran.ai landing page uses Google Analytics. The documentation, support, and privacy pages at mcp.quran.ai do not load analytics scripts, and analytics is not involved in MCP tool calls.
- Web fonts are served directly with these pages; rendering the page does not require a Google Fonts request.
- When you load the documentation, support, or privacy page, our application logs the page address and your IP address as reported by Cloudflare. Website requests also pass through Cloudflare and the hosting stack, which can process standard connection metadata such as IP address, request path, and timing.
- This website section is separate from MCP tool use. Visiting the site does not, by itself, submit MCP feedback or create stored tool-call records in the hosted public service.
Optional feedback-sharing features or self-hosted deployments
The hosted public service at mcp.quran.ai accepts only the explicit feedback described above. It does not use the other optional relay features described here.
If a maintainer or self-hosted operator enables the full relay feature set, that deployment may also store tool-call metadata, AI reflections, and usage-gap reports in PostgreSQL, along with explicit user feedback and optional user quotations, according to the operator's chosen configuration. In the current checked-in configuration, a deployment with relay enabled deletes tool-call records and feedback older than 180 days each time it starts.
Any self-hosted deployment is controlled by its own operator and may use different providers, logging, analytics, or retention settings. Those deployments should publish their own privacy disclosures.
Changes to this policy
We may update this policy as the hosted service changes. We will post the updated version at this URL and change the last-updated date at the top of the page.
Contact us
For privacy questions, deletion requests, or directory-review concerns, email [email protected] or use /support.