# dsh-stockmcp

[English](README.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md)

[![npm version](https://img.shields.io/npm/v/dsh-stockmcp)](https://www.npmjs.com/package/dsh-stockmcp) ![license](https://img.shields.io/npm/l/dsh-stockmcp)

**DeepSeek Harness（DSH）向け株式市場プラグイン** — [stockmcp.net](https://stockmcp.net) のリモート MCP サーバーから、株価・財務諸表・SEC 提出書類・決算・経済データなどをモデルツールとして動的に同期します。

ツール一覧とパラメータスキーマは**固定されません**：起動時、10 分ごと、未知のツールが呼ばれたときに自動で再同期されます。

## 特徴

- 📈 リアルタイム株価・過去価格、値上がり/値下がり/出来高ランキング
- 📊 損益計算書・貸借対照表・キャッシュフロー・配当・株式分割
- 🗂️ SEC 提出書類（一覧/セクション/インサイダー取引）、企業ニュース
- 🌍 経済指標・国債利回り・セクター/業界スナップショット
- ⚙️ API キーはホットリロード：設定ページ / `settings.yaml` / 環境変数
- 🌐 多言語 UI（中文 / English）：設定ページ・ツール説明・エラーメッセージが DSH の言語環境に自動追従（ブラウザ言語 → 設定 → Language の設定 → プロセス locale）
- 🧩 依存ゼロ・純粋な ESM・ビルド不要

## 必要環境

- [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)（`dsh` CLI）と `web` プロファイル
- Node.js >= 20

## インストール（ワンコマンド）

```bash
dsh plugin --profile web add dsh-stockmcp
```

または、ワンクリックインストーラーを使用（新バージョンの 24 時間保護期間など pnpm 11 特有の制約を自動処理）：

```bash
bash <(curl -fsSL https://raw.githubusercontent.com/StockMCP-net/dsh-stockmcp/main/scripts/install.sh)
```

web プロファイルを再起動（`pm2 restart dsh-web`、または `dsh web` プロセスを再起動）すると、株式ツールがモデルのツールセットに表示されます。

> 旧来の手動マウントから移行する場合：プロファイルの `cordis.patch.yml` に残っている `./node_modules/StockMCP/...` の insert 行を削除してから再起動してください（二重マウント防止）。

## API キー

ツール呼び出しには stockmcp.net の API キーが必要です。次のいずれかで設定します：

1. **設定ページ** — DSH web → 設定 → StockMCP（`~/.dsh/settings.yaml` に書き込み、ホットリロード）
2. **設定ファイル** — `~/.dsh/settings.yaml` に `stockmcp: { apiKey: ... }` を追加（ホットリロード）
3. **環境変数** — `STOCKMCP_API_KEY`

キー未設定でもプラグインは起動しますが、ツール呼び出しは明確な設定エラーを返します。

## 仕組み

ホストプラグインが stockmcp.net MCP サーバー（HTTPS 上の JSON-RPC 2.0）をモデルツールとしてラップし、設定ページ（`lib/client.js`）向けに同一オリジンの `/stockmcp-api` ルートを公開します。

## 開発・公開

```bash
pnpm pack --dry-run   # 公開される内容を確認
pnpm publish          # npm に公開（先に pnpm login）
```

## ライセンス

MIT
