bitbank-lab-mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +388 -0
  3. package/assets/lightweight-charts.standalone.js +7 -0
  4. package/bin/bitbank-lab-mcp.js +20 -0
  5. package/lib/cache.ts +70 -0
  6. package/lib/candle-utils.ts +48 -0
  7. package/lib/candle-validate.ts +434 -0
  8. package/lib/conversions.ts +25 -0
  9. package/lib/datetime.ts +157 -0
  10. package/lib/depth-analysis.ts +51 -0
  11. package/lib/error.ts +15 -0
  12. package/lib/formatter.ts +296 -0
  13. package/lib/get-depth.ts +111 -0
  14. package/lib/http.ts +132 -0
  15. package/lib/indicator-config.ts +39 -0
  16. package/lib/indicator_buffer.ts +41 -0
  17. package/lib/indicators.ts +579 -0
  18. package/lib/logger.ts +120 -0
  19. package/lib/ma-snapshot-utils.ts +277 -0
  20. package/lib/math.ts +89 -0
  21. package/lib/pattern-diagrams.ts +562 -0
  22. package/lib/result.ts +104 -0
  23. package/lib/validate.ts +154 -0
  24. package/lib/volatility.ts +132 -0
  25. package/package.json +79 -0
  26. package/src/env.ts +4 -0
  27. package/src/handlers/analyzeCandlePatternsHandler.ts +383 -0
  28. package/src/handlers/analyzeFibonacciHandler.ts +54 -0
  29. package/src/handlers/analyzeIndicatorsHandler.ts +682 -0
  30. package/src/handlers/analyzeMarketSignalHandler.ts +272 -0
  31. package/src/handlers/analyzeMyPortfolioHandler.ts +800 -0
  32. package/src/handlers/detectPatternsHandler.ts +77 -0
  33. package/src/handlers/detectPatternsViewsHandler.ts +518 -0
  34. package/src/handlers/getTickersJpyHandler.ts +145 -0
  35. package/src/handlers/getVolatilityMetricsHandler.ts +234 -0
  36. package/src/handlers/portfolio/calc.ts +549 -0
  37. package/src/handlers/portfolio/fetch.ts +318 -0
  38. package/src/handlers/portfolio/types.ts +170 -0
  39. package/src/handlers/renderChartSvgHandler.ts +69 -0
  40. package/src/handlers/runBacktestHandler.ts +70 -0
  41. package/src/http.ts +107 -0
  42. package/src/private/auth.ts +104 -0
  43. package/src/private/client.ts +298 -0
  44. package/src/private/config.ts +25 -0
  45. package/src/private/confirmation.ts +185 -0
  46. package/src/private/schemas.ts +866 -0
  47. package/src/prompts.ts +2296 -0
  48. package/src/resources/app-resources.ts +79 -0
  49. package/src/schema/analysis.ts +942 -0
  50. package/src/schema/backtest.ts +100 -0
  51. package/src/schema/base.ts +88 -0
  52. package/src/schema/candle-validate.ts +135 -0
  53. package/src/schema/chart.ts +399 -0
  54. package/src/schema/index.ts +11 -0
  55. package/src/schema/indicators.ts +125 -0
  56. package/src/schema/market-data.ts +298 -0
  57. package/src/schema/patterns.ts +382 -0
  58. package/src/schema/types.ts +97 -0
  59. package/src/schemas.d.ts +37 -0
  60. package/src/schemas.ts +7 -0
  61. package/src/server.ts +405 -0
  62. package/src/tool-definition.ts +44 -0
  63. package/src/tool-registry.ts +174 -0
  64. package/src/types/express-shim.d.ts +9 -0
  65. package/src/types/schemas.generated.d.ts +23 -0
  66. package/tools/analyze_bb_snapshot.ts +385 -0
  67. package/tools/analyze_candle_patterns.ts +810 -0
  68. package/tools/analyze_currency_strength.ts +273 -0
  69. package/tools/analyze_ema_snapshot.ts +183 -0
  70. package/tools/analyze_fibonacci.ts +530 -0
  71. package/tools/analyze_ichimoku_snapshot.ts +606 -0
  72. package/tools/analyze_indicators.ts +691 -0
  73. package/tools/analyze_market_signal.ts +665 -0
  74. package/tools/analyze_mtf_fibonacci.ts +273 -0
  75. package/tools/analyze_mtf_sma.ts +175 -0
  76. package/tools/analyze_sma_snapshot.ts +146 -0
  77. package/tools/analyze_stoch_snapshot.ts +276 -0
  78. package/tools/analyze_support_resistance.ts +817 -0
  79. package/tools/analyze_volume_profile.ts +546 -0
  80. package/tools/chart/ichimoku-cloud.ts +113 -0
  81. package/tools/chart/render-depth.ts +139 -0
  82. package/tools/chart/render-sub-panels.ts +208 -0
  83. package/tools/chart/svg-utils.ts +102 -0
  84. package/tools/detect_macd_cross.ts +691 -0
  85. package/tools/detect_patterns.ts +424 -0
  86. package/tools/detect_whale_events.ts +181 -0
  87. package/tools/get_candles.ts +487 -0
  88. package/tools/get_flow_metrics.ts +596 -0
  89. package/tools/get_orderbook.ts +540 -0
  90. package/tools/get_ticker.ts +132 -0
  91. package/tools/get_tickers_jpy.ts +240 -0
  92. package/tools/get_transactions.ts +209 -0
  93. package/tools/get_volatility_metrics.ts +302 -0
  94. package/tools/patterns/aftermath.ts +212 -0
  95. package/tools/patterns/config.ts +151 -0
  96. package/tools/patterns/detect_doubles.ts +650 -0
  97. package/tools/patterns/detect_hs.ts +635 -0
  98. package/tools/patterns/detect_pennants.ts +373 -0
  99. package/tools/patterns/detect_triangles.ts +820 -0
  100. package/tools/patterns/detect_triples.ts +633 -0
  101. package/tools/patterns/detect_wedges.ts +1072 -0
  102. package/tools/patterns/helpers.ts +517 -0
  103. package/tools/patterns/index.ts +40 -0
  104. package/tools/patterns/regression.ts +153 -0
  105. package/tools/patterns/smoothing.ts +168 -0
  106. package/tools/patterns/swing.ts +91 -0
  107. package/tools/patterns/types.ts +193 -0
  108. package/tools/prepare_chart_data.ts +294 -0
  109. package/tools/prepare_depth_data.ts +189 -0
  110. package/tools/private/analyze_my_portfolio.ts +21 -0
  111. package/tools/private/cancel_order.ts +127 -0
  112. package/tools/private/cancel_orders.ts +121 -0
  113. package/tools/private/create_order.ts +236 -0
  114. package/tools/private/get_margin_positions.ts +134 -0
  115. package/tools/private/get_margin_status.ts +155 -0
  116. package/tools/private/get_margin_trade_history.ts +156 -0
  117. package/tools/private/get_my_assets.ts +207 -0
  118. package/tools/private/get_my_deposit_withdrawal.ts +500 -0
  119. package/tools/private/get_my_orders.ts +157 -0
  120. package/tools/private/get_my_trade_history.ts +229 -0
  121. package/tools/private/get_order.ts +95 -0
  122. package/tools/private/get_orders_info.ts +90 -0
  123. package/tools/private/preview_cancel_order.ts +172 -0
  124. package/tools/private/preview_cancel_orders.ts +137 -0
  125. package/tools/private/preview_order.ts +292 -0
  126. package/tools/render_candle_pattern_diagram.ts +389 -0
  127. package/tools/render_chart_svg.ts +799 -0
  128. package/tools/render_depth_svg.ts +274 -0
  129. package/tools/trading_process/index.ts +7 -0
  130. package/tools/trading_process/lib/backtest_engine.ts +252 -0
  131. package/tools/trading_process/lib/equity.ts +131 -0
  132. package/tools/trading_process/lib/fetch_candles.ts +181 -0
  133. package/tools/trading_process/lib/sma.ts +62 -0
  134. package/tools/trading_process/lib/strategies/bb_breakout.ts +141 -0
  135. package/tools/trading_process/lib/strategies/index.ts +52 -0
  136. package/tools/trading_process/lib/strategies/macd_cross.ts +256 -0
  137. package/tools/trading_process/lib/strategies/rsi.ts +133 -0
  138. package/tools/trading_process/lib/strategies/sma_cross.ts +214 -0
  139. package/tools/trading_process/lib/strategies/types.ts +118 -0
  140. package/tools/trading_process/lib/svg_to_png.ts +64 -0
  141. package/tools/trading_process/render_backtest_chart_generic.ts +729 -0
  142. package/tools/trading_process/run_backtest.ts +243 -0
  143. package/tools/trading_process/types.ts +85 -0
  144. package/tools/validate_candle_data.ts +260 -0
  145. package/tsconfig.json +17 -0
  146. package/ui/cancel-confirm/dist/cancel-confirm.html +99 -0
  147. package/ui/order-confirm/dist/order-confirm.html +99 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Toshiki Tanaka
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,388 @@
1
+ # bitbank-lab-mcp
2
+
3
+ [![CI](https://github.com/tjackiet/bitbank-genesis-mcp-server/actions/workflows/ci.yml/badge.svg)](https://github.com/tjackiet/bitbank-genesis-mcp-server/actions/workflows/ci.yml)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
5
+ [![npm](https://img.shields.io/npm/v/bitbank-lab-mcp.svg)](https://www.npmjs.com/package/bitbank-lab-mcp)
6
+
7
+ > bitbank API のデータを使った暗号資産市場分析を、Claude(LLM)から簡単に実行できる MCP サーバーです。
8
+
9
+ > 📌 **位置付け**: 本リポジトリは **bitbank 公式版**([`bitbankinc/bitbank-mcp-server`](https://github.com/bitbankinc/bitbank-mcp-server))の **先行実験版**です。「ビットバンク botters lab」コミュニティ向けに、新機能を先行リリースしています。安定運用したい方は公式版の利用を推奨します。
10
+
11
+ ## ⚠️ Disclaimer
12
+
13
+ 本 MCP サーバーが提供するデータを AI エージェントが受け取り処理した結果は、必ずしも正確性・完全性を保証するものではありません。
14
+
15
+ 提供される情報は情報提供のみを目的としており、投資助言・代理業に該当するものではありません。投資に関する判断はご自身の責任で行ってください。
16
+
17
+ ## 本 MCP サーバーについて
18
+
19
+ bitbank の公開 API から取得した価格・取引データを、指標計算・統合・可視化用データの整形まで行った上で LLM に渡します(必要に応じてサーバー側で SVG 描画も可能)。生データを渡すだけのサーバーとは異なり、各ツールの description に「いつ使うべきか」「他ツールとの使い分け」を明示しているため、LLM が自律的に適切なツールを選択できます。
20
+
21
+ ## 概要
22
+ bitbank の公開 API から価格・板情報・約定履歴・ローソク足データを取得し、以下の分析を実行できます。
23
+ → 全ツールの一覧と使い分けは [docs/tools.md](docs/tools.md) を参照。
24
+
25
+ #### 取得できるデータ
26
+ - リアルタイム価格(ティッカー)
27
+ - 板情報(オーダーブック)
28
+ - 約定履歴(売買方向・時刻)
29
+ - ローソク足(1分足〜月足)
30
+
31
+ #### 実行できる分析
32
+ - テクニカル指標(SMA/RSI/ボリンジャーバンド/一目均衡表/MACD)
33
+ - フロー分析(買い/売りの勢い・CVD・スパイク検出)
34
+ - ボラティリティ分析(RV/ATR)
35
+ - 板の圧力分析(価格帯ごとの買い/売り圧力)
36
+ - パターン検出(ダブルトップ/ヘッドアンドショルダーズ等)
37
+ - 総合スコア判定(複数指標を統合した強弱判定)
38
+ - 長期パターンの現在地関連検出(detect_patterns: requireCurrentInPattern/currentRelevanceDays)
39
+
40
+ #### 視覚化
41
+ - Claude.ai の Visualizer で描画するためのコンパクトな整形データを返すツール群
42
+ - `prepare_chart_data`: ローソク足 + 指標の時系列データ(全指標は計算・シフト適用済み)
43
+ - `prepare_depth_data`: 板の累積 volume 階段データ([price, cumulativeVolume][] + mid / spread / band 集計)
44
+ - ファイル保存・Cursor 等の非 Visualizer 環境向けに SVG/PNG 形式のチャートも生成可能
45
+ - `render_chart_svg` / `render_depth_svg` / `render_candle_pattern_diagram`
46
+ - ※ クライアント側で描画可能な場合は `prepare_*` 系を優先。SVG 生成は LLM が自力で描けない環境のフォールバック。
47
+
48
+ ## クイックスタート
49
+
50
+ ### 前提条件
51
+ - **Node.js 18 以上**(22 推奨 — CI で検証済み。[公式サイト](https://nodejs.org/) からインストール。`node -v` で確認できます)
52
+ - npm(Node.js に同梱されています)
53
+ - Git(リポジトリの取得に使用)
54
+ - 対応 OS: macOS / Linux / Windows(WSL 含む)
55
+ - Docker: 任意(なくても動作します。[Docker 起動](docs/ops.md#docker起動開発検証用)も可)
56
+
57
+ ### 1. インストール
58
+
59
+ ```bash
60
+ git clone https://github.com/tjackiet/bitbank-genesis-mcp-server.git
61
+ cd bitbank-genesis-mcp-server
62
+ npm install
63
+ ```
64
+ ビルドステップは不要です(tsx で TypeScript を直接実行します)。
65
+
66
+ ### 2-A. Plugin として install(最短・推奨)
67
+
68
+ Claude Code / Cursor / Codex / Gemini CLI には plugin manifest(`.claude-plugin/plugin.json` ほか 3 種)を同梱しています。各クライアントの `/plugin install`(または相当のコマンド)でこのリポジトリを指定するだけでセットアップが完了します。**API キー入力 UI を備えているのは Claude Code と Gemini CLI のみ** — Cursor / Codex はシェル環境変数で API キーを渡す方式です(後述)。
69
+
70
+ | クライアント | manifest | API キーの渡し方 |
71
+ |---|---|---|
72
+ | Claude Code | `.claude-plugin/plugin.json` | ✅ **GUI で入力**: `/plugin install` 直後に `userConfig` UI が表示され、OS キーチェーンに保管 |
73
+ | Gemini CLI | `gemini-extension.json` | ✅ **対話 prompt**: `settings` 配列で対話的に入力、`.env` に保管 |
74
+ | Cursor | `.cursor-plugin/plugin.json` | ⚙️ **シェル環境変数のみ**: `BITBANK_API_KEY` / `BITBANK_API_SECRET` を環境変数に設定(Cursor は plugin 経由の prompt 未対応) |
75
+ | Codex | `.codex-plugin/plugin.json` | ⚙️ **シェル環境変数のみ**: `BITBANK_API_KEY` / `BITBANK_API_SECRET` を環境変数に設定 |
76
+
77
+ > いずれの manifest も npm registry の [`bitbank-lab-mcp`](https://www.npmjs.com/package/bitbank-lab-mcp) を `npx -y` 経由で起動します。Node.js さえあれば自動でインストールされ、ローカル clone 不要です。
78
+
79
+ **Claude Code の例**:
80
+
81
+ ```bash
82
+ /plugin install tjackiet/bitbank-genesis-mcp-server
83
+ ```
84
+
85
+ 実行後、bitbank API key / API secret の入力 UI が表示されます。**Public ツールだけで使う場合は両方とも空欄で OK** — Private API ツールは API キーを入力したときだけ自動的に有効化されます。
86
+
87
+ > API キーを後から追加・変更したい場合は `/plugin` から該当 plugin の設定を開き、`api_key` / `api_secret` を更新してください。Claude Code では `sensitive: true` のため OS のキーチェーンに保管されます。
88
+
89
+ **Cursor / Codex の場合(環境変数経由)**:
90
+
91
+ `/plugin install` 実行後、シェルで以下のように環境変数を設定してから Cursor / Codex を起動してください(Public ツールだけ使う場合は不要):
92
+
93
+ ```bash
94
+ export BITBANK_API_KEY="your_api_key"
95
+ export BITBANK_API_SECRET="your_api_secret"
96
+ ```
97
+
98
+ macOS / Linux では `~/.zshrc` や `~/.bashrc` に書いておくと永続化されます。Windows は環境変数の管理画面 or `setx` を使用してください。
99
+
100
+ ### 2-B. Claude Desktop に登録(手動設定)
101
+
102
+ `~/Library/Application Support/Claude/claude_desktop_config.json` に設定を追加します。
103
+
104
+ 設定方法は2通りあります。**まず方式Aを試し、動かない場合に方式Bをお試しください。**
105
+
106
+ #### 方式A:npx 経由(推奨)
107
+
108
+ Node.js のバージョンアップで設定を書き換える必要がないため、こちらを推奨します。nvm/volta などのバージョン管理ツールをお使いの方には特におすすめです。
109
+
110
+ ```json
111
+ {
112
+ "mcpServers": {
113
+ "bitbank": {
114
+ "command": "npx",
115
+ "args": [
116
+ "tsx",
117
+ "/ABS/PATH/to/src/server.ts"
118
+ ],
119
+ "workingDirectory": "/ABS/PATH/to/project",
120
+ "env": { "LOG_LEVEL": "info", "NO_COLOR": "1" }
121
+ }
122
+ }
123
+ }
124
+ ```
125
+
126
+ #### 方式B:node の絶対パスを指定(フォールバック)
127
+
128
+ 方式A で「サーバーに接続できません」エラーが出る場合、Claude Desktop から `npx` コマンドが見つけられていない可能性があります。その場合は、node の絶対パスを指定してください。
129
+
130
+ まずターミナルで自分の環境の node パスを確認します:
131
+
132
+ ```bash
133
+ which node
134
+ ```
135
+
136
+ 出力例と対応するインストール方法:
137
+
138
+ | `which node` の出力 | インストール方法 |
139
+ |---|---|
140
+ | `/opt/homebrew/bin/node` | Homebrew(Apple Silicon Mac) |
141
+ | `/usr/local/bin/node` | Homebrew(Intel Mac)または公式インストーラ |
142
+ | `/Users/XXX/.nvm/versions/node/vXX.XX.X/bin/node` | nvm |
143
+ | `/Users/XXX/.volta/bin/node` | volta |
144
+
145
+ `which node` の結果を `command` に指定:
146
+
147
+ ```json
148
+ {
149
+ "mcpServers": {
150
+ "bitbank": {
151
+ "command": "<which node の出力>",
152
+ "args": [
153
+ "/ABS/PATH/to/node_modules/tsx/dist/cli.mjs",
154
+ "/ABS/PATH/to/src/server.ts"
155
+ ],
156
+ "workingDirectory": "/ABS/PATH/to/project",
157
+ "env": { "LOG_LEVEL": "info", "NO_COLOR": "1" }
158
+ }
159
+ }
160
+ }
161
+ ```
162
+
163
+ > ⚠️ **nvm/volta ユーザーへの注意**: この方式では Node.js をバージョンアップするたびに `command` のパスの書き換えが必要です(例: `v22.22.2` → `v22.22.3`)。アップデート後に `which node` を再確認してください。
164
+
165
+ #### 共通の注意事項
166
+
167
+ - `/ABS/PATH/to/` を実際のプロジェクトの絶対パスに置き換えてください
168
+ - プロジェクトの絶対パスはクローンしたディレクトリで `pwd` を実行して確認できます
169
+ - ⚠️ macOS では Desktop フォルダに配置すると権限エラーが発生する場合があります(ホームディレクトリ直下を推奨)
170
+ - 追加後、Claude Desktop を `Cmd+Q`(Windows は完全終了)で再起動してください
171
+ - Docker は不要です([Docker起動](docs/ops.md#docker起動開発検証用)もできます)
172
+ - Plugin install([2-A](#2-a-plugin-として-install最短推奨))を使えばこの手順は不要です
173
+
174
+ #### Windows の場合(ソースコードから)
175
+
176
+ ```json
177
+ {
178
+ "mcpServers": {
179
+ "bitbank": {
180
+ "command": "node",
181
+ "args": [
182
+ "C:\\Users\\<USERNAME>\\bitbank-genesis-mcp-server\\node_modules\\tsx\\dist\\cli.mjs",
183
+ "C:\\Users\\<USERNAME>\\bitbank-genesis-mcp-server\\src\\server.ts"
184
+ ],
185
+ "workingDirectory": "C:\\Users\\<USERNAME>\\bitbank-genesis-mcp-server",
186
+ "env": { "LOG_LEVEL": "info", "NO_COLOR": "1" }
187
+ }
188
+ }
189
+ }
190
+ ```
191
+ `<USERNAME>` を自分のユーザー名に置き換えてください。
192
+
193
+ #### 表示名のカスタマイズ
194
+
195
+ Claude Desktop の UI に表示される名前は `claude_desktop_config.json` のキー名で決まります:
196
+ ```json
197
+ {
198
+ "mcpServers": {
199
+ "ビットバンクMCP": { // ← この名前がUIに表示される
200
+ "command": "...",
201
+ "args": ["..."]
202
+ }
203
+ }
204
+ }
205
+ ```
206
+ 日本語名も使用可能です。
207
+
208
+ 設定ファイルの場所:
209
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
210
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
211
+
212
+ ### 他の MCP クライアントで使う
213
+
214
+ Claude Desktop 以外の MCP クライアントでも、同様にソースコードから起動する設定で登録できます。`/ABS/PATH/to/` は実際のプロジェクトパスに置き換えてください。
215
+
216
+ #### Claude Code
217
+
218
+ ```bash
219
+ claude mcp add --transport stdio bitbank -- npx tsx /ABS/PATH/to/src/server.ts
220
+ ```
221
+
222
+ #### Cursor(`.cursor/mcp.json`)
223
+
224
+ ```json
225
+ {
226
+ "mcpServers": {
227
+ "bitbank": {
228
+ "command": "npx",
229
+ "args": ["tsx", "/ABS/PATH/to/src/server.ts"],
230
+ "workingDirectory": "/ABS/PATH/to/project",
231
+ "env": { "LOG_LEVEL": "info" }
232
+ }
233
+ }
234
+ }
235
+ ```
236
+
237
+ #### Windsurf / 汎用 MCP クライアント
238
+
239
+ Cursor と同じ設定を使用してください。
240
+
241
+ > npm 公開済み (`bitbank-lab-mcp`) のため、`command: "npx", args: ["-y", "bitbank-lab-mcp"]` でも利用できます。`/ABS/PATH/to/` を書く必要がなく、Node.js のバージョン管理ツール(nvm/volta)にも追随します。
242
+
243
+ ### 3. 使ってみる
244
+ Claude にそのまま話しかけます:
245
+ ```
246
+ BTCの今の市場状況を分析して
247
+ ビットコインは買いと売りどちらが優勢?
248
+ 直近 1 週間でテクニカル的に上向きの仮想通貨を 3 つ教えて
249
+ ```
250
+
251
+ 💡 **何を聞けばいいかわからない場合**: [用意されたプロンプト集](docs/prompts-table.md) をご覧ください。初心者向け(🔰)から中級者向けまで、9種類の分析プロンプトを用意しています。
252
+
253
+ 🌅 **朝のルーティンに**: 「おはようレポート」で、寝ている間の相場変動をすばやくキャッチアップできます。
254
+
255
+ ## Private API(取引機能)
256
+
257
+ API キーの有無でサーバーが公開する機能が自動的に切り替わります。
258
+
259
+ | 設定 | ツール数 | プロンプト数 | 使える機能 |
260
+ |------|---------|------------|-----------|
261
+ | キー未設定 | 29(Public のみ) | 9 | 価格取得・テクニカル分析・チャート生成・バックテスト |
262
+ | キー設定済み | 29 + 16 = **45** | 9 + 1 = **10** | 上記 + 資産確認・注文・ポートフォリオ分析 |
263
+
264
+ キー未設定時、Private ツール・プロンプトは MCP クライアントに一切表示されません(エラーではなく、そもそも登録されません)。公開データの取得・分析だけなら設定不要で、そのまま使えます。
265
+
266
+ ### 環境変数の設定方法
267
+
268
+ **ターミナルから起動する場合:**
269
+ ```bash
270
+ export BITBANK_API_KEY="your_api_key"
271
+ export BITBANK_API_SECRET="your_api_secret"
272
+ ```
273
+
274
+ **Plugin install を使った場合** — `/plugin` から該当 plugin の設定を開き、`api_key` / `api_secret` を入力すれば完了です(手動編集は不要)。
275
+
276
+ **Claude Desktop で手動設定している場合** — `claude_desktop_config.json` の `env` に追加([ステップ 2-B](#2-b-claude-desktop-に登録手動設定) で設定した方式A/方式B のいずれかに、以下のように `BITBANK_API_KEY` と `BITBANK_API_SECRET` を追加するだけです):
277
+ ```json
278
+ {
279
+ "mcpServers": {
280
+ "bitbank": {
281
+ "command": "npx",
282
+ "args": ["tsx", "/ABS/PATH/to/src/server.ts"],
283
+ "workingDirectory": "/ABS/PATH/to/project",
284
+ "env": {
285
+ "BITBANK_API_KEY": "your_api_key",
286
+ "BITBANK_API_SECRET": "your_api_secret",
287
+ "LOG_LEVEL": "info",
288
+ "NO_COLOR": "1"
289
+ }
290
+ }
291
+ }
292
+ }
293
+ ```
294
+
295
+ API キーは [bitbank 設定画面](https://app.bitbank.cc/account/api) で発行できます(「参照」+「取引」権限、出金権限は不要)。
296
+
297
+ | カテゴリ | ツール | 説明 |
298
+ |---|---|---|
299
+ | 口座情報 | `get_my_assets` | 保有資産一覧 |
300
+ | 注文照会 | `get_my_orders`, `get_order`, `get_orders_info` | 注文の照会 |
301
+ | 約定履歴 | `get_my_trade_history` | 約定履歴の取得 |
302
+ | ポートフォリオ | `analyze_my_portfolio` | 損益分析・パフォーマンス |
303
+ | 入出金 | `get_my_deposit_withdrawal` | 入出金履歴 |
304
+ | 発注 | `preview_order` → `create_order` | 2ステップ確認付き発注 |
305
+ | キャンセル | `preview_cancel_order` → `cancel_order` | 2ステップ確認付きキャンセル |
306
+ | 一括キャンセル | `preview_cancel_orders` → `cancel_orders` | 2ステップ確認付き一括キャンセル |
307
+ | 信用取引 | `get_margin_status`, `get_margin_positions`, `get_margin_trade_history` | 証拠金・ポジション・約定履歴 |
308
+
309
+ 取引操作(発注・キャンセル)は **preview → execute の2ステップ確認**が必須です。preview ツールが発行する確認トークン(HMAC-SHA256、デフォルト60秒有効)なしでは実行できません。
310
+
311
+ 詳細: [docs/private-api.md](docs/private-api.md)
312
+
313
+ ## 使用例(会話の型)
314
+ - 「今、BTC は買いですか?」→ `analyze_market_signal`: 総合スコア + 寄与度・根拠
315
+ - 「直近で MACD クロスした銘柄は?」→ `detect_macd_cross`: スクリーニング結果
316
+ - 「ここ 30 日のボラ推移を見たい」→ `get_volatility_metrics` + `render_chart_svg`
317
+
318
+ ## チャート表示(SVG)
319
+ - MCP クライアント(Claude)では、アーティファクトとして `data.svg` を表示するようにお願いしてください。
320
+ - Claude で LLM がうまくアーティファクトを出力できない場合は、以下のプロンプトを加えるのがおすすめです。
321
+ - 「identifier と title を追加して、アーティファクトとして表示して」
322
+ - 既定の描画は「ロウソク足のみ」。ボリンジャーバンド等のオーバーレイは明示指定時に追加されます(BBは `--bb-mode=default` 指定時に ±2σ がデフォルト)。
323
+
324
+ ## 詳細ドキュメント
325
+ - プロンプト集(初心者〜中級者向け): [docs/prompts-table.md](docs/prompts-table.md)
326
+ - ツール一覧と使い分け: [docs/tools.md](docs/tools.md)
327
+ - Private API ガイド: [docs/private-api.md](docs/private-api.md)
328
+ - 変更履歴: [CHANGELOG.md](CHANGELOG.md)
329
+ - 開発者向けガイド(型生成・CI など): [CLAUDE.md](CLAUDE.md)
330
+ - 運用・監視(ログ集計/Docker起動 ほか): [docs/ops.md](docs/ops.md)
331
+
332
+ ## よくある質問(FAQ)
333
+ **Q. 何を聞けばいいかわからない** [プロンプト集](docs/prompts-table.md) を参照してください。初心者向け🔰から中級者向けまで9種類の分析プロンプトを用意しています。
334
+
335
+ **Q. Docker は必須?** いいえ。Node 18+ でローカル実行できます(最短は Claude Desktop 登録)。
336
+
337
+ **Q. API キーは必要?** 公開データの取得・分析には不要です。自分の資産確認や注文操作(Private API)を使う場合は [Private API ガイド](docs/private-api.md) を参照してください。
338
+
339
+ **Q. どのツールを使えばよい?** まず `analyze_market_signal` で全体を把握 → 必要に応じて各専門ツールへ。
340
+
341
+ **Q. 対応銘柄は固定?** 固定ではありません。上流の公開 API が返す銘柄に自動追随します(追加/廃止も自動反映)。参考: [bitbank 公開API仕様](https://github.com/bitbankinc/bitbank-api-docs/blob/master/public-api.md)
342
+
343
+ **Q. MCP Inspector でも試せる?** はい。開発時は次で実行できます。
344
+ ```bash
345
+ npx @modelcontextprotocol/inspector -- tsx src/server.ts
346
+ ```
347
+
348
+ ## トラブルシューティング
349
+
350
+ | 症状 | 原因・対処 |
351
+ |------|-----------|
352
+ | Claude Desktop にツールが表示されない | `claude_desktop_config.json` のパスが間違っている / Claude Desktop を `Cmd+Q`(Windows は完全終了)で再起動していない |
353
+ | 「サーバーに接続できません」エラー(npx方式) | Claude Desktop から `npx` が見つからない可能性。方式B(node絶対パス)に切り替える |
354
+ | `spawn /usr/local/bin/node ENOENT` エラー | `which node` の結果が異なるパス(例: `/opt/homebrew/bin/node`)を指している。`command` を正しいパスに書き換える |
355
+ | Node.jsアップデート後にMCPが動かなくなった | nvm/volta の場合、Node.jsバージョンが変わると絶対パスも変わる。`which node` を再確認して `command` を更新するか、方式A(npx)に切り替える |
356
+ | ツール実行時にタイムアウト | ネットワーク接続を確認 / [bitbank API の状態](https://status.bitbank.cc/)を確認 |
357
+ | Private API ツールが表示されない | `BITBANK_API_KEY` と `BITBANK_API_SECRET` の両方が設定されているか確認(→ [docs/private-api.md](docs/private-api.md)) |
358
+ | ログを確認したい | `LOG_LEVEL=debug` に設定して再起動 / `npm run stat` でログ統計を表示 |
359
+ | macOS で権限エラー | Desktop フォルダへの配置を避け、ホームディレクトリ直下に配置 |
360
+
361
+ ---
362
+
363
+ ## 起動方法
364
+
365
+ ### STDIO モード(既定 — Claude Desktop 向け)
366
+
367
+ Claude Desktop の `claude_desktop_config.json` に登録すると、STDIO モードで自動起動します([ステップ 2](#2-claude-desktop-に登録最短) 参照)。
368
+
369
+ 手動で起動する場合:
370
+ ```bash
371
+ npx @modelcontextprotocol/inspector -- tsx src/server.ts
372
+ ```
373
+
374
+ ### HTTP モード(Web クライアント・開発検証向け)
375
+
376
+ ```bash
377
+ # 環境変数を指定して HTTP サーバーを起動
378
+ MCP_ENABLE_HTTP=1 PORT=8787 tsx src/server.ts
379
+
380
+ # 別ターミナルから Inspector で接続
381
+ npx @modelcontextprotocol/inspector http://localhost:8787/mcp
382
+ ```
383
+
384
+ > HTTP サーバは既定で無効です(STDIO 汚染を避けるため)。Docker での起動方法は [docs/ops.md](docs/ops.md#docker起動開発検証用) を参照してください。
385
+
386
+ ## フィードバック・バグ報告
387
+
388
+ バグ報告や機能要望は [GitHub Issues](https://github.com/tjackiet/bitbank-genesis-mcp-server/issues) からお願いします。Issue テンプレートを用意していますので、用途に合ったものを選択してください。