Cashew MCP
sg.cashew/mcpcashew.sgstreamable-httpv1.0.0Scanned
Singapore mortgage rates, bank packages and calculators (23 read-only tools)
23 tools: 2 do something that can't be undone, 13 change things and 8 only read.
- Reads private data · 0
- Reads text others write · 1
- Can send data out · 0
- 6 findings
Anlyon alternative
15 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
23 tools
Can't be undone 2Claude Code: ask
calculate_progressive_paymentModel the monthly instalment profile of a Singapore Building Under Construction (BUC) property loan across progressive payment stages.1 finding
Why it is in this group
- The name "calculate_progressive_payment" says "payment": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "calculate_progressive_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The name "calculate_progressive_payment" says "payment": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Model the monthly instalment profile of a Singapore Building Under Construction (BUC) property loan across progressive payment stages. Handles fixed and floating rate packages, per-stage cash/CPF/loan funding split, drawdown timing, rate stepping by year, and optional prepayments. Set includeSchedule to true for the full month-by-month amortisation schedule (summary is always included).
Annotations the server declares
- title: Progressive payment (BUC) calculator
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
calculate_purchase_costCalculate the full upfront cost of purchasing a Singapore residential property (HDB or private resale), with each cost line attributed to its funding source (cash, CPF or bank loan…1 finding
Why it is in this group
- The name "calculate_purchase_cost" says "purchase": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "calculate_purchase_cost" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The name "calculate_purchase_cost" says "purchase": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Calculate the full upfront cost of purchasing a Singapore residential property (HDB or private resale), with each cost line attributed to its funding source (cash, CPF or bank loan). Returns option fee, exercise fee, stamp duties (BSD and ABSD), downpayment breakdown, and a sufficiency check against available funds.
Annotations the server declares
- title: Purchase cost & funding breakdown
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
Changes things 13Claude Code: ask
calculate_affordabilityEstimate the maximum loan and property price a borrower can afford from income, existing debt commitments and tenure, applying Singapore TDSR/MSR limits.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimate the maximum loan and property price a borrower can afford from income, existing debt commitments and tenure, applying Singapore TDSR/MSR limits. Use this when you know the income and want the budget; to go the other way (a target price → the income needed), use `calculate_required_income`.
Annotations the server declares
- title: Affordability calculator
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
calculate_hdb_resale_timelineGenerate a step-by-step dated timeline for an HDB resale purchase, from securing the Option to Purchase through to completion and key collection.1 finding
Why it is in this group
- The description's first verb is "generate": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "calculate_hdb_resale_timeline" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.
Description, as the server wrote it Generate a step-by-step dated timeline for an HDB resale purchase, from securing the Option to Purchase through to completion and key collection. Each step shows what happens, the date, and any payment due.
Annotations the server declares
- title: HDB resale purchase timeline
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
calculate_mortgage_repaymentCompute the monthly repayment, total interest and total cost for a hypothetical loan from an interest rate you supply (standard amortisation).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute the monthly repayment, total interest and total cost for a hypothetical loan from an interest rate you supply (standard amortisation). Use this for "what-if" rates; for the real rates of a specific package the borrower has chosen, use `calculate_package_schedule` instead.
Annotations the server declares
- title: Mortgage repayment calculator
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
calculate_mortgage_stamp_dutyCompute the stamp duty payable on a mortgage/loan facility.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute the stamp duty payable on a mortgage/loan facility.
Annotations the server declares
- title: Mortgage stamp duty
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
calculate_package_scheduleCompute the amortisation schedule for a SPECIFIC mortgage package using that package's real effective rates.1 finding
Why it is in this group
- The name "calculate_package_schedule" says "schedule": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "calculate_package_schedule" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The name "calculate_package_schedule" says "schedule": a word for a change.
Description, as the server wrote it Compute the amortisation schedule for a SPECIFIC mortgage package using that package's real effective rates. Use this once the borrower has picked a package from `recommend_packages`; for a hypothetical "what-if" rate the borrower does not yet hold a package for, use `calculate_mortgage_repayment` instead. Pass a `packageId` from `recommend_packages`, plus `loanAmount` and `tenureYears`. Always returns the full canonical schedule: loan facts (`context`), the per-tier breakdown (`periods`), rate structure, totals, and the per-year schedule (`annual`). The month-by-month schedule (`monthly`) is empty unless you pass `includeMonthly: true`. To also generate downloadable files, pass `formats` (`["pdf"]`, `["xlsx"]`, or both) — the public URLs come back under `documents` (null otherwise). Optional `firstPaymentDate` (YYYY-MM-DD, defaults to next month) dates the schedule.
Annotations the server declares
- title: Calculate package payment schedule
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
calculate_private_resale_timelineGenerate a step-by-step dated timeline for a private (non-HDB) resale purchase, with the 1% option fee, 4% exercise payment, stamp duties and completion payment at the right steps.1 finding
Why it is in this group
- The description's first verb is "generate": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "calculate_private_resale_timeline" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.
Description, as the server wrote it Generate a step-by-step dated timeline for a private (non-HDB) resale purchase, with the 1% option fee, 4% exercise payment, stamp duties and completion payment at the right steps. Exercise date defaults to 14 calendar days inclusive of the option date if not entered.
Annotations the server declares
- title: Private resale purchase timeline
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
calculate_rental_stamp_dutyCompute the stamp duty payable on a property lease from the rent and lease term.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute the stamp duty payable on a property lease from the rent and lease term.
Annotations the server declares
- title: Rental stamp duty
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
calculate_required_incomeWork out the gross monthly income needed to support a target property price under Singapore TDSR/MSR limits.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Work out the gross monthly income needed to support a target property price under Singapore TDSR/MSR limits. Use this when you know the target property price; to go the other way (income → maximum budget), use `calculate_affordability`.
Annotations the server declares
- title: Required-income calculator (reverse affordability)
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
calculate_residential_stamp_dutyCompute Buyer's Stamp Duty (BSD) and Additional Buyer's Stamp Duty (ABSD) for a Singapore residential purchase, given price/value, buyer type (singaporean | pr | foreigner | entity…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute Buyer's Stamp Duty (BSD) and Additional Buyer's Stamp Duty (ABSD) for a Singapore residential purchase, given price/value, buyer type (singaporean | pr | foreigner | entity | trust) and the number of residential properties already owned.
Annotations the server declares
- title: Residential stamp duty (BSD + ABSD)
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
calculate_sales_proceedsWork out what a seller walks away with when selling a property: cash proceeds after redeeming the outstanding loan, refunding each owner’s CPF (principal plus accrued interest, 1 t…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Work out what a seller walks away with when selling a property: cash proceeds after redeeming the outstanding loan, refunding each owner’s CPF (principal plus accrued interest, 1 to 4 owners), and paying agent commission (with 9% GST), legal and miscellaneous fees. Flags a negative sale when the deductions exceed the selling price.
Annotations the server declares
- title: Sales proceeds calculator
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
calculate_seller_stamp_dutyCompute Seller's Stamp Duty (SSD) from the sale price/value and how long the property has been held.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute Seller's Stamp Duty (SSD) from the sale price/value and how long the property has been held.
Annotations the server declares
- title: Seller's Stamp Duty (SSD)
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
check_eligibilityRun the regulatory affordability gate for up to four borrowers.1 finding
Why it is in this group
- The description's first verb is "run": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "check_eligibility" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "run": a word for a change.
Description, as the server wrote it Run the regulatory affordability gate for up to four borrowers. Given each borrower's income, rental, pledged/unpledged assets and liabilities plus a proposed loan, returns the qualifying income (after MAS haircuts), the TDSR and MSR for the proposed loan, the income-weighted average age (IWAA), and the maximum loan under both HDB/EC and private property rules. Use this upstream of `recommend_packages` to confirm what a borrower can qualify for.
Annotations the server declares
- title: Eligibility checker (TDSR / MSR)
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
recommend_packagesRank Singapore mortgage packages for a borrower.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Rank Singapore mortgage packages for a borrower. Returns up to 3 LLM-ranked picks with per-package reasoning, the 3 lowest-rate options, and a lookup of full package details. Core inputs (gather these first; ask the borrower if missing — do not guess): `dealKind` (PURCHASE | REFINANCE); `currentBankId` (required only for REFINANCE — use `list_banks` to resolve the lender name into its UUID); `propertyType` (HDB | PRIVATE | COMMERCIAL); `propertyStatus`; `loanAmount`. `propertyStatus` depends on `propertyType` — only these pairings are valid: HDB → COMPLETED (resale) or BTO (Build-To-Order, new); PRIVATE → COMPLETED (ready-built) or BUC (Built-Under-Construction, new); COMMERCIAL → OWNEROCCUPIED, INVESTMENT or PERSONAL. Do not mix across types (e.g. HDB + BUC or PRIVATE + BTO are invalid). Optional inputs (only refine the ranking): `ratesType` (FIXED | FLOATING) and `userContext` (free-text borrower priorities, timeline, bank relationships, citizenship, etc.). Pass `formats: ["pdf"]` to also generate a one-page comparison document of the recommended set (with per-package verdicts); the download URL comes back under `documents`. Optional `tenureYears` (default 25) sets the document's instalment assumptions. Stateless: if any input or preference changes, call this tool again with the full updated set — never infer an updated answer from a previous response.
Annotations the server declares
- title: Recommend mortgage packages
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
Only reads 8Show 8 read-only tools
analyze_decouplingAnalyse decoupling: the cost versus benefit of transferring one co-owner's share so a borrower is freed up for another purchase (including stamp duty).No findings
Why it is in this group
- The name "analyze_decoupling" says "analyze": a word for reading.
Description, as the server wrote it Analyse decoupling: the cost versus benefit of transferring one co-owner's share so a borrower is freed up for another purchase (including stamp duty).
Annotations the server declares
- title: Decoupling analysis
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
analyze_sell_one_buy_twoAnalyse a 'sell one, buy two' restructuring: the costs, loan sizing and stamp-duty impact of selling one property to purchase two.No findings
Why it is in this group
- The name "analyze_sell_one_buy_two" says "analyze": a word for reading.
Description, as the server wrote it Analyse a 'sell one, buy two' restructuring: the costs, loan sizing and stamp-duty impact of selling one property to purchase two.
Annotations the server declares
- title: Sell-one-buy-two analysis
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
calculate_refinance_savingsCompare a borrower's existing mortgage against a new rate and report monthly savings, total savings and break-even months.No findings
Why it is in this group
- The description's first verb is "compare": a word for reading.
Description, as the server wrote it Compare a borrower's existing mortgage against a new rate and report monthly savings, total savings and break-even months. Set `mode` to 'original' (supply the original loan amount, tenure and start date) or 'remaining' (supply the current outstanding balance and remaining tenure).
Annotations the server declares
- title: Refinance savings calculator
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
compare_packagesCompare 2–3 SPECIFIC mortgage packages side by side: average rate over the lock-in, benchmark index, effective rate and monthly instalment per year, interest paid per year, and fle…No findings
Why it is in this group
- The name "compare_packages" says "compare": a word for reading.
Description, as the server wrote it Compare 2–3 SPECIFIC mortgage packages side by side: average rate over the lock-in, benchmark index, effective rate and monthly instalment per year, interest paid per year, and flexibility terms (prepayment, free conversion, sale waiver, penalties, minimum loan). Pass `packageIds` from `recommend_packages`, plus `loanAmount` and optionally `tenureYears` (default 25). `dealKind`/`propertyType`/`propertyStatus` only label the report header. Pass `formats: ["pdf"]` to also render the one-page comparison document — the download URL comes back under `documents.pdfUrl` (null otherwise). This comparison has no verdict/recommendation section by default because it carries no borrower context; for a personalised ranking with verdicts, use `recommend_packages` (optionally with `formats`). The optional `verdicts`/`recommendedId` inputs only carry over the reasoning from a prior `recommend_packages` call — never author them.
Annotations the server declares
- title: Compare mortgage packages
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_index_quotesReturn historical quotes (rate by date) for a market benchmark index such as SORA.No findings
Why it is in this group
- The name "get_index_quotes" says "get": a word for reading.
Description, as the server wrote it Return historical quotes (rate by date) for a market benchmark index such as SORA. Requires `marketIndexId` — use `list_market_indices` to resolve a benchmark name/slug into its UUID. Optional `startDate`/`endDate` (ISO dates) narrow the range; results are paginated. Quote `rate` values are decimal fractions (0.0356 = 3.56% p.a.).
Annotations the server declares
- title: Get market index quotes
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_property_valuationIndicative SPML valuation for a Singapore unit.Reads text others writeNo findings
Why it is in this group
- The name "get_property_valuation" says "get": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Indicative SPML valuation for a Singapore unit. Requires postal code and unit number in FF-SS format (e.g. "04-02"). propertyType ("Condo" or "HDB") and areaSqft are optional — when propertyType is omitted, both types are probed and the one that values the unit is used (`propertyTypeUsed` in the result tells you which). A `valued: false` result means SPML could not value the unit — that is a valid answer, not an error.
Annotations the server declares
- title: Get indicative property valuation
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
list_banksList active banks (id + name), sorted by name.No findings
Why it is in this group
- The name "list_banks" says "list": a word for reading.
Description, as the server wrote it List active banks (id + name), sorted by name. Use this to map a borrower's current lender name to the `currentBankId` UUID required by `recommend_packages` for refinance deals.
Annotations the server declares
- title: List banks
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
list_market_indicesList market benchmark indices (id, slug, name, currency), sorted by slug.No findings
Why it is in this group
- The name "list_market_indices" says "list": a word for reading.
Description, as the server wrote it List market benchmark indices (id, slug, name, currency), sorted by slug. Use this to resolve a benchmark name like 'SORA' into the `marketIndexId` required by `get_index_quotes`.
Annotations the server declares
- title: List market indices
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data or outbound.
- Reads private data0
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write1
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out0
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Findings
Matches of fixed checks, with the text they matched.
The server marks "calculate_package_schedule" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The name "calculate_package_schedule" says "schedule": a word for a change.
The server marks "check_eligibility" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "run": a word for a change.
The server marks "calculate_purchase_cost" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The name "calculate_purchase_cost" says "purchase": a word that usually means money moves, which cannot be taken back.
The server marks "calculate_hdb_resale_timeline" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.
The server marks "calculate_private_resale_timeline" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.
The server marks "calculate_progressive_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The name "calculate_progressive_payment" says "payment": a word that usually means money moves, which cannot be taken back.
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http cashew https://www.cashew.sg/mcpclaude mcp add --transport http cashew https://www.cashew.sg/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__cashew__compare_packages",
"mcp__cashew__list_banks",
"mcp__cashew__get_property_valuation",
"mcp__cashew__list_market_indices",
"mcp__cashew__get_index_quotes",
"mcp__cashew__calculate_refinance_savings",
"mcp__cashew__analyze_sell_one_buy_two",
"mcp__cashew__analyze_decoupling"
],
"ask": [
"mcp__cashew__recommend_packages",
"mcp__cashew__calculate_package_schedule",
"mcp__cashew__calculate_affordability",
"mcp__cashew__calculate_required_income",
"mcp__cashew__calculate_mortgage_repayment",
"mcp__cashew__calculate_residential_stamp_duty",
"mcp__cashew__calculate_rental_stamp_duty",
"mcp__cashew__calculate_mortgage_stamp_duty",
"mcp__cashew__calculate_seller_stamp_duty",
"mcp__cashew__check_eligibility",
"mcp__cashew__calculate_sales_proceeds",
"mcp__cashew__calculate_purchase_cost",
"mcp__cashew__calculate_hdb_resale_timeline",
"mcp__cashew__calculate_private_resale_timeline",
"mcp__cashew__calculate_progressive_payment"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as cashew. Review it before you use it.
Capability tags behind 1 rule
- mcp__cashew__get_property_valuation untrusted-input
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/sg.cashew/mcp/verify?hash=0d306fc3bb817afdcecd36cd5d75214788758e799bbdd4eb47a3a910c36eb681" | jq -e '.changed == false'Pinned hash 0d306fc3bb81, from Oct 28, 2026, 20:19 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/sg.cashew/mcp/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/sg.cashew/mcp)Source: MCP Registry · repository. Synced Oct 28, 2026, 20:18 UTC.