MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Payments & trading

株主優待 MCP (Yutai MCP)

Japanese shareholder benefits search, cross-trading cost estimates, and trading date calculations.

Checks passed
12 / 22

2 failed · 8 not measured

Median response
1433 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
6

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Outdated check

Last connection measurement is over 24 hours old. Current availability is unknown.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 1433 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name yutai-mcp.

  • Pass
    Lists tools

    tools/list returned 6 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 1433 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 1433 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    84 of 84 parameters have a description (100%). The bar is 80%.

  • Fail
    Safety hints

    4 tools set neither readOnlyHint nor destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-10-07T07:44:10.332651Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using 株主優待 MCP (Yutai MCP)

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http mcp-yutai-mcp https://yutai-mcp.web.app/mcp

Capabilities

Tools 6

calc_dates

権利日を入力すると、クロス取引に必要な各種日付・日数を計算して返す。 【入力 vestingDate】 ・"2026-09-30" のような具体的な日付(その年で固定) ・"9月末" / "09" / "9"(月のみ)→ その月末で、次に到来する回 ・"9月20日" / "09-20" / "9/20" / "0920" → その日で、次に到来する回 【tradeDate】省略時は「今注文したとき」の約定日(JST 15:30より前なら当日、以降なら翌営業日、 土日祝はさらに繰り上げ)。「今から」系の日数(interestDays 等)はこの日を起点にする。 【返す主なフィールド】 ・vestingDate: 権利確定日(基準日) ・lastDayWithRights: 権利付最終日 ・exRightsDate: 権利落ち日 ・interestDays: 今建てた場合の信用金利/貸株料の対象日数(決済が間に合わなければ -1) ・negativeInterestDays: 逆日歩の対象日数(権利付最終日が金曜だと土日を挟んで増える) ・managementFeeMonths: 信用売り建玉の事務管理費がかかる月数 ・crossable: 今から建てて権利落ち日までに決済が間に合うか ・shortSellingLiberation: 一般信用「短期」つなぎ売りの解禁スケジュール。 - sbiGmo: SBI・GMOは同一ルール(営業日ベース、「権利落ち日を含めて15営業日前」)。 liberationDate=売建可能日、orderAcceptedFrom=その前営業日(19:00頃から新規売り注文を受付、翌営業日に先着約定)。 - rakuten: 実効権利確定日の13暦日前を求め、休場日なら翌営業日に調整して最早売建日を計算。orderAcceptedFrom=その前営業日(19時頃から受付)。実際の取扱・在庫・個別期日は別途確認。 - auカブコム・SMBC日興は短期一般信用の取扱いが無いため対象外(詳細は note 参照)。 ・prevYear: 前年の同一権利の基準日(get_benefit の negativeInterests / remainingHistories の prev データと突き合わせるのに使う) ・businessDaysUntilLastDayWithRights / calendarDaysUntilLastDayWithRights: 権利付最終日までの残り 日付は "YYYY-MM-DD" 形式の文字列で返す。

Discovered
calc_max_gyakuhibu

貸借値段と適用条件から最高逆日歩(上限額)を計算する。株式等とETF等は別表を使用する。株価だけを入力した場合は株式・100株単位・権利付き最終日・規制なし・1日分として計算する。通常時の日額が必要な場合はrightsPeriod="none"を指定する。フラグは計算対象日に倍率が適用される状態を指定する。貸借値段の代わりに市場株価を入力した場合は試算。返す金額は1株(ETF等は1口)あたり。実際に発生する逆日歩の予測値ではない。

Discovered
estimate_cross_fee

株主優待クロス取引(現物買い+信用売りを同時に建てて優待だけ受け取る手法)の手数料を試算する。 【対象範囲】 ・同一証券会社内で「買い」と「売り」の両方を建てるケースのみを計算する。証券会社をまたいだ 組み合わせ(例: 楽天で買ってカブコムで売る)は計算しない。 ・buyMethod: 'spot'=現物買い(sbi/gmo/rakuten/kabucom) / 'system_margin_then_receipt'=制度信用買い+現引き(smbcのみ) ・sellMethod: 'general_short'=一般信用(短期) / 'general_long'=一般信用(無期限・長期) / 'system'=制度信用 ユーザーへの回答時はこれらの値をそのまま出さず、日本語(現物買い、制度信用買い+現引き、短期一般信用、 無期限一般信用、制度信用)に訳して説明すること。 【sellMethod=systemの行について】 逆日歩(金額が事前に確定しない追加費用)が別途発生しうる。total はあくまで「逆日歩が0だった場合の金額」 であり、確定額ではないことを必ず説明すること。前回の逆日歩率が分かる場合は note に参考値として付くが、 将来の逆日歩を予測するものではない。 【note フィールドについて】 一般信用の売り建てが現在できない・残数が無い証券会社も除外せず参考値として計算し、その旨を note に 記載する。note が無い行は現時点で実際にクロス可能。 【日付フィールドについて】 vestingDate=権利確定日(基準日)、lastDayWithRights=権利付最終日、exRightsDate=権利落ち日。 ユーザーが「いつまでに買えばいいか」を知りたいときは lastDayWithRights を案内すること (vestingDate は権利が確定する日そのものであり、買い付けの締切ではない)。 【assumptions フィールドについて】 実際に使用した証券会社プラン設定(ゼロ革命の有無、楽天のコース、カブコムの大口優遇ランク等)を毎回 そのまま返す。呼び出し側のAIは回答時に必ずこの内容(特にユーザーによって異なりうる設定)を明示し、 実際の契約プランと違う場合は指定し直せることを案内すること。 例:「楽天は"ゼロコース"、カブコムは大口優遇なしを前提に計算しています。異なるプランをご利用でしたら教えてください」

