Mizan
Server Details
Shariah screening of US stocks under four standards, halal alternatives, purification and zakat.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-11-25
- URL
- Repository
- GoodTurnStudio/goodturn-mcp
- GitHub Stars
- 0
- Server Listing
- goodturn-mcp
TDQS
Scored across 6 tools
Each tool has a largely distinct purpose: screening one company vs a portfolio vs discovering alternatives vs dividend purification vs zakat vs a standards reference. The only mild overlap is between screen_company (which surfaces per-standard ratios) and list_standards (which surfaces thresholds/denominators), but they serve different needs and descriptions clarify the boundary.
All six tools follow a consistent verb_noun pattern in snake_case (calculate_zakat, find_halal_alternatives, list_standards, purify_dividend, screen_company, screen_portfolio). No camelCase or vague verb exceptions.
Six tools is well-scoped for a Shariah screening server, with each tool clearly earning its place across screening, purification, zakat, reference, and discovery. No redundancy or padding.
The surface covers the core lifecycle: single-company screening, portfolio screening, dividend purification, zakat, standards reference, and halal alternatives. A way to discover the covered company universe (e.g. search/list covered tickers) is only implicitly addressed via find_halal_alternatives, a minor gap.
Available Tools
6 toolscalculate_zakatZakat owed on cash, gold, silver, shares and business stockCRead-onlyIdempotentInspect
Zakat owed on cash, gold, silver, shares and business stock, using live gold and silver prices
| Name | Required | Description | Default |
|---|---|---|---|
| cash | No | Cash and bank balances | |
| nisab | No | Which nisab to use. Defaults to silver. | |
| currency | No | Defaults to USD. | |
| gold_grams | No | Gold held, in grams | |
| gold_value | No | Or the value of gold held | |
| owed_to_you | No | Money owed to you that you expect to be repaid | |
| silver_grams | No | Silver held, in grams | |
| silver_value | No | Or the value of silver held | |
| debts_due_now | No | Debts due now, deducted | |
| business_stock | No | Value of business stock for sale | |
| shares_trading | No | Market value of shares held for trading (counted in full) | |
| shares_longterm | No | Market value of shares held long term | |
| share_zakatable_pct | No | Share of long-term holdings treated as zakatable, default 25 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description's 'using live gold and silver prices' implies fetching external dynamic market data, which contradicts openWorldHint=false and idempotentHint=true. Per the scoring rules, this is an annotation contradiction and scores 1.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence that front-loads the asset classes and the live-price mechanic. It contains no wasted words, though it is a dependent phrase rather than a complete sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The rich input schema fully covers the optional parameters, but with no output schema the description should clarify the return value (e.g., zakat amount or breakdown) and the calculation basis. It only implies that the output is 'Zakat owed' and leaves method details unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all 13 parameters documented including defaults, enums, and constraints. The description adds no parameter-level meaning beyond what the schema already provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the calculation subject and the asset classes covered (cash, gold, silver, shares, business stock), and notes the live-price dependency, making it clearly distinct from sibling screening tools. However, it uses a noun phrase rather than an explicit verb, and does not outright say it returns the zakat amount.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this calculator versus alternatives, nor are there any prerequisites or exclusions. The intended use is only implied by the name and the asset list.
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 holdingARead-onlyIdempotentInspect
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/{ticker} before buying
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | The holding to replace: a US listing symbol or company name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the bar is lower. The description adds genuine context beyond that: the eligibility criteria (debt passing all four standards as of last quarter-end), the sort order (largest first), the inclusion of Shariah index funds for US/UK investors, and a pre-purchase screening step.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, with the core purpose front-loaded and the screening caveat placed last as an actionable caution. Some qualifier stacking ("or the nearest related one," "for US and UK investors") but nothing that should be cut.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates by describing what comes back (industry-matched permitted companies, rank order, index funds). For a one-parameter lookup this is nearly complete; only pagination/result limits are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single ticker parameter, and the schema already notes it accepts a US listing symbol or company name. The description adds no syntax or format detail beyond identifying the input as "the holding to replace," so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb-implied action (find/return alternatives) and resource (Halal-compliant replacements for a holding), and spells out the return contents: same-industry companies permitted by the four debt standards plus Shariah index funds. It is clearly distinct from screen_company and screen_portfolio, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the phrase "the holding to replace" and "before buying" convey the workflow (swap a non-compliant holding, verify before purchase). There is no explicit when-to-use/when-not guidance or routing to alternatives like screen_company.
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 thresholdsCRead-onlyIdempotentInspect
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...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior. The description adds useful domain context by naming the four standards (AAOIFI, DJIM, S&P, MSCI) and their basis in published Shariah equity criteria, but it does not disclose what is actually returned or clarify the mismatch with its screening narrative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence merely restates the title, and the second trails off with an incomplete fragment 'using live...'. The description is both redundant at the front and truncated at the end, so no sentence is fully earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only source of information about what this reference-style tool returns (the standards, denominators, thresholds), yet it is cut off mid-sentence and never states the return shape or how the screening criteria are organized.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; no schema-level semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and name promise a listing of four standards, but the body pivots to describing a screening operation against a US-listed company. With zero parameters the tool cannot actually screen a company, so the stated purpose is inconsistent with the tool's shape and leaves the agent unsure what it returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus siblings such as screen_company or screen_portfolio. The description mentions a screening flow that arguably belongs to screen_company, which actively misleads about tool selection rather than guiding it.
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 charityARead-onlyIdempotentInspect
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
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | US listing symbol. | |
| dividend | No | The dividend received, in any currency. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive). The description adds real behavioral context beyond them: it explains the fallback to an older 10-K and the 'latest_annual_filing'/'note' fields that signal staleness, plus the business_screen caveat where purification does not apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is front-loaded with the core purpose, then returns, then the edge-case caveat. It is dense but each clause carries information; only the nested parenthetical about 'latest_annual_filing' is slightly heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining return values, which it does (ratio, charity amount, stale-filing fields, business_screen message). Complete enough to call correctly, though it omits error cases such as a ticker with no qualifying filing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: it clarifies that 'dividend' is optional and, when supplied, produces a charity amount, and it distinguishes the returned ratio semantics from the input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific computation (purification ratio = interest income over total revenue) and an optional derived output (charity amount for a given dividend). This clearly separates it from siblings like screen_company and calculate_zakat.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by explaining inputs and outputs, but never states when to reach for this tool versus screen_company or calculate_zakat. No explicit prerequisites or exclusions are given.
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 standardsARead-onlyIdempotentInspect
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
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | US listing symbol (a common company name also works). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds real behavioral context beyond that: it defines 'compliant' vs 'debt_compliant' semantics, explains the null case (business needs a closer look) and the borderline flag within one percent of a threshold. It does not mention data freshness/latency or error behavior, but the semantic disclosure is substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, then field semantics follow in a dense but information-bearing block justified by the absence of an output schema. The trailing name-fallback sentence feels tacked on, but overall there is little waste and no repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the entire return-value burden and does so: it enumerates the returned fields and clarifies the ambiguous verdict fields. The only parameter is documented and annotations cover safety, so nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter is fully described in the schema, including the name-fallback behavior. The description's closing note ("A company name (for example nvidia) also works") merely restates that schema hint, so it adds little beyond structured data โ baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+scope ("Screen one company against all four standards"), and the singular "one company" scope cleanly separates it from the sibling screen_portfolio. An agent can tell what it does and which sibling it is not without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is for a single-company check and screen_portfolio is for a portfolio, but the description never names alternatives or states when-not to use this. No prerequisites, exclusions, or routing guidance are given.
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 portfolioARead-onlyIdempotentInspect
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
| Name | Required | Description | Default |
|---|---|---|---|
| holdings | Yes | Comma-separated tickers, each optionally followed by a colon and the value held, for weighting. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile is covered. The description adds real behavioral context beyond that: the 15-holding cap, the fact that all four standards are applied, and the three outputs returned (compliance share per standard, failing holdings, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with the purpose and then the scope and outputs. Every clause carries information; nothing is padding or restated from the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 payload, and the single input is documented. The main remaining gap is edge behavior (what happens when more than 15 holdings are supplied, or how unweighted holdings are treated), which an agent would want before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter is fully documented by the schema, giving a baseline of 3. The description adds meaning the schema does not carry: the maximum of 15 holdings that may be passed, which is a real constraint on how the parameter is populated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Screen') and resource ('a whole portfolio'), and the scope qualifier 'up to 15 holdings under all four standards' separates it in practice from the single-entity sibling screen_company. It does not explicitly name or contrast any sibling, so it falls just short of the top band.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the tool for batch screening a set of holdings rather than one company. There is no statement of when to prefer it over screen_company, no preconditions, and no exclusions (e.g. what to do with more than 15 holdings).
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.
6 tool updates
- First observed
calculate_zakat - First observed
find_halal_alternatives - First observed
list_standards - First observed
purify_dividend - First observed
screen_company - First observed
screen_portfolio
Related MCP Connectors
Halal stock screening with receipts: every Sharia verdict cites its SEC filing. 5 methodologies.
Screen stocks and ETFs under AAOIFI Standard 21, with the SEC filing and ratios behind each verdict.
Is it halal? Food, medicines, stocks, funds and crypto, with a verdict for each of the four schools.
131Portfolio analytics + US-equity market research for AI clients. ChatGPT deep-research compat.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceScreens US-listed stocks and ETFs for Sharia compliance, providing auditable verdicts with SEC filing citations and multiple screening methodologies.-
- AlicenseNot gradedqualityCmaintenanceProvides 22 tools for Shariah-compliant stock and ETF screening across 5 methodologies, portfolio auditing, zakat calculation, and live market data for AI agents.47 npm2Apache 2.0
- AlicenseAqualityBmaintenanceEnables 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.29Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables MCP-based access to a US stock data warehouse and screener, allowing automated screening with daily free market data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.