Koskamo

Good Turn Studio Halal or Not MCP

An MCP server that provides halal verification for food, cosmetics, medicines, stocks, funds, and crypto. It checks ingredients, barcodes, and financial instruments against the four Sunni schools and major scholarly bodies, returning verdicts, reasoning, and alternatives.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Good Turn Studio Halal or Not MCP logo, by Good Turn StudioCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-07Published by Good Turn Studio
MCP endpoint (Streamable HTTP)
https://goodturn-mcp.pages.dev/halalornot/mcp
Vendor documentation

What its tools do

13 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

13 of 13 have a description · 13 of 13 declare behavior hints · 11 of 11 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Check ingredients for halal compliance
  • Verify stocks and funds via Shariah screens
  • Determine if a cryptocurrency is halal
  • Get prayer times for a location

Source and maintenance

Community listingRegistry 1.1.0
Maintenance checked

Protocol and capabilities

Server
goodturn-halalornot 1.1.0
MCP protocol negotiated in check
2025-11-25
Tools
13 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Answers 'is it halal?' for food, cosmetics, medicines, stocks, funds, crypto, money products and everyday life, showing where the four Sunni schools and the main scholarly bodies agree and where they differ, with the reasoning and halal alternatives. Every answer has a 'verdict', a 'headline' and a 'say' line (one or two sentences to read aloud). Every tool is read-only and nothing about the user is stored. Where an answer has a "say" field, it is a ready-to-read summary. More at https://halalornot.pages.dev

Tools

13 advertised

check_ingredients — Check an ingredients list
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Check an ingredients list. Takes the ingredients exactly as printed on the pack. Returns an overall verdict, a verdict for each school, and every flagged ingredient with the reason.