Discovered
get_benefit

銘柄コードで株主優待を1件取得する。sections で返す情報を選ぶ(不要なものは返さない)。 - basic (既定): 銘柄の基本情報。優待内容・権利確定日(vestingDates)・ 空クロス日(karaDates)・信用区分(lendingType)・制度信用の規制状態(systemLendingStatus: none/warn=注意喚起/prohibited=売禁)・増担保の最高料率倍率(marginRateMultiplier)・ 長期条件・難易度・株価・必要資金・実質利回り(actualYield)・ 現時点の一般信用残数(normalLendingStatus)・details(候補と長期保有条件)。 - negativeInterests: 逆日歩(制度信用売りで発生しうる、金額が事前に確定しない追加費用)の履歴。 prev(前回権利付最終日の1件)/ worst10(過去ワースト10、逆日歩/日 の降順)/ latest(直近10日)。 negativeInterestPerDiem / highestNegativeInterestPerDiem は「円/株」の文字列で lendingDays 日分。 1日あたりは negativeInterestPerDiem / lendingDays。balancePrice はその日の建値。 逆日歩は過去実績であり将来を保証・予測するものではない点をユーザーに必ず伝えること。 - remainingHistories: 一般信用売りの在庫ステータスの推移。prev(前回権利前3ヶ月)/ latest(直近1ヶ月)。 negativeInterests / remainingHistories は銘柄ごとに個別管理された詳細データが必要で、無い銘柄では notes に理由が入る。 basic のみ(既定)なら詳細データは取得しないため軽量。

Discovered
predict_gyakuhibu

次回の優待権利付き最終日の逆日歩を1株あたりで予測する。予想売り超過株数の省略時は前回権利日の超過株数を使う。品貸日数分の合計と1日換算額を円/株で返す。

Discovered
search_benefits

