{"serverId":"mcp-registry/app.web.yutai-mcp/yutai-mcp","tools":[{"name":"estimate_cross_fee","fixed":{"name":"estimate_cross_fee","description":"株主優待クロス取引(現物買い+信用売りを同時に建てて優待だけ受け取る手法)の手数料を試算する。\n\n【対象範囲】\n・同一証券会社内で「買い」と「売り」の両方を建てるケースのみを計算する。証券会社をまたいだ\n  組み合わせ(例: 楽天で買ってカブコムで売る)は計算しない。\n・buyMethod: 'spot'=現物買い(sbi/gmo/rakuten/kabucom) / 'system_margin_then_receipt'=制度信用買い+現引き(smbcのみ)\n・sellMethod: 'general_short'=一般信用(短期) / 'general_long'=一般信用(無期限・長期) / 'system'=制度信用\n  ユーザーへの回答時はこれらの値をそのまま出さず、日本語(現物買い、制度信用買い+現引き、短期一般信用、\n  無期限一般信用、制度信用)に訳して説明すること。\n\n【sellMethod=systemの行について】\n逆日歩(金額が事前に確定しない追加費用)が別途発生しうる。total はあくまで「逆日歩が0だった場合の金額」\nであり、確定額ではないことを必ず説明","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["code"],"properties":{"code":{"type":"string","description":"銘柄コード。例: \"7476\""},"date":{"type":"string","description":"約定日 (YYYY-MM-DD)。省略時は「今注文したとき」の約定日を自動算出する(JST 15:30より前なら当日、以降なら翌営業日。土日祝ならさらに翌営業日まで繰り上げる)"},"price":{"type":"number","description":"実勢株価を上書きする場合に指定。省略時は取得済みの概算株価を使う"},"units":{"type":"number","description":"クロスする株数。省略時は minRequiredUnits(優待に必要な最小株数)を使う"},"gmoVip":{"type":"boolean","description":"GMO VIPプラン。既定false"},"sbiVip":{"type":"boolean","description":"SBI大口優遇(建玉5億円以上)。既定false"},"kabucomSor":{"type":"boolean","description":"カブコムSOR(スマート・オーダー・ルーティング)。既定false"},"rakutenVip":{"type":"boolean","description":"楽天大口優遇。既定false"},"rakutenCourse":{"enum":["zero","chowari"],"type":"string","description":"楽天のコース。既定\"zero\"(ゼロコース)"},"kabucomLargeLot":{"enum":["crown","diamond","sapphire","platinum","gold","silver","none"],"type":"string","description":"カブコム大口優遇ランク。既定\"none\""},"sbiZeroRevolution":{"type":"boolean","description":"SBIゼロ革命(電子交付設定)。既定true"},"rakutenPreferentialRate":{"type":"boolean","description":"楽天優遇金利適用。既定false"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":483,"tokensAfter":483},{"name":"get_benefit","fixed":{"name":"get_benefit","description":"銘柄コードで株主優待を1件取得する。sections で返す情報を選ぶ(不要なものは返さない)。\n\n- basic (既定): 銘柄の基本情報。優待内容・権利確定日(vestingDates)・\n  空クロス日(karaDates)・信用区分(lendingType)・制度信用の規制状態(systemLendingStatus:\n  none/warn=注意喚起/prohibited=売禁)・増担保の最高料率倍率(marginRateMultiplier)・\n  長期条件・難易度・株価・必要資金・実質利回り(actualYield)・\n  現時点の一般信用残数(normalLendingStatus)・details(候補と長期保有条件)。\n- negativeInterests: 逆日歩(制度信用売りで発生しうる、金額が事前に確定しない追加費用)の履歴。\n  prev(前回権利付最終日の1件)/ worst10(過去ワースト10、逆日歩/日 の降順)/ latest(直近10日)。\n  negativeInterestPerDiem / highestNegativeInterest","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["code"],"properties":{"code":{"type":"string","description":"銘柄コード。例: \"3397\""},"sections":{"type":"array","items":{"enum":["basic","negativeInterests","remainingHistories"],"type":"string"},"description":"返す情報の種類(配列)。省略時は [\"basic\"]。逆日歩履歴が欲しいときは [\"basic\",\"negativeInterests\"]、在庫推移も含めるなら [\"basic\",\"negativeInterests\",\"remainingHistories\"]"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":286,"tokensAfter":286},{"name":"search_benefits","fixed":{"name":"search_benefits","description":"株主優待を検索する。複数条件を組み合わせて絞り込める。\n\n【重要: vestingDates と karaDates の違い】\nvestingDates（権利確定日）: 現物保有で優待を得るための権利確定月日。「○月に権利確定する銘柄」はこちら。\nkaraDates（空クロス日）: 権利確定日だけでなく別の日付にも株を一定数保有する必要がある銘柄の、その追加保有日。\n  端株保有だけでは条件を満たせず、その日付にクロス取引（空クロス）で株数を確保する必要がある。\n  「○月に空クロスが必要な銘柄」→ karaDate=\"MM\" または karaDateFrom/karaDateTo で検索する。\n  vestingDate で検索しても空クロス対象の銘柄は正しく絞り込めない。\n\n【信用取引区分 lendingType】\nboth=制度信用売り可。制度信用でクロスができる\nbuying_only=制度信用買いのみ可、売りが使えないため制度信用ではクロスができない\nnone=信用取引不可\n\n【制度信用の規制 systemLendingStatus】各結果に付く。none=規制なし / wa","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"type":"string","description":"netYield計算の約定日 (YYYY-MM-DD)。省略時は「今」から自動算出(JST 15:30より前なら当日、以降なら翌営業日)"},"limit":{"type":"number","description":"最大件数 (デフォルト20)"},"order":{"enum":["asc","desc"],"type":"string","description":"並び順。省略時のデフォルトは sortBy 依存(nextVestingDate/requiredFunds は asc、それ以外は desc)"},"anyDay":{"type":"boolean","description":"長期条件の判定で、決まった基準日以外にも「任意の日」に保有状況を抜き打ちで確認すると明記されている銘柄かどうか。trueにするとそれに該当する銘柄のみ返す(基準日だけクロスで確保しても長期条件を満たせない可能性がある、要注意銘柄)"},"gmoVip":{"type":"boolean","description":"GMO VIPプラン。既定false"},"sbiVip":{"type":"boolean","description":"SBI大口優遇(建玉5億円以上)。既定false"},"sortBy":{"enum":["actualYield","netYield","minValue","requiredFunds","prevLendingInterest","nextVestingDate","update"],"type":"string","description":"並べ替えキー。actualYield=実質利回り(手数料考慮なし) / netYield=手取り利回り(必要クロスコスト〈逆日歩除く〉を引いた後) / minValue=優待評価額 / requiredFunds=必要資金 / prevLendingInterest=前回の逆日歩率 / nextVestingDate=次回権利確定日 / update=優待内容が最後に変更された日。省略時は並べ替えなし。値を持たない銘柄は order によらず末尾"},"keyword":{"type":"string","description":"部分一致検索。対象: 銘柄コード / 銘柄名 / サマリー / 詳細説明(description) / 更新メモ(updateNote) / 優待内容の各候補テキスト(details[].candidates[].detail)。「コストコ」「株主優待券」など優待の中身でも検索できる。例: \"3397\", \"すかいらーく\", \"コストコ\""},"karaDate":{"type":"string","description":"空クロスが必要な月または月日で絞り込む。「○月に空クロスが必要な銘柄」を探す場合はここを使う。例: \"05\"=5月, \"05-20\"=5月20日。vestingDate（権利確定日）とは別物なので混同しないこと。"},"longType":{"enum":["none","longAddition","longOnly"],"type":"string","description":"長期保有条件の完全一致。none=なし, longAddition=長期優遇, longOnly=長期必須"},"maxValue":{"type":"number","description":"絞り込みたい優待評価額の上限 (円)。優待自身の評価額の範囲(出力のminValue〜maxValue)がminValue引数〜この上限の範囲に少しでも重なる銘柄を返す(単一値の一致ではない)。例: 10000 = 10000円以下を含む銘柄"},"minValue":{"type":"number","description":"絞り込みたい優待評価額の下限 (円)。優待自身の評価額の範囲(出力のminValue〜maxValue)がこの下限〜maxValue引数の範囲に少しでも重なる銘柄を返す(単一値の一致ではない)。例: 1000 = 1000円以上を含む銘柄"},"updateTo":{"type":"string","description":"優待内容が変更された日(update)の上限 (YYYY-MM-DD)。例: \"2026-05-31\" → 5月末までに優待内容が変更された銘柄"},"maxRarity":{"enum":["S","A","B","C","D","E"],"type":"string","description":"一般信用クロスの取得難易度(前回権利時の在庫推移から算出)の上限。例: \"C\" → C,D,Eの取りやすい銘柄のみ"},"minRarity":{"enum":["S","A","B","C","D","E"],"type":"string","description":"一般信用クロスの取得難易度(前回権利時の在庫推移から算出)の下限。S>A>B>C>D>E。例: \"A\" → AまたはSの難しい銘柄のみ"},"kabucomSor":{"type":"boolean","description":"カブコムSOR(スマート・オーダー・ルーティング)。既定false"},"karaDateTo":{"type":"string","description":"次回空クロス日の上限 (YYYY-MM-DD)。例: \"2026-05-31\" → 5月末までに空クロスが必要な銘柄"},"rakutenVip":{"type":"boolean","description":"楽天大口優遇。既定false"},"updateFrom":{"type":"string","description":"優待内容が変更された日(update)の下限 (YYYY-MM-DD)。例: \"2026-05-01\" → 5月1日以降に優待内容が変更された銘柄"},"lendingType":{"enum":["both","buying_only","none"],"type":"string","description":"信用取引区分。both=制度クロス可, buying_only=空クロス必要, none=クロス不可"},"maxNetYield":{"type":"number","description":"手取り利回りの上限 (%)"},"minNetYield":{"type":"number","description":"手取り利回りの下限 (%)。例: 0.5 = 手数料を引いても0.5%以上"},"requireKara":{"type":"boolean","description":"true=空クロスが必要な日付（karaDates）がある銘柄のみ / false=karaDatesがない銘柄のみ"},"sellCaution":{"type":"boolean","description":"制度信用の注意喚起(増担保・申込停止等)。true=注意喚起中の銘柄のみ / false=注意喚起でない銘柄のみ"},"vestingDate":{"type":"string","description":"権利確定月または月日で単一絞り込み。例: \"03\"=3月, \"03-20\"=3月20日 (vestingDates配列に対してマッチ)"},"benefitTypes":{"type":"array","items":{"type":"string"},"description":"優待種別（OR検索）。例: [\"QUO\",\"MealTicket\"]。指定した種別のいずれかを持つ銘柄を返す。種別一覧: QUO, RiceVoucher, CashVoucher, JEFVoucher, MealTicket, FacilityTicket, ShoppingTicket, HotelTicket, TransportTicket, OtherTicket, CatalogGift, PYC, Electronics, Fashion, OtherItems, Fruit, Meat, Fish, Drink, Liquor, Rice, Sweets, OtherMeal"},"excludeCodes":{"type":"array","items":{"type":"string"},"description":"除外する銘柄コード配列"},"karaDateFrom":{"type":"string","description":"次回空クロス日の下限 (YYYY-MM-DD)。例: \"2026-05-01\" → 5月以降に空クロスが必要な銘柄"},"minRemain_gmo":{"$ref":"#/properties/minRemain_sbi","description":"GMO 一般信用残数の下限。few=△以上, remaining=◎のみ"},"minRemain_sbi":{"enum":["few","remaining"],"type":"string","description":"SBI 一般信用残数の下限。few=△以上(△または◎), remaining=◎のみ。canNormalSelling_sbi=enableSelling と併用推奨"},"rakutenCourse":{"enum":["zero","chowari"],"type":"string","description":"楽天のコース。既定\"zero\"(ゼロコース)"},"vestingDateTo":{"type":"string","description":"次回権利確定日の上限 (YYYY-MM-DD)。nextVestingDate <= この値の銘柄を返す"},"maxActualYield":{"type":"number","description":"実利回り上限 (%)。優待の申込単位のうち達成可能な最良の額面利回りで、クロスの手数料・貸株料・逆日歩は含まない。手数料込みで絞るには maxNetYield を使う。株価データが無い銘柄(price未取得)はこの条件では判定できないため除外される。例: 5.0 = 5%以下"},"minActualYield":{"type":"number","description":"実利回り下限 (%)。優待の申込単位のうち達成可能な最良の額面利回りで、クロスの手数料・貸株料・逆日歩は含まない。手数料込みで絞るには minNetYield を使う。株価データが無い銘柄(price未取得)はこの条件では判定できないため除外される。例: 1.0 = 1%以上"},"minRemain_smbc":{"type":"number","description":"SMBC日興 一般信用残数の下限（株数）"},"sellProhibited":{"type":"boolean","description":"制度信用の売禁(新規売り停止)。true=売禁の銘柄のみ / false=売禁でない銘柄のみ。データ未取得は「規制なし」扱い"},"sellRestricted":{"type":"boolean","description":"売禁または注意喚起(制度信用の要注意銘柄)。true=いずれかに該当する銘柄のみ / false=どちらでもない銘柄のみ"},"kabucomLargeLot":{"enum":["crown","diamond","sapphire","platinum","gold","silver","none"],"type":"string","description":"カブコム大口優遇ランク。既定\"none\""},"vestingDateFrom":{"type":"string","description":"次回権利確定日の下限 (YYYY-MM-DD)。nextVestingDate >= この値の銘柄を返す"},"hasLongCondition":{"type":"boolean","description":"trueにすると長期条件あり銘柄 (longAddition または longOnly) のみ返す"},"maxRequiredFunds":{"type":"number","description":"必要資金の上限 (円)。株価×minRequiredUnits で計算。株価データが無い銘柄(price未取得)はこの条件では判定できないため除外される"},"minRequiredFunds":{"type":"number","description":"必要資金の下限 (円)。株価×minRequiredUnits で計算。株価データが無い銘柄(price未取得)はこの条件では判定できないため除外される"},"minRemain_kabucom":{"type":"number","description":"カブドットコム 一般信用残数の下限（株数）"},"minRemain_rakuten":{"type":"number","description":"楽天 一般信用残数の下限（株数）。例: 1000 = 1000株以上"},"sbiZeroRevolution":{"type":"boolean","description":"SBIゼロ革命(電子交付設定)。既定true"},"minRemain_any_count":{"type":"number","description":"楽天・カブコム・SMBCのいずれかで指定した株数以上の一般信用残数がある銘柄 (OR検索)。例: 1 → どこかに在庫あり, 2000 → どこかに2000株以上"},"canNormalSelling_any":{"enum":["enableSelling","enableLongSelling","notEnableSelling"],"type":"string","description":"いずれかの証券会社で条件を満たす銘柄を返す (OR検索)。「どこかで一般信用売りができる銘柄」を探すときに使う。個別の canNormalSelling_* と併用すると AND になる。enableSelling=売り可, enableLongSelling=長期売りのみ"},"canNormalSelling_gmo":{"$ref":"#/properties/canNormalSelling_any","description":"GMO 一般信用売り可否"},"canNormalSelling_sbi":{"$ref":"#/properties/canNormalSelling_any","description":"SBI 一般信用売り可否。enableSelling=売り可, enableLongSelling=長期売りのみ, notEnableSelling=不可"},"canNormalSelling_smbc":{"$ref":"#/properties/canNormalSelling_any","description":"SMBC日興 一般信用売り可否"},"maxPrevLendingInterest":{"type":"number","description":"前回逆日歩率(1日あたり・株価に対する比率)の上限。例: 0.01 = 1日あたり1%以下"},"minPrevLendingInterest":{"type":"number","description":"前回逆日歩率(1日あたり・株価に対する比率)の下限。例: 0.005 = 1日あたり0.5%以上"},"maxMarginRateMultiplier":{"type":"number","description":"増担保金徴収措置による最高料率倍率(marginRateMultiplier)の上限。措置が無い銘柄は対象外になる。例: 10 = 10倍以下"},"minMarginRateMultiplier":{"type":"number","description":"増担保金徴収措置による最高料率倍率(marginRateMultiplier)の下限。措置が無い銘柄は対象外になる。例: 5 = 5倍以上"},"rakutenPreferentialRate":{"type":"boolean","description":"楽天優遇金利適用。既定false"},"canNormalSelling_kabucom":{"$ref":"#/properties/canNormalSelling_any","description":"カブドットコム 一般信用売り可否"},"canNormalSelling_rakuten":{"$ref":"#/properties/canNormalSelling_any","description":"楽天 一般信用売り可否"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":2227,"tokensAfter":2227}],"toolsChanged":3,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}