Skip to main content
Glama

Server Details

Shariah screening of US stocks under four standards, halal alternatives, purification and zakat.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
GoodTurnStudio/goodturn-mcp
GitHub Stars
0
Server Listing
goodturn-mcp

TDQS

A3.7/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: single-company screening (screen_company), bulk screening (screen_portfolio), finding substitutes (find_halal_alternatives), dividend purification (purify_dividend), zakat calculation (calculate_zakat), and reference lookup (list_standards). The scope-based split between screen_company and screen_portfolio is explicit, and the descriptions reinforce the boundaries.

Naming Consistency5/5

All six tools follow a clean verb_noun snake_case pattern (calculate_zakat, find_halal_alternatives, list_standards, purify_dividend, screen_company, screen_portfolio). The convention is uniform throughout with no deviations.

Tool Count5/5

Six tools is well-scoped for a Shariah screening/Zakat domain, covering calculation, screening, purification, alternatives, and reference without redundancy. Every tool earns its place.

Completeness4/5

The surface covers the core lifecycle: list standards, screen a company, screen a portfolio, find alternatives, purify dividends, and compute zakat. Minor gaps remain, such as no explicit capital-gains purification or zakat-on-other-asset-classes tool, but agents can work around these.

Available Tools

6 tools
calculate_zakatZakat owed on cash, gold, silver, shares and business stockB
Read-onlyIdempotent
Inspect

Zakat owed on cash, gold, silver, shares and business stock, using live gold and silver prices.

ParametersJSON Schema
NameRequiredDescriptionDefault
cashNoCash and bank balances.
nisabNoWhich nisab to use. Defaults to silver.
currencyNoDefaults to USD.
gold_gramsNoGold held, in grams.
gold_valueNoOr the value of gold held.
owed_to_youNoMoney owed to you that you expect to be repaid.
silver_gramsNoSilver held, in grams.
silver_valueNoOr the value of silver held.
debts_due_nowNoDebts due now, deducted.
business_stockNoValue of business stock for sale.
shares_tradingNoMarket value of shares held for trading (counted in full)
shares_longtermNoMarket value of shares held long term.
share_zakatable_pctNoShare of long-term holdings treated as zakatable, default 25.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact — that it pulls live gold and silver prices — implying results vary with market data, but says nothing about defaults with zero inputs, rounding, or what is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is essentially a copy of the title, so it earns its place as a scope statement but adds little new information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-parameter, all-optional calculation tool with no output schema, the description never explains what comes back (zakat due, nisab threshold applied) or that a bare call is valid. It covers the input domain adequately but leaves the agent guessing about the result shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 13 parameters are already self-documenting (grams vs value, nisab enum, defaults for nisab/currency/share_zakatable_pct). The description merely restates the parameter categories and adds no syntax, precedence, or mutually-exclusive guidance beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific resource (zakat owed) and enumerates the asset classes it covers (cash, gold, silver, shares, business stock), which is concrete enough to separate it from screening/purification siblings. It stops short of naming an alternative or stating the compute verb explicitly, but the purpose is unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of how this differs from siblings like purify_dividend or screen_portfolio. The agent must infer that this is the tool for computing an actual obligation rather than screening assets.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_halal_alternativesHalal alternatives to a holdingA
Read-onlyIdempotent
Inspect

Halal alternatives to a holding. Companies Mizan covers in the same industry (or the nearest related one) whose business is permitted and whose debt passes all four standards at the last quarter-end, largest first, plus Shariah index funds for US and UK investors. Screen a pick live with screen_company before buying.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesThe holding to replace: a US listing symbol or company name.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish the safe read-only, idempotent, open-world profile, so the description's burden is lower. It adds real behavioral context the annotations don't: result composition (stocks plus index funds), sort order (largest first), and the recency constraint (last quarter-end). It does not state result count or pagination.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the outcome and the screening criteria, followed by a short call to action. The criteria sentence is dense and nested but every clause carries selection-relevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only lookup with one simple parameter and no output schema, the description covers what the results contain, how they are filtered, and in what order. Missing only secondary details like result limits or pagination.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents the single ticker parameter at 100% coverage, including that it accepts a US listing symbol or company name. The description adds no further meaning about the parameter, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific output (halal alternatives) and enumerates the exact criteria: companies Mizan covers in the same or nearest related industry, business permitted, debt passing all four standards at last quarter-end, ordered largest first, plus Shariah index funds for US/UK investors. This is precise enough to distinguish it from sibling screen tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Screen a pick live with screen_company before buying' explicitly names the complementary sibling and the workflow step that follows. It gives clear when-to-use context but no explicit exclusion of when this tool is the wrong choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_standardsThe four standards, their denominators and thresholdsC
Read-onlyIdempotent
Inspect

