About 株主優待 MCP (Yutai MCP)
株主優待 MCP (Yutai MCP)
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
Endpoint
https://yutai-mcp.web.app/mcpCopy install command
Claude CodeTerminal
claude mcp add --transport http app-web-yutai-mcp-yutai https://yutai-mcp.web.app/mcpCursor.cursor/mcp.json
{"mcpServers":{"app-web-yutai-mcp-yutai":{"type":"http","url":"https://yutai-mcp.web.app/mcp"}}}Open in CursorVS Code.vscode/mcp.json
{"servers":{"app-web-yutai-mcp-yutai":{"type":"http","url":"https://yutai-mcp.web.app/mcp"}}}Open in VS CodeClaude Desktopclaude_desktop_config.json
{"mcpServers":{"app-web-yutai-mcp-yutai":{"type":"http","url":"https://yutai-mcp.web.app/mcp"}}}Windsurf~/.codeium/windsurf/mcp_config.json
{"mcpServers":{"app-web-yutai-mcp-yutai":{"serverUrl":"https://yutai-mcp.web.app/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
4| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | No | Trade date for netYield calculation (YYYY-MM-DD). If omitted, automatically calculated from “now” (before 15:30 JST: today; after: next business day) |
| limit | number | No | Maximum number of results (default 20) |
| order | enum | No | Sort order. If omitted, the default depends on sortBy (asc for nextVestingDate/requiredFunds, desc otherwise)asc | desc |
| anyDay | boolean | No | Whether the long-term requirements explicitly state that holdings are also checked without notice on “any day,” in addition to the specified reference date. When set to true, only matching stocks are returned (cross-holding only on the reference date may not satisfy the long-term requirements; these stocks require special attention). |
| gmoVip | boolean | No | GMO VIP plan. Defaults to false |
| sbiVip | boolean | No | SBI large-account preferential treatment (open positions of 500 million yen or more). Default false |
| sortBy | enum | No | Sort key. actualYield=actual yield (excluding fees) / netYield=net yield (after deducting the required cross-holding cost〈excluding reverse daily fees〉) / minValue=benefit valuation / requiredFunds=required funds / prevLendingInterest=previous reverse daily fee rate / nextVestingDate=next vesting date / update=date the benefit details were last changed. No sorting if omitted. Stocks without a value appear at the end regardless of orderactualYield | netYield | minValue | requiredFunds | prevLendingInterest | nextVestingDate | update |
| keyword | string | No | Partial-match search. Targets: stock code / stock name / summary / detailed description (description) / update notes (updateNote) / candidate texts for each benefit (details[].candidates[].detail). You can also search benefit contents such as “コストコ” or “株主優待券”. Examples: "3397", "すかいらーく", "コストコ" |
| karaDate | string | No | Filter by the month or month and day when a kara cross is required. Use this to find “stocks requiring a kara cross in month ○”. Examples: "05"=May, "05-20"=May 20. Do not confuse this with vestingDate (vesting date). |
| longType | enum | No | Exact match for long-term holding requirements. none=none, longAddition=long-term benefit, longOnly=long-term holding requirednone | longAddition | longOnly |
| maxValue | number | No | Upper limit (yen) for the benefit valuation to filter by. Returns stocks whose benefit valuation range (output minValue to maxValue) overlaps at all with the range from the minValue argument to this limit (not a single-value match). Example: 10000 = stocks including benefits valued at 10,000 yen or less |
| minValue | number | No | Lower limit (yen) for the benefit valuation to filter by. Returns stocks whose benefit valuation range (output minValue to maxValue) overlaps at all with the range from this limit to the maxValue argument (not a single-value match). Example: 1000 = stocks including benefits valued at 1,000 yen or more |
| updateTo | string | No | Upper bound for the date the benefit details were changed (update) (YYYY-MM-DD). Example: "2026-05-31" → stocks whose benefit details changed by the end of May |
| maxRarity | enum | No | Upper limit for the acquisition difficulty of general margin crosses (calculated from inventory trends on the previous ex-rights date). Example: "C" → only easier-to-acquire securities rated C, D, or ES | A | B | C | D | E |
| minRarity | enum | No | Lower limit for the acquisition difficulty of general margin crosses (calculated from inventory trends on the previous ex-rights date). S>A>B>C>D>E. Example: "A" → only harder-to-acquire securities rated A or SS | A | B | C | D | E |
| kabucomSor | boolean | No | Kabucom SOR (Smart Order Routing). Defaults to false |
| karaDateTo | string | No | Upper limit for the next kara cross date (YYYY-MM-DD). Example: "2026-05-31" → securities requiring a kara cross by the end of May |
| rakutenVip | boolean | No | Rakuten large-account preferential treatment. Default false |
| updateFrom | string | No | Lower limit for the date the benefit details were changed (update) (YYYY-MM-DD). Example: "2026-05-01" → securities whose benefit details changed on or after May 1 |
| lendingType | enum | No | Margin trading type. both=system margin cross allowed, buying_only=kara cross required, none=cross not allowedboth | buying_only | none |
| maxNetYield | number | No | Upper limit for net yield (%) |
| minNetYield | number | No | Lower limit for net yield (%). Example: 0.5 = at least 0.5% even after fees |
| requireKara | boolean | No | true=only securities with dates on which a kara cross is required (karaDates) / false=only securities without karaDates |
| sellCaution | boolean | No | System margin trading caution (additional margin, applications suspended, etc.). true=only securities under caution / false=only securities not under caution |
| vestingDate | string | No | Filter by a single vesting month or month and day. Example: "03"=March, "03-20"=March 20 (matched against the vestingDates array) |
| benefitTypes | array | No | Benefit types (OR search). Example: ["QUO","MealTicket"]. Returns securities with any of the specified types. Type list: QUO, RiceVoucher, CashVoucher, JEFVoucher, MealTicket, FacilityTicket, ShoppingTicket, HotelTicket, TransportTicket, OtherTicket, CatalogGift, PYC, Electronics, Fashion, OtherItems, Fruit, Meat, Fish, Drink, Liquor, Rice, Sweets, OtherMeal |
| excludeCodes | array | No | Array of security codes to exclude |
| karaDateFrom | string | No | Lower limit for the next kara cross date (YYYY-MM-DD). Example: "2026-05-01" → securities requiring a kara cross in May or later |
| minRemain_gmo | any | No | Minimum remaining quantity for GMO general margin. few=△ or higher, remaining=◎ only |
| minRemain_sbi | enum | No | Minimum remaining quantity for SBI general margin. few=△ or higher (△ or ◎), remaining=◎ only. Recommended for use with canNormalSelling_sbi=enableSellingfew | remaining |
| rakutenCourse | enum | No | Rakuten course. Defaults to "zero" (Zero Course)zero | chowari |
| vestingDateTo | string | No | Upper limit for the next vesting date (YYYY-MM-DD). Returns securities with nextVestingDate <= this value |
| maxActualYield | number | No | Maximum actual yield (%). Based on the highest achievable face-value yield among the benefit application units; excludes cross-trading fees, stock lending fees, and reverse-day charges. Use maxNetYield to filter including fees. Securities without stock price data (price not retrieved) cannot be evaluated using this condition and are excluded. Example: 5.0 = 5% or less |
| minActualYield | number | No | Minimum actual yield (%)。The best achievable face-value yield among benefit application unit sizes; excludes cross-trade fees, stock lending fees, and reverse日步. Use minNetYield to filter by net yield including fees. Stocks without price data (price not fetched) cannot be evaluated against this condition and are excluded. Example: 1.0 = at least 1% |
| minRemain_smbc | number | No | Minimum number of shares in SMBC Nikko's general margin inventory |
| sellProhibited | boolean | No | Regulated margin short-selling ban (new short sales suspended). true = only stocks subject to a ban / false = only stocks not subject to a ban. Missing data is treated as “no restriction” |
| sellRestricted | boolean | No | Short-selling ban or caution notice (stocks requiring caution under regulated margin trading). true = only stocks matching either condition / false = only stocks matching neither |
| kabucomLargeLot | enum | No | Kabucom large-lot preferential rank. Default: "none"crown | diamond | sapphire | platinum | gold | silver | none |
| vestingDateFrom | string | No | Minimum next vesting date (YYYY-MM-DD). Returns stocks where nextVestingDate >= this value |
| hasLongCondition | boolean | No | When set to true, returns only stocks with long-term conditions (longAddition or longOnly) |
| maxRequiredFunds | number | No | Maximum required funds (yen). Calculated as share price × minRequiredUnits. Stocks without price data (price not fetched) cannot be evaluated against this condition and are excluded |
| minRequiredFunds | number | No | Minimum required funds (yen). Calculated as share price × minRequiredUnits. Stocks without price data (price not fetched) cannot be evaluated against this condition and are excluded |
| minRemain_kabucom | number | No | Minimum number of shares in Kabu.com’s general margin inventory |
| minRemain_rakuten | number | No | Minimum number of shares in Rakuten's general margin inventory. Example: 1000 = at least 1000 shares |
| sbiZeroRevolution | boolean | No | SBI Zero Revolution (electronic delivery settings). Default: true |
| minRemain_any_count | number | No | Stocks with at least the specified number of shares in general margin inventory at any of Rakuten, Kabucom, or SMBC (OR search). Example: 1 → available somewhere, 2000 → at least 2,000 shares somewhere |
| canNormalSelling_any | enum | No | Returns stocks that meet the conditions at any brokerage (OR search). Use this to find “stocks that can be sold short on margin somewhere.” Combining it with individual canNormalSelling_* parameters applies AND logic. enableSelling = selling enabled, enableLongSelling = long-term selling onlyenableSelling | enableLongSelling | notEnableSelling |
| canNormalSelling_gmo | any | No | Whether general margin selling is available at GMO |
| canNormalSelling_sbi | any | No | Whether general margin selling is available at SBI. enableSelling = selling enabled, enableLongSelling = long-term selling only, notEnableSelling = selling unavailable |
| canNormalSelling_smbc | any | No | Whether general margin selling is available at SMBC Nikko |
| maxPrevLendingInterest | number | No | Maximum previous reverse日步 rate (daily rate as a proportion of share price). Example: 0.01 = no more than 1% per day |
| minPrevLendingInterest | number | No | Minimum previous reverse日步 rate (daily rate as a proportion of share price). Example: 0.005 = at least 0.5% per day |
| maxMarginRateMultiplier | number | No | Maximum multiplier for the highest rate under additional margin deposit measures (marginRateMultiplier). Stocks without such measures are excluded. Example: 10 = no more than 10× |
| minMarginRateMultiplier | number | No | Minimum value for the maximum rate multiplier (marginRateMultiplier) under a margin increase measure. Stocks without such a measure are excluded. Example: 5 = 5x or higher |
| rakutenPreferentialRate | boolean | No | Rakuten preferential interest rate applied. Default false |
| canNormalSelling_kabucom | any | No | Whether general margin selling is available at kabucom |
| canNormalSelling_rakuten | any | No | Whether general margin selling is available at Rakuten |
Details
The maintainer has not added details yet. Check the README in the repository.
Comments
Markdown supported
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.