株主優待を検索する。複数条件を組み合わせて絞り込める。 【重要: vestingDates と karaDates の違い】 vestingDates(権利確定日): 現物保有で優待を得るための権利確定月日。「○月に権利確定する銘柄」はこちら。 karaDates(空クロス日): 権利確定日だけでなく別の日付にも株を一定数保有する必要がある銘柄の、その追加保有日。 端株保有だけでは条件を満たせず、その日付にクロス取引(空クロス)で株数を確保する必要がある。 「○月に空クロスが必要な銘柄」→ karaDate="MM" または karaDateFrom/karaDateTo で検索する。 vestingDate で検索しても空クロス対象の銘柄は正しく絞り込めない。 【信用取引区分 lendingType】 both=制度信用売り可。制度信用でクロスができる buying_only=制度信用買いのみ可、売りが使えないため制度信用ではクロスができない none=信用取引不可 【制度信用の規制 systemLendingStatus】各結果に付く。none=規制なし / warn=注意喚起(増担保・申込停止等) / prohibited=売禁(制度信用の新規売り停止)。lendingType(構造的な区分)とは別で、日々変動する。 ・売禁の銘柄だけ / 除外したい → sellProhibited=true / false ・注意喚起の銘柄だけ / 除外したい → sellCaution=true / false ・売禁または注意喚起(要注意銘柄)だけ / 除外したい → sellRestricted=true / false データ未取得の銘柄は「規制なし」として扱う。 【増担保 marginRateMultiplier】各結果に付く。増担保金徴収措置による最高料率倍率(例: 10=10倍)。 systemLendingStatusとは別の措置で、売禁・注意喚起と同時に付くことも単独で付くこともある。措置無しはundefined。 ・倍率で絞り込みたい → minMarginRateMultiplier / maxMarginRateMultiplier(措置無しの銘柄は対象外になる) 【長期条件】longType: none=なし / longAddition=長期優遇 / longOnly=長期必須 【難易度】rarity: 前回権利時の一般信用在庫の推移(証券会社別)から算出した「一般信用クロスでの 確保しやすさ」。canNormalSelling_* / minRemain_* とは別の、過去実績ベースの総合指標。 S(最難。在庫がほぼ出回らない)>A>B>C>D>E(最易。常時潤沢) ※minRarity='A' → AかSの銘柄のみ 【一般信用売り】canNormalSelling_*: enableSelling=売り可(空売含) / enableLongSelling=長期売りのみ可 / notEnableSelling=不可 【一般信用残】minRemain_sbi/gmo: few=△以上 / remaining=◎のみ。minRemain_rakuten/kabucom/smbc: 数量指定 【利回り】actualYield(%): 優待の申込単位ごとに (評価額 ÷ (株価×その単位の株数)) × 100 を計算し、 達成可能な最良の値を採用する(必要株数がminRequiredUnitsと異なる場合がある)。 長期保有条件(details[].longType='required'/'additional')付きの上位ランク・追加分はクロス (初回取得)では届かないため対象外(longTypeが無い基本額のみで計算)。 クロスの手数料・貸株料・逆日歩は一切含まない額面利回り。 ※minValue/maxValue(評価額の最小値/最大値)・minRequiredUnits(必要株数の最小値)は、それぞれ独立の別統計であり 同じ申込単位の値とは限らない(actualYieldの算出には使わない)。 【手取り利回り】netYield(%): (優待評価額 - 必要クロスコスト)/必要資金×100。必要クロスコストに逆日歩は 含まない(一般信用クロスのみが対象で、逆日歩が発生する制度信用は含まないため)。 ・各結果に crossCost(必要クロスコスト)/crossCostBroker/crossCostSellMethod/netValue/netYield が付く。 ・比較対象は「今この銘柄で実際にできる一般信用クロス」に限る: - その証券会社で一般信用売りの取り扱いがあり(enableShort/enableUnlimited)、かつ残数がある - 短期(general_short)は SBI/GMO/楽天のみ。約定日が売建可能日以降であること - 制度信用クロスは常に対象外(逆日歩リスクがあるため netYield には含めない) ・上記を満たす手段が1つも無い銘柄、株価・優待評価額・権利確定日が無い銘柄、 今からでは決済が間に合わない銘柄には netYield が付かない(= 今すぐ得できる優待の指標)。 ・「手数料を引いても得な優待」は minNetYield / sortBy:netYield で絞る。 ・返す数件には常に付くが、sortBy:netYield / minNetYield / maxNetYield を指定したときだけ 全候補に対して計算する(それ以外は最終ページの数件のみ計算)。 ・使ったプラン設定(ゼロ革命/コース/大口優遇/約定日)はヘッダー行に出る。ユーザーの実際の契約と 違う場合は sbiZeroRevolution / rakutenCourse / kabucomLargeLot / date 等で指定し直せることを案内すること。 【逆日歩】prevLendingInterest: 直近1回(前回の権利付き最終日)の逆日歩実績のみ(平均ではない)を、 1日あたり・株価に対する比率に換算した値(0.01=1日あたり1%)。制度信用クロスのコスト目安に使う。 過去複数回の履歴(ワースト10・直近10日)や一般信用在庫の推移は get_benefit に sections:["negativeInterests"] / ["remainingHistories"] を指定して取得する。 【並べ替え】sortBy / order で並べ替え、件数は limit で指定する(省略時20件。sortByとは独立)。 「手取り利回り順トップ10」→ sortBy:netYield と limit:10 を両方指定する(sortByだけでは10件に絞らない)。 他に「必要資金の少ない順」→ requiredFunds、「前回逆日歩が高い順」→ prevLendingInterest(一般信用推奨候補)。 sortBy 省略時は並べ替えなし。 【出力フィールドの読み方】 unit/minRequiredUnits: 権利確定日に必要な通常の株数 details[]: 優待の詳細条件一覧。各要素に以下が含まれる: candidates[].unit: その条件での必要株数 longType: 'additional'=長期優遇 / 'required'=長期必須 longCondition: 長期保有条件の概要テキスト(例: "継続保有期間1年以上") longConditionDetail: 長期保有条件の詳細テキスト 「空クロスで必要な株数を教えて」→ details[].longConditionDetail のテキストから株数を読み取る 「長期条件を教えて」→ details[].longCondition と details[].longConditionDetail を参照する 「空クロスの有無」→ karaDates の有無を確認する(details の longType とは別物) 【details[].candidates の金額と vestingDates(複数権利月)の対応】 vestingDates が複数ある銘柄(例: ["03","09"]=年2回)で、candidates[].detail に月の但し書き (「3月のみ」「(9月)」等)が無い場合、その金額(value)は権利月ごとに同額が適用される (例: vestingDates=["03","09"], detail="500円分" → 3月に500円分・9月にも500円分もらえる。 年間合計は1000円分であり、「9月分かどうか不明」ではない)。 一方、detail に特定の月が明記されている場合(例:「(3月のみ)クオカード3,000円相当 (9月)クオカード2,000円分」)は、 明記された月にのみその内容が適用され、他の月は別の候補行(candidates の別要素)を参照する。 「○月にもらえる優待は?」と聞かれたら、月の但し書きが無い限り vestingDates に含まれる 全ての月で同じ内容がもらえると回答すること(「不明」「要確認」と答えない)。

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected1433 ms6