The four standards, their denominators and thresholds. Screens a US-listed company against four published Shariah equity standards (AAOIFI, Dow Jones Islamic Market, S&P Shariah, MSCI Islamic), first on its business (prohibited industries each standard excludes) and then on its debt, using live...

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds only a fragment ('using live...') before truncating, so any behavioral value it might have conveyed about data freshness or method is lost. It provides essentially nothing beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first sentence merely restates the title verbatim, wasting the front-load position, and the second sentence is truncated mid-clause ('using live...'), leaving the definition structurally incomplete. Not appropriately sized because it literally cuts off.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no parameters, the description carries the full burden of explaining what the tool returns (denominators, thresholds) and when it applies. Because it is truncated and never explains its output or its boundary against screen_company, an agent cannot confidently invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters (schema coverage 100%, empty properties), so there is nothing for the description to disambiguate. Baseline 4 applies, though the schema is trivial enough that no parameter guidance is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (the four Shariah equity standards: AAOIFI, Dow Jones Islamic Market, S&P Shariah, MSCI Islamic) and mentions their denominators and thresholds. However, the name 'list_standards' implies a reference-listing tool while the text describes screening 'a US-listed company,' which overlaps heavily with the sibling screen_company, leaving the actual purpose ambiguous. The sentence is also cut off, so the complete intent never lands.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives despite siblings like screen_company and screen_portfolio that appear to do the screening work described here. The agent has no signal for choosing this tool over those.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

purify_dividendHow much of a dividend to give to charityA
Read-onlyIdempotent
Inspect

How much of a dividend to give to charity. Returns the company's purification ratio (interest income over total revenue, from its latest 10-K that reports interest income; 'latest_annual_filing' and 'note' say when that is older than the latest 10-K) and, if a dividend amount is given, the amount to give to charity. For a company whose main business every standard excludes, 'business_screen' explains that purification does not make it permissible.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesUS listing symbol.
dividendNoThe dividend received, in any currency.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds real value beyond them: it explains that the ratio comes from the latest 10-K reporting interest income, that 'latest_annual_filing' and 'note' indicate staleness, and that purification cannot rescue a company failed by the business screen.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose in the first sentence, with no filler. The second sentence is dense with nested clauses and parentheticals, which slightly slows parsing but every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must carry return semantics, and it does describe both possible returns (ratio, and charity amount when dividend is given) plus staleness indicators. Remaining gaps like units/currency of the returned amount are minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented, and the description adds only the conditional linkage that supplying 'dividend' yields a charity amount. It does not clarify currency handling (dividend 'in any currency') or how the ratio is expressed, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb-like outcome ('how much of a dividend to give to charity') plus the concrete resource (the purification ratio derived from interest income over total revenue). It is clearly distinguishable from siblings like screen_company, calculate_zakat, and find_halal_alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context for use: compute the purification ratio, and derive a charity amount when a dividend is supplied. It also flags the boundary case via business_screen for companies excluded by every standard. It does not explicitly route users away from siblings (e.g., when to prefer screen_company), so it stops short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

screen_companyScreen one company against all four standardsA
Read-onlyIdempotent
Inspect

Screen one company against all four standards. Returns a 'say' sentence, the live price, the consolidated share count, the filing figures used, the business screen per standard ('business': main_business, by_standard pass/fail/review, excluded_under), and each standard's ratio, threshold and verdict. In each screens entry, 'compliant' is the overall verdict (false when that standard excludes the company's business, null when the business needs a closer look) and 'debt_compliant' is the debt test alone. Verdicts within one percent of a threshold are flagged borderline. A company name (for example nvidia) also works.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesUS listing symbol (a common company name also works).

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description goes further, disclosing non-obvious behavior: 'compliant' is overall verdict and becomes null when the business needs review, 'debt_compliant' is the debt test alone, and verdicts within one percent of a threshold are flagged borderline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first clause, followed by a dense but tight enumeration of return fields and their semantics. It is appropriately sized for a tool with no output schema, though the long parenthetical about 'compliant' could be trimmed slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and a single well-documented parameter, the description carries the full disclosure burden and does so thoroughly: it names every returned field, the per-standard ratio/threshold/verdict, and the meaning of the null/borderline cases. Nothing needed to interpret the result is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the single 'ticker' parameter. The description's note that a common company name (e.g. nvidia) also works largely duplicates the schema's 'a common company name also works', adding no new syntax or format detail, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and resource ('Screen one company against all four standards') and names the exact scope ('one company'), which cleanly distinguishes it from the sibling screen_portfolio. An agent can tell the two apart without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the scope word 'one' against the sibling 'screen_portfolio', so the single-vs-many selection is inferable. However, there is no explicit when/when-not statement, no mention of prerequisites, and no direct routing to the sibling alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

