mcpField
S
stock-price-query

stock-price-query

github.com/tjeffersonその他3257 回インストール31 週間前に更新
リポジトリ

stock-price-query について

stock-price-queryは、A株、香港株、米国株の株価と市場指数を調べるスキルです。単一銘柄と一括検索に対応し、公開行情APIからAPIキーや依存関係なしで構造化データを取得します。

主な機能

  1. 01A株、香港株、米国株の株価検索
  2. 02市場指数の検索
  3. 03複数銘柄の一括検索
  4. 04コードから市場を自動判定
  5. 05構造化された株価データの返却
  6. 06入力検証と一括検索の部分失敗通知

活用シーン

  1. 01個別銘柄の現在の株価を確認
  2. 02複数銘柄を一度のリクエストで比較
  3. 03HSIや.IXICなどの指数を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tjefferson/stock-price-query --skill stock-price-query

インストール後、Claude Code で/stock-price-queryを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
CHANGELOG.md
references/
api-docs.md
scripts/
stock_query.py

詳細

株価照会スキル

A 株(上海・深圳両市場)、香港株、米国株の 3 大市場を対象とする、リアルタイムの株価と市場指数の照会スキルです。単一銘柄の照会と一括照会(一度に複数の銘柄を照会して比較)に対応しています。依存関係がなく軽量で、API Key も不要なため、チャットでの素早い株価照会に適しています。現在価格、騰落率、始値・高値・安値・終値、出来高などの相場データを数秒で取得できます。

A 株、香港株、米国株を対象とするリアルタイム株価と市場指数のツールです。一度の呼び出しで複数の銘柄を比較する一括照会に対応しています。依存関係がなく、API キーも不要なため、チャットでの手軽な株価確認に適しています。

概要

A 株(上海・深圳両市場)、香港株、米国株のリアルタイム相場データを照会するスキルです。無料の公開相場 API を呼び出してデータを取得し、構造化された株式情報を返します。

使用するタイミング

ユーザーのリクエストが以下のシナリオに該当する場合に、このスキルを起動します。

  • 株価の照会:「茅台はいくら?」、「宁德时代を調べて」
  • 値動きの確認:「腾讯は今日上がった?」、「00700 の相場」
  • 株式コードの照会:「600519」、「NVDA price」
  • 複数銘柄の比較:「比亚迪と英伟达の株価」、「茅台、腾讯、苹果を見て」
  • 一括照会:「この銘柄を調べて:600519, 00700, AAPL」
  • 市場指数:「上証指数はいくら?」、「市場全体の様子は?」、「恒指の相場」
  • キーワードによる起動:「株を調べて」、「株式相場」、「stock price」

使用方法

照会の流れ
  1. ユーザー入力を解析する:ユーザーメッセージから株式コードを抽出します。ユーザーが中国語の名称を指定した場合は、下記の対応表に基づいて名称を株式コードに変換します(スクリプトは株式コードのみを入力として受け付けます)。
  2. 市場を識別する:株式コードの形式から所属市場を自動で識別します。
    • A 株・上海市場:sh で始まるか、6 桁の数字が 6 で始まるコード(例:sh600519、600519)
    • A 株・深圳市場:sz で始まるか、6 桁の数字が 0 または 3 で始まるコード(例:sz000001、300750)
    • 香港株:hk で始まるか、5 桁以下の数字のみのコード(例:hk00700、00700)。香港株指数はアルファベットのみのコードです(例:HSI、HSCEI)
    • 米国株:英字のみのコード(例:AAPL、TSLA、GOOGL)。米国株指数は . で始まります(例:.IXIC、.DJI、.INX)
  3. 照会スクリプトを実行する:scripts/stock_query.py を実行してリアルタイムデータを取得します。
  4. 出力を整形する:結果を分かりやすく、親しみやすい形式でユーザーに表示します。
スクリプトの呼び出し方法

単一銘柄の照会:

python3 {{SKILL_DIR}}/scripts/stock_query.py <stock_code> [market]

一括照会(複数銘柄の比較に推奨):

python3 {{SKILL_DIR}}/scripts/stock_query.py <code1,code2,code3>

パラメーターの説明:

  • stock_code(必須):株式コード。例:600519、AAPL、00700。一括照会ではカンマで区切り、最大 20 銘柄まで指定できます。
  • market(任意):市場識別子。有効な値は sh(上海市場)、sz(深圳市場)、hk(香港株)、us(米国株)です。指定しない場合、スクリプトが自動で識別します。一括照会ではこのパラメーターは不要です(各銘柄の市場を自動で識別します)。

単一銘柄の照会結果の形式:JSON オブジェクト(データソースで利用可能な場合、pe_ratio と market_cap を返します)。

{
  "code": "600519",
  "name": "贵州茅台",
  "market": "sh",
  "current_price": 1688.00,
  "change": 12.50,
  "change_percent": 0.75,
  "open": 1680.00,
  "high": 1695.00,
  "low": 1675.00,
  "prev_close": 1675.50,
  "volume": 2345678,
  "amount": 3956789012.50,
  "time": "2026-02-24 15:00:00",
  "pe_ratio": 28.35,
  "market_cap": 2120000000000.00,
  "status": "success"
}

