mcp-fashion-server について
v5 Traderは、韓国株の短期戦略向けローカルデスクトップアプリです。FastAPIとTauri + Reactを採用し、推奨銘柄や相場、保有状況を確認できます。自動売買には対応せず、注文には明示的な承認が必要です。
主な機能
- 01v5戦略のTop N推奨
- 02テクニカル指標付きチャート
- 03保有銘柄とリスクシグナルの確認
- 04ユーザー承認後の注文送信
- 05Windowsデスクトップ通知
活用シーン
- 01戦略が選んだ銘柄候補の確認
- 02保有銘柄と売却推奨シグナルの確認
- 03ローソク足とテクニカル指標の分析
- 04確認後の買い注文・売り注文の送信
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
⚠️ 既存の作業成果物はすべて削除されました — このリポジトリでは、fix/rewrite-windows-toast ブランチで v5 Trader プロジェクトを完全に再構築しました。初期化の手順については、docs/GIT_RESET.mdを参照してください。
v5 Trader — FastAPI + Tauri Rewrite
韓国株の超短期 v5 戦略向けのローカル専用デスクトップアプリケーションです。コア戦略/リスクエンジンは Python のまま維持しつつ、UI はデスクトップ向けの Tauri + Reactに移行し、バックエンドはFastAPIとして分離しました。自動売買には対応しておらず、すべての注文にユーザーの明示的な承認が必要です。
- オペレーティングシステム:Windows 10/11(推奨)
- バックエンド:Python 3.11、FastAPI、uvicorn
- フロントエンド:React + Vite + Tauri 2(Rust toolchain が必要)
- アーキテクチャ:ポート&アダプター(core/ports/adapters を再利用)
- 配布:
npm run tauri buildで exe/msi を生成(アイコンは Base64 からビルド時に復元)
フォルダー構成
v5_rewrite/
├─ api/ # FastAPI 진입점 및 Pydantic 스키마
├─ app_desktop/ # Tauri + React 프론트엔드 (Vite 기반)
│ ├─ src/ # React 컴포넌트 및 페이지
│ └─ src-tauri/ # Tauri 설정, Rust 엔트리
├─ core/, ports/, adapters/, config/, tests/ # 기존 전략/어댑터 계층
├─ scripts/ # dev/bundle 유틸(아이콘 복원 등)
└─ .vscode/ # VS Code 설정/태스크/런치 구성
必須要件
- Python 3.11
- Node.js 18 以上 + npm
- Rust stable toolchain(Tauri のビルドに必要)
- Windows 環境で通知を使用するには、
pywin32、winotify、Windows 通知センターの有効化が必要です
クイックスタート
# 1) 가상환경 + 백엔드 의존성
py -3.11 -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txt
# 2) 프론트엔드 의존성
cd app_desktop
npm install
cd ..
# 3) 개발 모드 실행 (FastAPI + Tauri 동시)
# PowerShell: 백엔드 uvicorn + Tauri dev 프로세스를 병렬로 기동
powershell -ExecutionPolicy Bypass -File scripts\dev.ps1
# 혹은 VS Code: Ctrl+Shift+B → dev:desktop(all)
# 혹은 F5 → “Dev: Desktop (API + Tauri)” 복합 디버그 실행
実行後、http://127.0.0.1:5173で FastAPI が動作し、Tauri の開発ウィンドウ(または WebView)が自動的に表示されます。
主な機能
バックエンド(FastAPI)
GET /api/health– ヘルスチェックGET /api/settings– watch/trade/chart/risk のデフォルト値を公開GET /api/holdings– 保有銘柄 + 損益% + exit シグナルの概要(名前キャッシュにはhts_kor_isnm+ SQLite を使用)GET /api/reco?top=N– v5 戦略の Top N 推奨(銘柄コード/名前/スコア/理由)GET /api/candles– 相場のローソク足(mock/KIS を選択)GET /api/name– 銘柄名を取得(キャッシュを使用)POST /api/order– 承認フラグが設定された注文のみ、ブローカーアダプターに委譲
フロントエンド(Tauri + React)
- 取引タブ:銘柄検索、買い/売りの切り替え、数量/金額の切り替え、指値 ±tick、クイック % ボタン、承認チェック、結果トースト
- チャートタブ:ローソク足+出来高、SMA20/60、RSI14 の切り替え、期間選択(設定に基づく)
- 推奨タブ:Top N カード(名前/コード/スコア/ミニスパークライン)+「取引に移動」ボタン
- 保有/通知タブ:テーブル選択 → スライド式詳細パネル(ローソク足、推奨売却、売却フォーム)。自動売買禁止のポリシーを再確認
- 通知:Tauri Notification プラグインを使って、リスクシグナル/注文結果をデスクトップ通知で案内(Windows Toast との併用も可能)
テスト
pytest -q
コアロジック(core/strategy_v5、risk、adapters、wiring)はすべて、FastAPI 導入前と同様にテストでカバーされています。
注文と KIS 連携に関する注意
config/kis.keys.toml.exampleをコピーしてconfig/kis.keys.tomlを作成します(Git にコミットしないでください)[market]、[broker]セクションを"kis"に設定すると、FastAPI が KIS アダプターを読み込みますappkey/appsecretのみを入力すれば、実行時に OAuth トークンが自動発行されます(Bearer ...、expires_atをキャッシュ)POST /api/orderはapprove=trueの場合にのみブローカーに注文を渡します。また、実運用モードでは日次損失制限/数量/承認の有無を再確認します- すべての結果は SQLite の
trades/logsテーブルに記録され、重複通知は1日1回に制限されます
ビルドと配布
デスクトップバンドル(Tauri)
# 아이콘(Base64) → ico 복원 후 빌드
powershell -ExecutionPolicy Bypass -File scripts\restore_icon.ps1
npm run tauri build # (또는 루트에서 build_exe.ps1 실행)
- 成果物:
app_desktop/src-tauri/target/release/内の.exe/.msi build_exe.ps1は.venvの確認 → バックエンド依存関係のインストール → アイコンの復元 →npm run tauri buildを実行します
GitHub Actions(任意)
.github/workflows/release.ymlワークフローは、タグv*.*.*のプッシュ時に EXE を自動ビルドし、リリースにアップロードします。
開発用ツール
scripts/dev.ps1:FastAPI サーバーと Tauri の開発プロセスを同時に起動.vscode/tasks.json:venv の作成、依存関係のインストール、フロントエンドのビルド/テストをまとめて実行.vscode/launch.json:FastAPI デバッガーと Tauri の開発プロセスを複合実行run.bat:Windows で PowerShell スクリプトを呼び出し、開発環境を準備
Windows 通知
- バックエンドでは、既存の
NotifierWindowsアダプター(winotify→ PowerShell BurntToast →win10toast(threaded=False)の順)を維持しています。 - Tauri フロントエンドでは、
tauri-plugin-notificationを通じて通知を発行し、権限がない場合は初回実行時に要求します。 V5_DISABLE_WIN10TOAST=1環境変数を設定すると、バックエンドでwin10toastが無効になります。
トラブルシューティング
| 問題 | 解決方法 |
|---|---|
| FastAPI が起動しない | pip install -r requirements.txtでバックエンド依存関係をインストールし、VS Code の設定で.venvの Python パスを確認してください。 |
| フロントエンドのビルドに失敗する | Node 18 以上であることを確認してから、app_desktopでnpm installを再実行してください。Rust toolchain がない場合は、rustup-initのインストールが必要です。 |
| 通知が表示されない | Windows 通知センターが ON/集中モードが OFF になっていることを確認してください。リモートデスクトップでは制限される場合があります。 |
| KIS 401/500 エラー | キーファイルのパス/権限を確認してから、FastAPI のログを参照してください。トークンは自動再発行され、失敗した場合は警告が出力されます。 |
バージョンと変更履歴
貢献やお問い合わせは、PR または Issue でお知らせください。v5 Trader の目標は、「自動売買禁止+ユーザー承認型の支援」という原則を守りながら、デスクトップ体験を現代化することです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。