screen_portfolioScreen a whole portfolioA
Read-onlyIdempotent
Inspect

Screen a whole portfolio. Screens up to 15 holdings under all four standards and returns the share of the portfolio that is compliant under each, the holdings that fail, and a combined dividend purification ratio.

ParametersJSON Schema
NameRequiredDescriptionDefault
holdingsYesComma-separated tickers, each optionally followed by a colon and the value held, for weighting.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, open-world and non-destructive behavior. The description goes beyond them by disclosing the 15-holding ceiling and, importantly, describing the return payload: per-standard compliance share, failing holdings, and a combined dividend purification ratio.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, the purpose leading and return details following — well front-loaded with no filler. The second sentence is dense but every clause (standards count, compliance share, failures, purification ratio) adds information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully enumerates the return shape, and annotations cover the safety profile, leaving few gaps. It does not state error behavior past the 15-holding limit or how weighting affects the results, which would round it out.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single parameter with 100% schema description coverage, so the ticker:weight syntax is already documented in the schema. The description only adds the aggregate cap (15 holdings), which is marginally useful but not beyond-schema meaning for the parameter itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Screen) and resource (a whole portfolio), and the phrase 'whole portfolio' inherently distinguishes it from the sibling screen_company, which presumably handles one company. It also quantifies scope with the 15-holding cap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the 15-holding cap and the portfolio-level framing, but the description never explicitly says when to use this versus screen_company or list_standards, nor what happens past 15 holdings. Adequate context, no explicit routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedcalculate_zakat10 fields changed
      • changedInput schema / properties / business_stock / description
        Previous value: -"Value of business stock for sale"New value: +"Value of business stock for sale."
      • changedInput schema / properties / cash / description
        Previous value: -"Cash and bank balances"New value: +"Cash and bank balances."
      • changedInput schema / properties / debts_due_now / description
        Previous value: -"Debts due now, deducted"New value: +"Debts due now, deducted."
      • changedInput schema / properties / gold_grams / description
        Previous value: -"Gold held, in grams"New value: +"Gold held, in grams."
      • changedInput schema / properties / gold_value / description
        Previous value: -"Or the value of gold held"New value: +"Or the value of gold held."
      • changedInput schema / properties / owed_to_you / description
        Previous value: -"Money owed to you that you expect to be repaid"New value: +"Money owed to you that you expect to be repaid."
      • changedInput schema / properties / share_zakatable_pct / description
        Previous value: -"Share of long-term holdings treated as zakatable, default 25"New value: +"Share of long-term holdings treated as zakatable, default 25."
      • changedInput schema / properties / shares_longterm / description
        Previous value: -"Market value of shares held long term"New value: +"Market value of shares held long term."
      • changedInput schema / properties / silver_grams / description
        Previous value: -"Silver held, in grams"New value: +"Silver held, in grams."
      • changedInput schema / properties / silver_value / description
        Previous value: -"Or the value of silver held"New value: +"Or the value of silver held."
  2. 6 tool updates
    • First observedcalculate_zakat
    • First observedfind_halal_alternatives
    • First observedlist_standards
    • First observedpurify_dividend
    • First observedscreen_company
    • First observedscreen_portfolio

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Screens US-listed stocks and ETFs for Sharia compliance, providing auditable verdicts with SEC filing citations and multiple screening methodologies.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides 22 tools for Shariah-compliant stock and ETF screening across 5 methodologies, portfolio auditing, zakat calculation, and live market data for AI agents.
    26 npm
    2
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Enables deep-value stock screening from SEC EDGAR XBRL filings by computing tangible book, NCAV, NNWC and net cash, checking filing-index disqualifiers, and producing equal-weight whole-share allocations and rebalance orders.
    29
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.