一括照会の結果の形式:JSON 配列。銘柄ごとに 1 つのオブジェクトを返します。

[
  { "code": "600519", "name": "贵州茅台", "market": "sh", "current_price": 1688.00, "change": 12.50, "change_percent": 0.75, "status": "success", ... },
  { "code": "00700", "name": "腾讯控股", "market": "hk", "current_price": 420.60, "change": 5.20, "change_percent": 1.25, "status": "success", ... },
  { "code": "AAPL", "name": "APPLE", "market": "us", "current_price": 178.50, "change": -1.30, "change_percent": -0.72, "status": "success", ... }
]
よく使われる株式名称とコードの対応表(エージェント向け)

スクリプトは株式コードのみを入力として受け付け、中国語の名称には対応していません。ユーザーが株式名称を指定した場合、エージェントはスクリプトを呼び出す前に、以下の表に基づいて名称を対応するコードに変換してください。

市場指数:

名称コード市場
上証指数/市場全体000001sh
深証成分指数399001sz
創業板指数399006sz
恒生指数/恒指HSIhk
国企指数/H 株指数HSCEIhk
ナスダック/ナスダック指数.IXICus
ダウ・ジョーンズ/ダウ指数.DJIus
S&P 500.INXus

人気の個別銘柄:

名称コード市場
贵州茅台600519sh
中国平安601318sh
招商銀行600036sh
中国工商銀行601398sh
中国石油601857sh
比亚迪002594sz
宁德时代300750sz
五粮液000858sz
美的集団000333sz
腾讯控股00700hk
阿里巴巴09988hk
美団03690hk
小米集団01810hk
京東09618hk
苹果/AppleAAPLus
特斯拉/TeslaTSLAus
英伟达/NVIDIANVDAus
微软/MicrosoftMSFTus
谷歌/GoogleGOOGLus
亚马逊/AmazonAMZNus
Meta/FacebookMETAus

対応表にない株式名称の場合は、正確な株式コードを指定するようユーザーに案内してください。

出力形式の要件

単一銘柄の照会:照会が成功したら、以下の簡潔な形式で結果を表示します(表は使用しないでください。メッセージが長くなり、飞书でページ分割されるのを避けるためです)。

📈 **{股票名称}**({股票代码}.{市场})

💰 当前价格:{current_price} 元/港元/美元 | 📊 涨跌幅:{change} ({change_percent}%) ↑/↓
📅 行情时间:{time}
📊 今开 {open} | 最高 {high} | 最低 {low} | 昨收 {prev_close}
📦 成交量:{volume} | 成交额:{amount}
📐 市盈率:{pe_ratio} | 总市值:{market_cap}(如有)

一括照会:複数の銘柄を順に表示し、銘柄ごとに 1 行空けます。

📈 **贵州茅台**(600519.SH)
💰 1688.00 元 | 🟢 +12.50 (+0.75%) ↑

📈 **腾讯控股**(00700.HK)
💰 420.60 港元 | 🟢 +5.20 (+1.25%) ↑

📈 **APPLE**(AAPL.US)
💰 178.50 美元 | 🔴 -1.30 (-0.72%) ↓

騰落率がプラスの場合は 🟢 と ↑、マイナスの場合は 🔴 と ↓ を使用します。売買代金が 1 億を超える場合は「億」単位(小数点以下 2 桁まで)で表示し、1 万を超えて 1 億以下の場合は「万」単位で表示します。

エッジケース

  • 入力の安全性検証:スクリプトは実行前に、すべての入力パラメーターを厳密に検証します。stock_code に使用できるのは英字、数字、先頭のピリオドのみです(正規表現 ^\.?[A-Za-z0-9]{1,10}$。先頭のピリオドは .IXIC、.DJI、.INX などの米国株指数コードに対応するためのものです)。market に指定できるのはホワイトリストの値(sh/sz/hk/us)のみです。特殊文字、シェルのメタ文字、または長すぎる入力はすべて拒否され、コマンドインジェクションを防止します。
  • 一括照会の件数制限:一度に照会できるのは最大 20 銘柄です。超過した場合はエラーメッセージを返します。
  • 一括照会の一部失敗:一括照会で一部の株式コードが無効な場合でも、有効な銘柄の結果は正常に返されます。無効なコードの位置にはエラーメッセージが返されます。エージェントは成功した結果を通常どおり表示し、失敗した銘柄についてはユーザーに案内してください。
  • 無効な株式コード:「この株式コードを識別できません。確認してから再試行してください。A 株(6 桁の数字)、香港株(5 桁の数字)、米国株(英字)に対応しています。」
  • ネットワークリクエストの失敗:「ネットワークリクエストに失敗しました。しばらくしてから再試行してください。」
  • 取引時間外:直近の終値データを正常に返し、「現在は取引時間外のため、直近の終値データを表示しています。」と案内します。
  • 曖昧な株式名称:スクリプトは名称入力に対応していません。ユーザーが指定した名称が対応表にない場合、エージェントは正確な株式コードを指定するようユーザーに案内してください。
  • API のレート制限:レート制限に達した場合は 1 秒待ってから 1 回再試行します。それでも失敗する場合は、しばらくしてから再試行するようユーザーに案内してください。

コメント