check_ingredients input schema
{
  "type": "object",
  "required": [
    "ingredients"
  ],
  "properties": {
    "context": {
      "enum": [
        "food",
        "cosmetic",
        "medicine"
      ],
      "type": "string",
      "default": "food",
      "description": "'cosmetic' for products used on the skin, 'medicine' for medicines and supplements; these change how alcohol, carmine and necessity are treated."
    },
    "ingredients": {
      "type": "string",
      "description": "Ingredients list as printed, comma separated."
    }
  },
  "additionalProperties": false
}
check_ingredients annotations
{
  "title": "Check an ingredients list",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
check_product_by_barcode — Check a product by barcode
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Check a product by barcode. Looks the barcode up in Open Food Facts, then Open Beauty Facts, and checks its ingredients.

check_product_by_barcode input schema
{
  "type": "object",
  "required": [
    "barcode"
  ],
  "properties": {
    "barcode": {
      "type": "string",
      "description": "EAN-13, EAN-8 or UPC barcode digits."
    }
  },
  "additionalProperties": false
}
check_product_by_barcode annotations
{
  "title": "Check a product by barcode",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
search_products — Find products by name and check them
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Find products by name and check them. Searches Open Food Facts by name or brand (for example 'Haribo Starmix') and returns up to five matches, each with a verdict, plus a 'say' line for the best match. Where a brand states the source of an ingredient its label leaves unnamed (Haribo: pork gelatine in its standard UK range), that statement decides it and is quoted in brand_statement.

search_products input schema
{
  "type": "object",
  "required": [
    "q"
  ],
  "properties": {
    "q": {
      "type": "string",
      "description": "A product, brand or barcode to look up, for example Haribo Starmix or 5000159484695."
    },
    "country": {
      "type": "string",
      "default": "united-kingdom",
      "description": "Open Food Facts country slug, for example united-kingdom, united-states, france. 'world' means no filter. Also picks the Amazon store for halal versions (amazon.co.uk for the UK and Ireland)."
    }
  },
  "additionalProperties": false
}
search_products annotations
{
  "title": "Find products by name and check them",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
explain_ingredient — Explain one ingredient or E-number
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Explain one ingredient or E-number. For example 'E471', 'carmine', 'prawns', 'whey' or 'alcohol denat'. Returns the verdict for each school and the reasoning.

explain_ingredient input schema
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The ingredient or E-number, for example E471, carmine, gelatin or alcohol denat."
    },
    "context": {
      "enum": [
        "food",
        "cosmetic"
      ],
      "type": "string",
      "description": "Whether the ingredient is in food or a cosmetic. Defaults to food."
    }
  },
  "additionalProperties": false
}
explain_ingredient annotations
{
  "title": "Explain one ingredient or E-number",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
screen_stock — Is this stock halal?
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Is this stock halal? Screens a US-listed stock via Mizan: first the business (each standard's excluded industries), then the AAOIFI, Dow Jones Islamic, S&P Shariah and MSCI Islamic debt screens. A company name also works (nvidia, philip morris). Links to halal alternatives in the same industry.

screen_stock input schema
{
  "type": "object",
  "required": [
    "ticker"
  ],
  "properties": {
    "ticker": {
      "type": "string",
      "description": "A US stock ticker, for example AAPL or TSLA."
    }
  },
  "additionalProperties": false
}
screen_stock annotations
{
  "title": "Is this stock halal?",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
ask_is_it_halal — Ask any 'is it halal' question
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Ask any 'is it halal' question. Covers money (savings, credit cards, mortgages, BNPL, insurance, pensions, trading), crypto, medicine, food and drink, and everyday life (music, dogs, tattoos, nail polish, smoking, games, photos, jobs). Returns the verdict, the main scholarly views and halal alternatives. Also recognises single ingredients and E-numbers.

ask_is_it_halal input schema
{
  "type": "object",
  "required": [
    "q"
  ],
  "properties": {
    "q": {
      "type": "string",
      "description": "The question in plain words, for example 'Is a credit card halal?'"
    }
  },
  "additionalProperties": false
}
ask_is_it_halal annotations
{
  "title": "Ask any 'is it halal' question",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
check_fund — Is this fund, ETF or pension fund halal?
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Is this fund, ETF or pension fund halal? Recognises Shariah funds by name or ticker. For other US-registered funds and ETFs, reads the latest SEC holdings report and screens every holding by industry and debt. UK-listed ETFs (VUSA, CSPX, VWRL, SWDA, EQQQ, ISF and others) and fund names (Vanguard S&P 500, FTSE 100 tracker, LifeStrategy) are answered through a US fund tracking the same index, or from what the index holds, with UK Shariah options.

check_fund input schema
{
  "type": "object",
  "required": [
    "ticker"
  ],
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Fund or ETF ticker (VOO, QQQ, SPUS) or a Shariah fund name."
    }
  },
  "additionalProperties": false
}
check_fund annotations
{
  "title": "Is this fund, ETF or pension fund halal?",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
check_crypto — Is this cryptocurrency halal?
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Is this cryptocurrency halal? Classifies a coin by what it does (lending, gambling, meme, stablecoin, staking, general-purpose) and gives the scholarly views on crypto and on how it's used.

check_crypto input schema
{
  "type": "object",
  "required": [
    "coin"
  ],
  "properties": {
    "coin": {
      "type": "string",
      "description": "Coin name or symbol, for example bitcoin, ETH, AAVE."
    }
  },
  "additionalProperties": false
}
check_crypto annotations
{
  "title": "Is this cryptocurrency halal?",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
check_medicine — Is this medicine halal?
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Is this medicine halal? Reads a medicine's active and inactive ingredients from its US label (openFDA) and flags gelatine, alcohol, pig-derived enzymes and heparin. The headline and say line lead with the ruling on necessity, so nobody stops a prescribed medicine; the ingredient reading follows (ingredient_headline, verdict)

check_medicine input schema
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Brand or generic name."
    }
  },
  "additionalProperties": false
}
check_medicine annotations
{
  "title": "Is this medicine halal?",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_prayer_times — Today's prayer times for a place, with Ramadan suhoor and iftar
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Today's prayer times for a place, with both Asr times and Ramadan suhoor and iftar. Answers 'is it halal?' for food, cosmetics, medicines, stocks, funds, crypto, money products and everyday life, showing where the four Sunni schools and the main scholarly bodies agree and where they differ, with the reasoning and halal alt...

get_prayer_times input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "lat": {
      "type": "number",
      "description": "Latitude of the place, in decimal degrees. Goes with lon instead of city."
    },
    "lon": {
      "type": "number",
      "description": "Longitude of the place, in decimal degrees. Goes with lat instead of city."
    },
    "city": {
      "type": "string",
      "description": "City name, for example London or Chicago, IL."
    },
    "date": {
      "type": "string",
      "format": "date",
      "description": "The day, YYYY-MM-DD. Defaults to today."
    },
    "method": {
      "enum": [
        "isna",
        "mwl",
        "umm_al_qura",
        "egypt",
        "karachi",
        "moonsighting"
      ],
      "type": "string",
      "description": "Calculation method: isna (North America), mwl (Muslim World League), umm_al_qura, egypt, karachi or moonsighting."
    }
  },
  "additionalProperties": false
}
get_prayer_times annotations
{
  "title": "Today's prayer times for a place, with Ramadan suhoor and iftar",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
list_topics — Every question the rulebook covers
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Every question the rulebook covers. Answers 'is it halal?' for food, cosmetics, medicines, stocks, funds, crypto, money products and everyday life, showing where the four Sunni schools and the main scholarly bodies agree and where they differ, with the reasoning and halal alt...

list_topics input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "category": {
      "enum": [
        "money",
        "crypto",
        "medicine",
        "food",
        "life"
      ],
      "type": "string",
      "description": "Only topics in this area: money, crypto, medicine, food or life."
    }
  },
  "additionalProperties": false
}
list_topics annotations
{
  "title": "Every question the rulebook covers",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
explain_schools — How the four schools differ on food
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

How the four schools differ on food. Answers 'is it halal?' for food, cosmetics, medicines, stocks, funds, crypto, money products and everyday life, showing where the four Sunni schools and the main scholarly bodies agree and where they differ, with the reasoning and halal alt...

explain_schools input schema
{
  "type": "object",
  "required": [],
  "properties": {},
  "additionalProperties": false
}
explain_schools annotations
{
  "title": "How the four schools differ on food",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
list_rules — The full rulebook
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

The full rulebook. Answers 'is it halal?' for food, cosmetics, medicines, stocks, funds, crypto, money products and everyday life, showing where the four Sunni schools and the main scholarly bodies agree and where they differ, with the reasoning and halal alt...

list_rules input schema
{
  "type": "object",
  "required": [],
  "properties": {},
  "additionalProperties": false
}
list_rules annotations
{
  "title": "The full rulebook",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
178 ms
95th percentile latency
178 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 178 ms · metadata changed · 13 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http halal-or-not-mcp https://goodturn-mcp.pages.dev/halalornot/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add halal-or-not-mcp --url https://goodturn-mcp.pages.dev/halalornot/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable halal-or-not-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "halal-or-not-mcp": {
      "url": "https://goodturn-mcp.pages.dev/halalornot/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "halal-or-not-mcp": {
      "type": "streamableHttp",
      "url": "https://goodturn-mcp.pages.dev/halalornot/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start halal-or-not-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "halal-or-not-mcp": {
      "type": "http",
      "url": "https://goodturn-mcp.pages.dev/halalornot/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http halal-or-not-mcp https://goodturn-mcp.pages.dev/halalornot/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://goodturn-mcp.pages.dev/halalornot/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "halal-or-not-mcp": {
      "serverUrl": "https://goodturn-mcp.pages.dev/halalornot/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Good Turn Studio Halal or Not MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.