bitbank-mcp-server
bitbank-mcp-server lets AI agents (Claude, Cursor, Codex, etc.) analyze crypto market data from the bitbank exchange and manage private accounts/orders. Here's what it can do:
Market Data
Real-time ticker (price, 24h change, volume) for single or all JPY pairs
Order book depth (summary, pressure, statistics, or raw modes)
OHLCV candlestick data across timeframes from 1min to 1month
Recent transaction/trade history
Technical Analysis
Indicators: SMA, EMA, RSI, MACD, Bollinger Bands, Ichimoku Cloud, Stochastic Oscillator
Golden/dead cross detection, trend alignment, overbought/oversold zones
Multi-timeframe SMA confluence analysis
Support/resistance detection with touch count and strength scoring
Fibonacci retracement/extension with automatic swing detection and multi-timeframe confluence
Flow & Volatility Analysis
Flow metrics: CVD, aggressor ratio, buy/sell pressure, spike detection
Volatility: ATR, Realized Volatility, Parkinson, Garman-Klass, Rogers-Satchell
Volume profile: VWAP, POC, value area, trade size distribution
Pattern & Signal Detection
Candlestick patterns: doji, engulfing, hammer, morning star, etc.
Chart patterns: double top/bottom, head & shoulders, triangles, wedges, flags, pennants
MACD cross screening across multiple pairs
Whale/large order detection from order book + candlestick data
Currency strength ranking and composite market signal score (−100 to +100)
Backtesting
Strategies: SMA cross, RSI, MACD cross, Bollinger Band breakout
Custom or preset date ranges (1M–3Y); returns P&L, win rate, max drawdown, Sharpe Ratio, equity curve
Visualization
Prepare structured chart/depth data for client-side rendering (e.g., Claude Visualizer)
Render candlestick, line, and depth charts as SVG/PNG with optional indicator overlays
Render educational candle pattern diagrams
Data Quality & Utilities
Validate OHLCV data (completeness, duplicates, OHLCV integrity, anomaly detection)
Refresh trading pair fee cache for latest maker/taker rates
Private API (requires API key)
Account assets, order status/list/details, personal trade history
Portfolio P&L analysis and margin status/positions
Deposit/withdrawal history
Place and cancel orders via a two-step preview → execute safety mechanism
Generates visual market analysis charts, including candlestick charts and technical indicators such as Bollinger Bands and Ichimoku Kinko Hyo, in SVG format for visualization.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@bitbank-mcp-serverShow me a BTC market analysis and a chart with Bollinger Bands"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
bitbank-lab-mcp
bitbank API のデータを使った暗号資産市場分析を、Claude / Cursor / Codex / Antigravity CLI など各種 AI クライアントから簡単に実行できる MCP サーバーです。
はじめにお読みください
本ツールは開発段階(ベータ版)です。利用は自己責任でお願いします。
ご利用の前に必ず ⚠️ 免責事項 をお読みください。
本リポジトリは bitbank バグバウンティプログラムの対象範囲外 です。
Related MCP server: TradingView MCP Server
本 MCP サーバーについて
bitbank の公開 API から取得した価格・取引データを、指標計算・統合・可視化用データの整形まで行った上で LLM に渡します(必要に応じてサーバー側で SVG 描画も可能)。生データを渡すだけのサーバーとは異なり、各ツールの description に「いつ使うべきか」「他ツールとの使い分け」を明示しているため、LLM が自律的に適切なツールを選択できます。
姉妹プロジェクトとして、同じ bitbank API に対する真逆のアプローチを提供する CLI (bitbank-lab-cli) もあります。
この MCP サーバー はサーバー側で計算済みの結論を LLM に渡す
CLI は生データを高速に取得し、LLM 自身に計算させる
指標のパラメータやロジックを完全にカスタマイズしたい場合は CLI 側を、すぐに使えるテクニカル分析・可視化を求める場合は MCP サーバー側を選んでください。
概要
bitbank の公開 API から価格・板情報・約定履歴・ローソク足データを取得し、以下の分析を実行できます。
→ 全ツールの一覧と使い分けは docs/tools.md を参照。
取得できるデータ
リアルタイム価格(ティッカー)
板情報(オーダーブック)
約定履歴(売買方向・時刻)
ローソク足(1分足〜月足)
実行できる分析
テクニカル指標(SMA/RSI/ボリンジャーバンド/一目均衡表/MACD)
フロー分析(買い/売りの勢い・CVD・スパイク検出)
ボラティリティ分析(RV/ATR)
板の圧力分析(価格帯ごとの買い/売り圧力)
パターン検出(ダブルトップ/ヘッドアンドショルダーズ等)
総合スコア判定(複数指標を統合した強弱判定)
長期パターンの現在地関連検出(detect_patterns: requireCurrentInPattern/currentRelevanceDays)
視覚化
Claude.ai の Visualizer で描画するためのコンパクトな整形データを返すツール群
prepare_chart_data: ローソク足 + 指標の時系列データprepare_depth_data: 板の累積 volume 階段データ
ファイル保存・Cursor 等の非 Visualizer 環境向けに SVG/PNG 形式のチャートも生成可能
render_chart_svg/render_depth_svg/render_candle_pattern_diagram
クイックスタート
前提条件
Node.js 22 以上(24 推奨)
node -vで確認できます公式サイト からインストール
npm(Node.js に同梱されています)
対応 OS: macOS / Linux / Windows(WSL 含む)
Claude Desktop アプリを Claude 公式サイト からダウンロードしてください
本プロジェクトは npm に
bitbank-lab-mcpとして公開されています。
ソースコードのクローンは不要です(開発したい方向けの手順は末尾の開発者向けセクションを参照)。
1. Claude Desktop に登録(推奨)
Claude Desktop が最も多くの方が使う想定の MCP クライアントです。~/Library/Application Support/Claude/claude_desktop_config.json に設定を追加します。
登録方法は2通りあります。まず npx 方式を試し、動かない場合に絶対パス方式をお試しください。
npx 方式(推奨)
Node.js のバージョンアップで設定を書き換える必要がないため、こちらを推奨します。
nvm/volta などのバージョン管理ツールをお使いの方には特におすすめです。
用途に応じて A〜C の 3 段階から選びます。
A. Public データのみ:
価格・板・ローソク足などの公開市場データの取得と分析。API キー不要。
{
"mcpServers": {
"bitbank-lab": {
"command": "npx",
"args": ["-y", "bitbank-lab-mcp"]
}
}
}B. Private データ参照系(要 API キー):
資産残高・約定履歴・注文照会・ポートフォリオ分析などの読み取り専用。発注はできません。
{
"mcpServers": {
"bitbank-lab": {
"command": "npx",
"args": ["-y", "bitbank-lab-mcp"],
"env": {
"BITBANK_API_KEY": "your_api_key",
"BITBANK_API_SECRET": "your_api_secret"
}
}
}
}✅ bitbank API の権限は「参照」のみ設定することを推奨
C. 取引注文・注文キャンセル実行(要 API キー):
B に加えて、対応ホスト上での発注・注文キャンセルまで実行。実行前に必ず確認ステップ(preview → ユーザーの明示確認)が入ります。
{
"mcpServers": {
"bitbank-lab": {
"command": "npx",
"args": ["-y", "bitbank-lab-mcp"],
"env": {
"BITBANK_API_KEY": "your_api_key",
"BITBANK_API_SECRET": "your_api_secret"
}
}
}
}✅ bitbank API の権限は「参照」および「取引」のみ設定することを推奨
※ 「出金」権限は有効化しないことを強く推奨します。本サーバーは出金系ツール未実装のため不要です。
発注・取消の実行にはユーザーの明示確認が必須です。確認トークンは content / structuredContent に載らないため、LLM が preview 応答から直接 execute することはできません。旧 BITBANK_TRUST_HOST_APPROVAL オプトイン(iframe に token を structuredContent で載せる妥協モード)はセキュリティ上撤去済みで、設定しても無視されます。
確認の経路はクライアントによって変わります。
クライアント | 実行経路 |
elicitation / MRTR 対応 | ネイティブ確認ダイアログで完結(第一選択。追加設定不要) |
MCP Apps UI 対応(Claude Desktop 等) |
|
どちらも非対応 | プレビューのみ。実行は bitbank アプリ/ウェブで |
このオプションは、確認トークンをツール結果の _meta にのみ載せて iframe へ渡し、確認カードのボタンからの実行を許可します。安全性は「ホストが _meta をモデル(LLM)に渡さない」という前提に依存します。
仕様上の保証ではありません。 MCP Apps 仕様の該当記述は "Best Practices" の箇条書きで、MUST / SHOULD を伴いません。適合要件ではなく意図の説明です
ホストのアップデートで壊れても、サーバー側では検知できません。 ホストが
_metaをモデルコンテキストに含めるようになった瞬間に前提は崩れますが、その変化はサーバーから観測できません。壊れ方は静かですこの領域は実装が流動的です(
structuredContentの喪失回帰など、関連トラッカーに 2026-05〜08 の issue が複数)
万一トークンが漏れた場合でも、被害は 「直前にプレビューした注文 1 件(一括取消ならプレビュー済みの注文 ID 集合 1 セット)が、60 秒以内に 1 回だけ実行される」 に限定されます。トークンは注文内容に HMAC で束縛されており、攻撃者が金額・数量・ペア・方向を選ぶことはできません。
以上を理解したうえで有効化してください。既定では無効です。 詳細は ADR-0007。
詳細: ADR-0007 / Private API ガイド。
B / C の API キーは bitbank 設定画面 で発行し、必要最小限の権限のみを付与、可能なら IP 制限も設定してください(最小権限の原則)。
詳細: Private API ガイド。
絶対パス方式(フォールバック)
npx 方式で「サーバーに接続できません」エラーが出る場合、Claude Desktop から npx コマンドが見つけられていない可能性があります。
その場合は、npx の絶対パスを指定してください。
まずターミナルで自分の環境の npx パスを確認します:
which npx出力例と対応するインストール方法:
| インストール方法 |
| Homebrew(Apple Silicon Mac) |
| Homebrew(Intel Mac)または公式インストーラ |
| nvm |
| volta |
which npx の結果を command に指定:
{
"mcpServers": {
"bitbank-lab": {
"command": "<which npx の出力>",
"args": ["-y", "bitbank-lab-mcp"]
}
}
}⚠️ nvm/volta ユーザーへの注意: この方式では Node.js をバージョンアップするたびに
commandのパスの書き換えが必要です(例:v24.0.0→v24.1.0)。アップデート後にwhich npxを再確認してください。
Windows の場合
Windows でも npx 方式がそのまま使えます:
{
"mcpServers": {
"bitbank-lab": {
"command": "npx",
"args": ["-y", "bitbank-lab-mcp"]
}
}
}設定ファイルの場所: %APPDATA%\Claude\claude_desktop_config.json
npx が見つからない場合は where npx(Windows 版の which)で絶対パスを確認して指定してください。
表示名のカスタマイズ
Claude Desktop の UI に表示される名前は claude_desktop_config.json のキー名で決まります:
{
"mcpServers": {
"bitbank-lab-mcp": {
"command": "npx",
"args": ["-y", "bitbank-lab-mcp"]
}
}
}⚠️
bitbank-lab-mcpのような ASCII(英数字)の名前を推奨します。環境によって、日本語などの非 ASCII 名だと Chat でツールが見つからない事例があります。
共通の注意事項
追加後、Claude Desktop を
Cmd+Q(Windows は完全終了)で再起動してください⚠️ macOS で
claude_desktop_config.jsonが見つからない場合は、ホームディレクトリ直下から開いてください
設定ファイルの場所:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
2. その他の MCP クライアント(手動 .json 編集)
Cursor(.cursor/mcp.json)
{
"mcpServers": {
"bitbank-lab": {
"command": "npx",
"args": ["-y", "bitbank-lab-mcp"],
"env": {
"BITBANK_API_KEY": "your_api_key",
"BITBANK_API_SECRET": "your_api_secret"
}
}
}
}API キーが不要な場合は env ブロックごと削除して OK。セクション 1 の A〜C と同様に、取引実行まで使う場合は確認フローに対応したクライアントが必要です(旧 BITBANK_TRUST_HOST_APPROVAL は不要・無効です)。
Claude Code(CLI から登録する場合)
claude mcp add --transport stdio bitbank-lab -- npx -y bitbank-lab-mcp同梱 Skill も一緒に使いたい場合は、セクション 3 の plugin install が便利です。
Windsurf / その他の汎用 MCP クライアント
Cursor と同じ JSON 形式で登録できます。クライアント固有の設定ファイルパスについては各クライアントのドキュメントを参照してください。
3. (オプション)Plugin として install(同梱 Skill を使う)
通常の利用はセクション 1〜2 の登録だけで完結します。Plugin install は、Claude Code などの AI コーディングツールで、MCP サーバーに加えて同梱 Skill(skills/ 配下)も使いたい方向けのオプションです。
Plugin として install すると、MCP ツールと同時に同梱 Skill(例:
investment-onboarding)が有効化されます。今後 Skill を追加した場合も、plugin のアップデートでまとめて届きます。Skill を自作してワークフローをカスタマイズしたい方は、
skills/INDEX.mdの構成が参考になります。Claude Desktop は plugin / Skill の読み込みに未対応です。Claude Desktop で使う場合はセクション 1 の方法で登録してください(MCP ツールの機能は同じで、Skill が使えるかどうかだけの違いです)。
クライアント | manifest | API キーの渡し方 |
Claude Code |
| ✅ GUI で入力: |
Antigravity CLI(旧 Gemini CLI) |
| ✅ 対話 prompt: |
Cursor |
| ⚙️ シェル環境変数のみ: |
Codex |
| ⚙️ シェル環境変数のみ: |
いずれの manifest も npm registry の
bitbank-lab-mcpをnpx -y経由で起動します。Gemini CLI は 2026-06-18 に個人アカウント向け提供を終了し、Antigravity CLI(
agy)に移行しました。Antigravity CLI は旧 Gemini CLI 拡張(gemini-extension.json)を後方互換で読み込みます(agy plugin import geminiでネイティブ plugin へ変換も可能)。
Claude Code の例:
# 1. このリポジトリを marketplace として登録(初回のみ)
/plugin marketplace add bitbankinc/bitbank-lab-mcp
# 2. plugin を install
/plugin install bitbank-lab-mcp@bitbank-lab
# 3. plugin を有効化
/reload-pluginsbitbank-lab はこのリポが提供する marketplace 名(.claude-plugin/marketplace.json の name フィールド)、bitbank-lab-mcp は plugin 名です。
実行後、bitbank API key / API secret の入力 UI が表示されます。Public ツールだけで使う場合は両方とも空欄で OK — Private API ツールは API キーを入力したときだけ自動的に有効化されます。
API キーを後から追加・変更したい場合は
/pluginから該当 plugin の設定を開き、api_key/api_secretを更新してください。Claude Code ではsensitive: trueのため OS のキーチェーンに保管されます。
Cursor / Codex の場合(環境変数経由):
/plugin install 実行後、シェルで以下のように環境変数を設定してから Cursor / Codex を起動してください(Public ツールだけ使う場合は不要):
export BITBANK_API_KEY="your_api_key"
export BITBANK_API_SECRET="your_api_secret"macOS / Linux では ~/.zshrc や ~/.bashrc に書いておくと永続化されます。Windows は環境変数の管理画面 or setx を使用してください。
4. 使ってみる
AI クライアントにそのまま話しかけます:
BTCの今の市場状況を分析して
ビットコインは買いと売りどちらが優勢?
直近 1 週間でテクニカル的に上向きの仮想通貨を 3 つ教えて💡 何を聞けばいいかわからない場合: 用意されたプロンプト集 をご覧ください。初心者向け(🔰)から中級者向けまで、9種類の分析プロンプトを用意しています。
🌅 朝のルーティンに: 「おはようレポート」で、寝ている間の相場変動をすばやくキャッチアップできます。
Private API(取引機能)
API キーの有無でサーバーが公開する機能が自動的に切り替わります。
設定 | ツール数 | プロンプト数 | 使える機能 |
キー未設定 | 33(Public のみ) | 8 | 価格取得・テクニカル分析・チャート生成・バックテスト |
キー設定済み | 33 + 16 = 49 | 8 + 1 = 9 | 上記 + 資産確認・注文・ポートフォリオ分析 |
キー未設定時、Private ツール・プロンプトは MCP クライアントに一切表示されません(エラーではなく、そもそも登録されません)。公開データの取得・分析だけなら設定不要で、そのまま使えます。
環境変数の設定方法
ターミナルから起動する場合:
export BITBANK_API_KEY="your_api_key"
export BITBANK_API_SECRET="your_api_secret"Plugin install を使った場合 — /plugin から該当 plugin の設定を開き、api_key / api_secret を入力すれば完了です(手動編集は不要)。
Claude Desktop で手動設定している場合 — claude_desktop_config.json の env に追加(セクション 1 で設定した npx 方式/絶対パス方式のいずれかに、以下のように BITBANK_API_KEY と BITBANK_API_SECRET を追加するだけです):
{
"mcpServers": {
"bitbank-lab": {
"command": "npx",
"args": ["-y", "bitbank-lab-mcp"],
"env": {
"BITBANK_API_KEY": "your_api_key",
"BITBANK_API_SECRET": "your_api_secret"
}
}
}
}API キーは bitbank 設定画面 で発行してください。必要最小限の権限のみ付与することを強く推奨します(最小権限の原則)。
やりたいこと | 必要な権限 |
資産確認・ポートフォリオ分析(読み取り専用) | 「参照」のみ ← 最も安全、迷ったらこちら |
上記 + AI に発注・キャンセル操作も任せたい | 「参照」+「取引」 |
⚠️ 「出金」権限は絶対に有効化しないでください。本 MCP サーバーは出金系ツールを実装していないため、この権限を付ける必要は一切ありません。漏洩時の資産流出を避けるためです。
IP 制限: bitbank 側で API キーに IP 制限を設定できる場合は、可能な限り設定を推奨します。
カテゴリ | ツール | 説明 | 必要な権限 |
口座情報 |
| 保有資産一覧 | 参照 |
注文照会 |
| 注文の照会 | 参照 |
約定履歴 |
| 約定履歴の取得 | 参照 |
ポートフォリオ |
| 損益分析・パフォーマンス | 参照 |
入出金 |
| 入出金履歴 | 参照 |
信用取引 |
| 証拠金・ポジション・約定履歴 | 参照 |
発注 |
| ユーザー明示確認後に発注 | 取引 |
キャンセル |
| ユーザー明示確認後にキャンセル | 取引 |
一括キャンセル |
| ユーザー明示確認後に一括キャンセル | 取引 |
取引操作(発注・キャンセル)は preview → ユーザーの明示確認が必須です。確認トークンは content / structuredContent に載らず、create_order / cancel_order / cancel_orders を MCP tools/call から直接呼んでもサーバー側で拒否されます。
使用例(会話の型)
「今、BTC は買いですか?」→
analyze_market_signal: 総合スコア + 寄与度・根拠「直近で MACD クロスした銘柄は?」→
detect_macd_cross: スクリーニング結果「ここ 30 日のボラ推移を見たい」→
get_volatility_metrics+render_chart_svg
チャート表示(SVG)
MCP クライアント(Claude)では、アーティファクトとして
data.svgを表示するようにお願いしてください。Claude で LLM がうまくアーティファクトを出力できない場合は、以下のプロンプトを加えるのがおすすめです。
「identifier と title を追加して、アーティファクトとして表示して」
既定の描画は「ロウソク足のみ」。ボリンジャーバンド等のオーバーレイは明示指定時に追加されます(BBは
--bb-mode=default指定時に ±2σ がデフォルト)。
詳細ドキュメント
プロンプト集(初心者〜中級者向け): docs/prompts-table.md
ツール一覧と使い分け: docs/tools.md
Private API ガイド: docs/private-api.md
変更履歴: CHANGELOG.md
開発者向けガイド(型生成・CI など): CLAUDE.md
運用・監視(ログ集計/Docker起動 ほか): docs/ops.md
よくある質問(FAQ)
Q. 何を聞けばいいかわからない プロンプト集 を参照してください。初心者向け🔰から中級者向けまで9種類の分析プロンプトを用意しています。
Q. Docker は必須? いいえ。Node 18+ でローカル実行できます(最短は Claude Desktop 登録)。
Q. API キーは必要? 公開データの取得・分析には不要です。自分の資産確認や注文操作(Private API)を使う場合は Private API ガイド を参照してください。
Q. どのツールを使えばよい? まず analyze_market_signal で全体を把握 → 必要に応じて各専門ツールへ。
Q. 対応銘柄は固定? 固定ではありません。上流の公開 API が返す銘柄に自動追随します(追加/廃止も自動反映)。参考: bitbank 公開API仕様
Q. MCP Inspector でも試せる? はい。次で実行できます(npm 公開版に対する動作確認)。
npx @modelcontextprotocol/inspector -- npx -y bitbank-lab-mcpソースコードから動かす場合は npx @modelcontextprotocol/inspector -- tsx src/server.ts(開発者向け を参照)。
Q. 当日の約定(フロー)データが少ない・古い時間帯が取れない bitbank 側の仕様です。約定履歴の日付アーカイブ(/transactions/{YYYYMMDD})は UTC 暦日単位で、当該 UTC 日の完了後(日本時間 9:00 以降、さらに公開遅延あり)にのみ公開されます。進行中の UTC 日の約定は直近約 60 件(latest)しか取得できないため、get_flow_metrics 等では当日区間のカバレッジが限定的になります(結果に warning として明示されます)。ローソク足(get_candles)は進行中の UTC 日でもリアルタイムで取得できます。なお公開済みの過去区間であれば、get_flow_metrics / analyze_volume_profile の since / until(オフセット付き ISO8601、最大 7 日)でその区間の全件を集計できます(例: since=2026-08-01T00:00:00Z, until=2026-08-02T00:00:00Z で UTC 8/1 の 1 日ぶん)。件数上限による切り捨ては起きません。
トラブルシューティング
症状 | 原因・対処 |
Claude Desktop にツールが表示されない |
|
「サーバーに接続できません」エラー(npx 方式) | Claude Desktop から |
|
|
Node.js アップデート後に MCP が動かなくなった | nvm/volta の場合、Node.js バージョンが変わると絶対パスも変わる。 |
|
|
ツール実行時にタイムアウト | ネットワーク接続を確認 / bitbank API の状態を確認 |
Private API ツールが表示されない |
|
ログを確認したい |
|
Plugin install で「Marketplace not found」 |
|
開発者向け(ソースから起動)
このセクションは「自分で MCP サーバーをいじりたい」「PR を送りたい」という開発者向けです。通常の利用者はセクション 1 の npx -y bitbank-lab-mcp 方式で OK です(こちらは clone 不要)。
セットアップ
git clone https://github.com/bitbankinc/bitbank-lab-mcp.git
cd bitbank-lab-mcp
npm cipackage-lock.json 通りに依存をインストールするため、ローカル開発でも npm install ではなく npm ci を推奨します(CI も npm ci を使用)。
ビルドステップは不要です(tsx で TypeScript を直接実行します)。
STDIO モード(Claude Desktop / Claude Code 向け)
ローカルの開発版を Claude Desktop から使いたい場合、claude_desktop_config.json に絶対パス指定で登録します:
{
"mcpServers": {
"bitbank-dev": {
"command": "npx",
"args": ["tsx", "/ABS/PATH/to/src/server.ts"],
"workingDirectory": "/ABS/PATH/to/project",
"env": { "LOG_LEVEL": "debug", "NO_COLOR": "1" }
}
}
}/ABS/PATH/to/ を実際のクローン先パス(pwd で確認)に置き換えてください。npm 公開版(bitbank-lab)と区別するため、サーバー名は bitbank-dev 等にしておくと両立できます。
Inspector で動作確認する場合:
npx @modelcontextprotocol/inspector -- tsx src/server.tsWindows でローカル開発する場合
npx が PATH 解決できない環境では、node の絶対パスと tsx の CLI を直接指定します:
{
"mcpServers": {
"bitbank-dev": {
"command": "node",
"args": [
"C:\\Users\\<USERNAME>\\bitbank-lab-mcp\\node_modules\\tsx\\dist\\cli.mjs",
"C:\\Users\\<USERNAME>\\bitbank-lab-mcp\\src\\server.ts"
],
"workingDirectory": "C:\\Users\\<USERNAME>\\bitbank-lab-mcp",
"env": { "LOG_LEVEL": "debug", "NO_COLOR": "1" }
}
}
}CI / 型生成 / リンター
開発時のコマンド一覧は CLAUDE.md を参照してください(npm test / npm run lint:fix / npm run gen:types 等)。
フィードバック・バグ報告
バグ報告や機能要望は GitHub Issues からお願いします。Issue テンプレートを用意していますので、用途に合ったものを選択してください。
免責事項
開発段階について
本ツールは開発段階(ベータ版)です。バグ、不具合、誤動作、または不正確な分析結果を含む可能性があります。
AI エージェントによる処理結果について
本MCPサーバー / 本CLIツール が提供するデータを AIエージェント等が処理・生成した結果について、正確性、完全性、有用性、最新性を保証するものではありません。AI エージェント等による処理の結果、注文種別、価格、数量その他の取引条件が利用者の意図と異なる形で処理または実行される可能性があります。
金融商品取引法上の位置づけ
本MCPサーバーは情報提供のみを目的として提供されるものであり、投資助言・代理業、投資勧誘、その他金融商品取引法上の行為を目的とするものではありません。
外部サービスへの依拠
本MCPサーバーは外部API、LLM、第三者サービス等に依拠して提供するものであり、これらの仕様変更、停止、不具合等が生じた場合には、本MCPサーバーが正常に動作しない可能性があります。
安全対策の補助性
本MCPサーバーに実装されている最終注文確認機能、バリデーションその他の安全対策は、誤操作または誤発注等を防止するための補助機能であり、その完全な防止を保証するものではありません。
利用者の責任
利用者は、本MCPサーバーにより提供・生成された情報および注文内容等を自身で十分に確認の上、自己の判断と責任において本MCPサーバーを利用し、投資判断、注文実行および取引を行うものとします。
損害の免責
当社は、本MCPサーバーの利用もしくは利用不能、または本MCPサーバーにより提供・生成された情報、AI エージェント等による処理結果もしくは取引操作に基づく投資判断・注文・取引等に関連して生じたいかなる損害についても、当社の故意または重過失による場合を除き、一切責任を負いません。
APIキー・認証情報の管理
APIキーおよび取引に必要なパスワード等は利用者自身の責任において適切に管理してください。チャット欄や公開リポジトリその他第三者が閲覧可能な環境等へ APIキーや取引パスワード等の認証情報等を入力・掲載しないよう十分ご注意ください。
利用者による認証情報等の管理不備、誤入力、漏えい、第三者利用等により生じたいかなる損害についても、当社の故意または重過失による場合を除き、当社は一切責任を負いません。
Available Tools
32 toolsanalyze_bb_snapshotA
[Bollinger Bands / BB / Squeeze] ボリンジャーバンド(BB / squeeze / bandwidth / zScore)の数値スナップショット。軽量・BB特化。
mode=default: ±2σ帯の基本情報 / mode=extended: ±1σ/±2σ/±3σの詳細分析。
⚠️ 最新値のみ。時系列チャート描画 → prepare_chart_data(indicators: ["BB"])。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | default | |
| pair | No | btc_jpy | |
| type | No | 1day | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It reveals key behaviors: returns only latest values, offers two modes (default and extended), and is lightweight. However, it does not disclose potential side effects, authentication requirements, or rate limits, though such details may not be critical for a read-only snapshot tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with each sentence adding value. It could be slightly more structured by separating parameter details, but overall it avoids redundancy and stays on point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, modes, and distinguishes from a sibling for charting. However, it lacks details on output format and does not fully explain parameters. Given the absence of annotations and output schema, more context would be beneficial for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must explain parameters. It explains the 'mode' parameter with its two options but does not describe 'pair', 'type', or 'limit', leaving their semantics unclear beyond default values. This is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides a numerical snapshot of Bollinger Bands (BB, squeeze, bandwidth, zScore). It highlights being lightweight and BB-specific, distinguishing it from siblings like analyze_sma_snapshot and analyze_ema_snapshot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly notes that latest values only are returned and directs users to prepare_chart_data for time-series charts. While it does not list when not to use this tool, it provides a clear alternative for charting needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_candle_patternsC
[Candlestick Patterns / Doji / Engulfing] ローソク足パターン検出(candle patterns / doji / engulfing / hammer / harami)。1〜3本足パターンを検出し文脈と過去統計を付けて解説。
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | DEPRECATED: Use as_of instead. YYYYMMDD format. | |
| pair | No | btc_jpy | |
| as_of | No | Date to analyze (ISO "2025-11-05" or YYYYMMDD "20251105"). If omitted, uses latest data. | |
| patterns | No | Patterns to detect. If omitted, all patterns are checked. | |
| timeframe | No | 1day | |
| window_days | No | ||
| focus_last_n | No | ||
| history_horizons | No | ||
| history_lookback_days | No | ||
| allow_partial_patterns | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool detects patterns and returns context/historical stats, but does not disclose important behavioral traits such as whether it is read-only, required permissions, rate limits, or how historical statistics are computed. The description is too vague to adequately inform an AI agent about behavioral nuances.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and to the point, with a front-loaded list of patterns. It avoids unnecessary words and uses both Japanese and English for clarity. However, it could be slightly more structured, but given its brevity, it is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters, no output schema, low schema coverage), the description is incomplete. It does not explain the output format, how to interpret results, limitations, or prerequisites. A more detailed description is needed for an AI agent to use the tool correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 30% schema description coverage, the description must compensate by explaining parameters, but it does not. It mentions no parameter details beyond the tool's overall function. The schema itself provides partial descriptions for some parameters (e.g., as_of, patterns, timeframe), but the description adds no value for the remaining parameters (e.g., window_days, focus_last_n, history_horizons).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool detects candlestick patterns (doji, engulfing, hammer, harami) and provides context with historical statistics. It specifies the scope (1-3 bar patterns) and lists example patterns, making the purpose unambiguous. However, it does not differentiate from sibling tools like detect_patterns, which may have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for detecting candle patterns but provides no explicit guidance on when to use this tool versus alternatives. It does not mention conditions, prerequisites, or exclusions. The context of sibling tools (e.g., detect_patterns) is not addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_currency_strengthA
[Currency Strength / Ranking / Screening] 通貨強弱ランキング(currency strength / relative strength / ranking / screening)。全JPYペアを複合スコア(変化率・RSI・SMA乖離・出来高)で判定。注目銘柄の発見・スクリーニングに。
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | 分析対象の上位ペア数(出来高順で選出) | |
| type | No | RSI/SMA 算出に使うローソク足の種類 | 1day |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It explains the composite score uses rate of change, RSI, SMA divergence, and volume, and operates on all JPY pairs. However, it does not indicate whether the tool is read-only, real-time, or if it modifies data. The methodology disclosure is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, mixing Japanese and English, and includes a bracketed tag for context. It is front-loaded with the key purpose. The single sentence is efficient but could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description lacks details on return format (e.g., sorted list or scores). However, the parameters are well-documented. The tool's complexity (composite score) would benefit from more contextual completeness, but it is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters having descriptions. The tool description does not add meaning beyond the schema; it repeats general purpose. Baseline 3 is appropriate as the schema already documents parameter roles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a currency strength ranking and screening tool, using a composite score for all JPY pairs. It distinguishes itself from sibling tools that focus on individual indicators (e.g., analyze_bb_snapshot, analyze_macd_cross) by offering a holistic strength assessment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the tool is for 'finding and screening notable issues,' which implies usage for discovery, but it lacks explicit guidance on when to use this tool versus alternatives. No when-not or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_ema_snapshotA
[EMA / Exponential Moving Average] EMA(exponential moving average / trend / slope)の最新値・整列・クロス・傾きを返す(既定: 12/26/50/200)。
⚠️ 最新値のみ。時系列チャート描画 → prepare_chart_data(indicators: ["EMA_12","EMA_26"] 等)。
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | btc_jpy | |
| type | No | 1day | |
| limit | No | ||
| periods | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description discloses a key behavioral trait: it only returns the latest values (not time series). This is useful. However, it does not explicitly state whether the tool is read-only or non-destructive, nor mention auth needs or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loading the purpose and defaults. It wastes no words. However, it could add brief parameter hints without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 0% parameter description coverage, the description falls short. It explains one parameter (periods) and one behavioral constraint, but leaves three parameters and return format unexplained. More detail is needed for a tool with this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains the 'periods' parameter with default values, but does not describe 'pair', 'type', or 'limit'. Only one of four parameters gets meaningful context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns latest EMA values, alignment, cross, and slope with default periods 12/26/50/200. It distinguishes itself from siblings like analyze_sma_snapshot by specifying 'EMA' and from prepare_chart_data for charting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises that for time series chart drawing, use prepare_chart_data with indicators. This provides a concrete alternative. However, it does not cover when to use this vs other snapshot tools (e.g., analyze_sma_snapshot).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_fibonacciA
[Fibonacci / Retracement / Extension] フィボナッチ分析(fibonacci / retracement / extension / swing high-low)。スイング自動検出→リトレースメント/エクステンション水準を算出。過去の反応実績(反発率・リターン)付き。
複数タイムフレーム分析には analyze_mtf_fibonacci を使用。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | both | |
| pair | No | btc_jpy | |
| type | No | 1day | |
| lookbackDays | No | ||
| historyLookbackDays | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully cover behavior. It describes core functionality (swing detection, level calculation, history) but does not explicitly confirm read-only nature or other side effects. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences covering purpose, functionality, and sibling recommendation. No unnecessary words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters and no output schema, description is somewhat incomplete. It does not specify output format or details on reaction history. However, it provides essential functional context. Adequate but could be more comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% parameter description coverage. Description only briefly mentions swing detection and levels, but does not explain any of the five parameters (mode, pair, type, lookbackDays, historyLookbackDays), leaving the agent to infer from names. Insufficient compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states it performs Fibonacci analysis with automatic swing detection to calculate retracement/extension levels, including historical reaction data. It distinguishes from sibling analyze_mtf_fibonacci for multi-timeframe use, making purpose specific and clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions alternative sibling for multi-timeframe analysis, guiding when to use each. However, lacks other usage context or prerequisites (e.g., need for candle data).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_ichimoku_snapshotC
[Ichimoku Cloud] 一目均衡表(Ichimoku / cloud / kumo / tenkan-kijun)の数値スナップショット。価格と雲の位置関係・転換線/基準線クロス・雲の傾きを数値で返す。
⚠️ 最新値のみ。時系列チャート描画 → prepare_chart_data(indicators: ["ICHIMOKU"])。
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | btc_jpy | |
| type | No | 1day | |
| limit | No | ||
| lookback | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool returns only the latest values, which is a behavioral trait. However, it does not mention other behaviors such as read-only nature, authorization requirements, rate limits, or data source accuracy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences and a warning note. It avoids unnecessary text, though the lack of parameter descriptions is a trade-off. The structure is acceptable for its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of Ichimoku indicators and the absence of an output schema or parameter documentation, the description is incomplete. It does not explain how to interpret the returned values or configure the parameters for meaningful analysis, leaving gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the four parameters (pair, type, limit, lookback). Users are left to infer their meanings from parameter names alone, which is insufficient for correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides a numerical snapshot of Ichimoku Cloud indicators, including price, cloud position, tenkan-kijun cross, and cloud slope. It distinguishes from a related sibling tool (prepare_chart_data) explicitly, but does not differentiate from other analyze_* siblings beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that it provides latest values only and suggests using prepare_chart_data for time series charting. However, it does not provide guidance on when to use this tool versus other similar snapshot tools (e.g., analyze_bb_snapshot), nor does it mention prerequisites or constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_indicatorsA
[Technical Indicators / RSI / MACD / SMA] テクニカル指標の総合分析。最新値・トレンド判定・シグナルをテキストで返す。十分な limit を指定(例: 日足200本)。
描画 → prepare_chart_data / render_chart_svg。バックテスト → run_backtest。
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | btc_jpy | |
| type | No | 1day | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the burden. It states the tool returns text analysis, implying it is a read-only query with no destructive side effects. While it does not explicitly say 'no modifications', the nature of analysis is clear and there is no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with an additional line for sibling references. It is front-loaded with the tool's purpose and key indicators. No superfluous text, but could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description adequately covers the tool's purpose, usage hint (limit), and alternatives. It lacks details on return format beyond 'text' and does not explain all parameters fully, but is sufficient for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It gives meaningful guidance for the 'limit' parameter (specify sufficient value like 200), but does not explain 'pair' or 'type' parameters. Partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it performs comprehensive analysis of technical indicators (RSI, MACD, SMA) and returns latest values, trend judgments, and signals as text. It also distinguishes itself from sibling tools by mentioning that drawing charts and backtesting are handled by other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises specifying a sufficient limit (e.g., 200 daily candles) and clearly directs when to use alternative tools: for drawing charts use prepare_chart_data/render_chart_svg, for backtesting use run_backtest. This provides explicit when-not and alternative usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_market_signalA
[Market Signal / Score / Triage] 市場の総合シグナル(market signal / composite score / bull-bear / triage)。5要素(板圧力・CVD・モメンタム・ボラティリティ・SMAトレンド)を-100〜+100の単一スコアで瞬時評価。分析の起点・スクリーニングに最適。
⚠️ 最新値スナップショットのみ。時系列チャート描画 → prepare_chart_data(indicators 指定)。
詳細分析には専門ツールを併用: get_flow_metrics / get_volatility_metrics / analyze_indicators / get_orderbook / detect_patterns。
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | btc_jpy | |
| type | No | 1day | |
| windows | No | ||
| bucketMs | No | ||
| flowLimit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description discloses the snapshot-only limitation and the composite nature. No mention of side effects, but it's a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with key info upfront and bullets, but bilingual text (Japanese/English) adds some verbosity. Clear and focused overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 5 undocumented parameters, description fails to explain parameters or return format. Incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and description provides no information about the 5 parameters (pair, type, windows, bucketMs, flowLimit). Agent cannot infer their meaning from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it evaluates market signal as a single composite score from 5 factors (-100 to +100). It distinguishes from siblings like prepare_chart_data for charts and lists other detailed analysis tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says it's best for starting point/screening, warns that it's only a snapshot and not for time series (use prepare_chart_data), and references other tools for detailed analysis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_mtf_fibonacciA
[Multi-Timeframe Fibonacci / Confluence] 複数期間フィボナッチ一括分析(MTF fibonacci / confluence zone)。複数ルックバック期間の水準を並列計算し、コンフルエンス(合流)ゾーンを自動検出。analyze_fibonacci を個別に呼ぶ必要なし。
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | btc_jpy | |
| lookbackDays | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description carries full burden. It mentions parallel computation and confluence detection but lacks details on side effects, output format, or potential performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single focused paragraph with a clear title prefix, no redundant words, and all information front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of multi-timeframe analysis and absence of output schema or annotations, the description fails to explain what the tool returns or how to interpret confluence zones, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, but parameter names and defaults (pair, lookbackDays with sample values) provide basic meaning. No additional explanation of array usage or constraints beyond what schema enforces.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it performs multi-timeframe Fibonacci analysis with confluence zone detection, and explicitly distinguishes from sibling analyze_fibonacci by saying 'No need to call analyze_fibonacci individually.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context for when to use this tool over analyze_fibonacci (for batch analysis across multiple lookback periods), but does not mention when not to use it or specify alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_mtf_smaC
[Multi-Timeframe SMA / MTF] 複数タイムフレームSMA一括分析(multi-timeframe / MTF / SMA alignment / confluence)。整列方向とコンフルエンスを判定。
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | btc_jpy | |
| periods | No | ||
| timeframes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavioral traits. It mentions the output (alignment direction and confluence) but fails to indicate whether the tool is read-only, requires authentication, or has any side effects. This is insufficient for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of a single line that front-loads the key concept. However, it is slightly too brief; a structured overview with separate sections for purpose and output would improve readability without adding significant length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of multi-timeframe SMA analysis and the absence of an output schema, the description is severely incomplete. It does not define 'alignment direction' or 'confluence', nor does it explain how periods and timeframes interact. Compared to sibling tools like analyze_mtf_fibonacci which likely have richer descriptions, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain any of the three parameters (pair, periods, timeframes). Schema description coverage is 0%, and the description adds no semantic meaning beyond the parameter names visible in the schema. As a result, the agent has no understanding of what values to provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool analyzes multi-timeframe SMA and determines alignment direction and confluence. It uses specific terms like 'Multi-Timeframe SMA' and 'MTF' which convey the resource and verb. However, it does not explicitly differentiate from sibling tools like analyze_sma_snapshot, leaving room for ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or context for usage. It simply states what the tool does without any usage recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_sma_snapshotB
[SMA / Moving Average / Golden Cross] SMA(simple moving average / golden cross / dead cross)の数値スナップショット。最新値・クロス検出・整列状態(bullish/bearish/mixed)。
⚠️ 最新値のみ。時系列チャート描画 → prepare_chart_data(indicators: ["SMA_25","SMA_75"] 等)。
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | btc_jpy | |
| type | No | 1day | |
| limit | No | ||
| periods | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly states that only latest values are provided ('最新値のみ') and points to the charting tool for historical data. It does not disclose side effects (none expected) but covers the key constraint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively short but mixes Japanese and English, includes an emoji, and lacks clear structure. It is not overly verbose, but could be more organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters and no output schema, the description is incomplete. It mentions snapshot elements but does not define cross detection parameters or alignment states. It also omits default behaviors and error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the four parameters (pair, type, limit, periods). The only indirect mention is in the charting hint referencing 'SMA_25, SMA_75', but no explicit parameter semantics are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states that the tool provides a snapshot of SMA values, cross detection (golden/dead cross), and alignment state. This clearly distinguishes it from siblings like analyze_ema_snapshot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates that for time series chart drawing, one should use prepare_chart_data, providing a clear exclusion. However, it does not compare against other snapshot tools or suggest when to use this over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_stoch_snapshotA
[Stochastic / Overbought / Oversold] Stochastic(stochastic / %K / %D / overbought / oversold / divergence)の最新状態。ゾーン・クロス・ダイバージェンスを判定。
⚠️ 最新値のみ。時系列チャート描画 → prepare_chart_data(indicators: ["STOCH"])。
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | btc_jpy | |
| type | No | 1day | |
| limit | No | ||
| kPeriod | No | ||
| smoothD | No | ||
| smoothK | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It discloses the snapshot-only nature and mentions zone/cross/divergence detection. However, it does not describe the output format, side effects (if any), or authentication requirements, leaving gaps in behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences and a warning, front-loading the purpose. However, the use of Japanese characters may reduce readability for non-Japanese speakers, and the structure could be slightly improved with clearer parameter hints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, no output schema, and no annotations, the description is too minimal. It fails to explain what the analysis result contains, how parameters like kPeriod affect the output, or the return structure. This leaves significant gaps for an AI agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions stochastic components (%K, %D) but does not explain the six parameters (pair, type, limit, kPeriod, smoothD, smoothK). Users must infer meaning from context, which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it evaluates stochastic overbought/oversold/divergence zones and cross. It mentions 'latest status only' which differentiates it from time-series tools like prepare_chart_data. However, it could be more explicit about what specific analysis it performs compared to other analyze_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly warns that only latest values are provided and directs users to prepare_chart_data for time-series chart drawing. This clearly tells when not to use this tool and suggests an alternative, meeting the highest standard for usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_support_resistanceC
[Support / Resistance / Key Levels] サポート・レジスタンス(support / resistance / key levels / price levels)を自動検出。反発/反落ポイントの接触回数・強度・崩壊実績を分析。
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | btc_jpy | |
| topN | No | ||
| tolerance | No | ||
| lookbackDays | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It implies read-only analysis of historical data, which is non-destructive. But it doesn't disclose authentication needs, rate limits, or limitations. Functional description is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences; reasonably concise. But the mixed Japanese/English could be streamlined. Front-loads the key function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no parameter explanations, and 4 parameters left undocumented. For an analysis tool with siblings, more context is needed for complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and description does not mention any parameters (pair, topN, tolerance, lookbackDays). No guidance on what these parameters control or their default values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it auto-detects support/resistance/key levels and analyzes contact frequency/strength/breakdown. Verb+resource is specific, distinguishing it from sibling analysis tools that focus on other indicators like BB, Fibonacci, etc. However, the Japanese/English mix may slightly reduce clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like analyze_fibonacci or analyze_market_signal. The description describes function but not context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_volume_profileB
[Volume Profile / VWAP / POC] 出来高プロファイル分析(volume profile / VWAP / POC / value area)。VWAP±σバンド・価格帯別出来高・約定サイズ分布を算出。hours で期間指定(デフォルト4h、最大24h)。
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | Asia/Tokyo | |
| bins | No | Volume Profile の価格帯分割数 | |
| pair | No | btc_jpy | |
| hours | No | 直近N時間分の約定を取得(デフォルト4h)。limit より優先 | |
| limit | No | 取得する約定件数。hours 指定時は無視 | |
| valueAreaPct | No | Value Area のカバー率(デフォルト70%) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that calculations are based on recent trades (hours/limit) and lists computed metrics. However, it does not mention data source, recalc behavior, or any side effects, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with core functionality in the first sentence. It uses concise phrasing, though the mix of Japanese and brackets slightly reduces clarity. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain return values. It hints at outputs (VWAP bands, volume distribution) but does not specify structure or format. With many sibling tools, more context on what results look like would help agent decide.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%. The description explains the 'hours' parameter (default 4h, max 24h) but does not detail other parameters like 'bins', 'valueAreaPct', 'tz', or 'pair'. It adds value by naming the analysis types but could better compensate for low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it analyzes volume profile, VWAP, POC, and value area. It lists specific outputs (VWAP bands, volume per price, trade size distribution) and mentions the key parameter 'hours'. While it distinguishes from sibling tools by topic, it does not explicitly contrast with similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description implies usage for volume profile analysis but does not provide context for when other tools like 'analyze_indicators' or 'get_volatility_metrics' would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_macd_crossA
[MACD Cross / Crossover / Screening] MACDクロス検出(MACD cross / crossover / golden cross / dead cross / screening)。
pair省略: 複数銘柄スクリーニング / pair指定: 単一ペア深掘り分析(forming検出・過去統計)。
screen(スクリーニング用):
crossType: golden|dead|both
minHistogramDelta / maxBarsAgo / minReturnPct / maxReturnPct
sortBy: date|histogram|return|barsAgo
limit: 上位N件
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | 指定時は単一ペア深掘りモード | |
| view | No | summary | |
| pairs | No | スクリーニング時の対象ペア限定 | |
| market | No | スクリーニング時の対象市場 | all |
| screen | No | ||
| lookback | No | ||
| historyDays | No | 単一ペア: 統計対象期間 | |
| includeStats | No | 単一ペア: 過去統計 | |
| includeForming | No | 単一ペア: forming検出 | |
| performanceWindows | No | ||
| minHistogramForForming | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full transparency burden. It discloses the dual-mode behavior, screening parameters (crossType, limit, sortBy, etc.), and deep analysis features (forming detection, stats). It does not mention destructive actions, auth, or rate limits, but as a read-only analysis tool this is acceptable. Score 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using bullet points for screening parameters. It is front-loaded with purpose and mode distinction. The mixed Japanese/English might reduce clarity for some agents, but overall it is structured efficiently. Score 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does not explain return values (e.g., what fields are in the results). It mentions '上位N件' but lacks detail on output structure. Additionally, error conditions or edge cases are not covered. For a complex tool with nested objects, this is a gap. Score 3.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 55%, and the description adds value by explaining the role of parameters in context (e.g., crossType for screening, pair for mode selection). It does not fully compensate for all 11 parameters but provides meaningful semantic grouping (screen parameters). Score 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool detects MACD crosses (golden/dead cross) and distinguishes two modes: screening multiple pairs (when pair is omitted) and deep single-pair analysis with forming detection and historical stats. This specificity and differentiation from sibling tools like analyze_ema_snapshot justify a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use each mode: 'pair省略: 複数銘柄スクリーニング' and 'pair指定: 単一ペア深掘り分析'. While it doesn't list alternatives or when not to use, the context is clear enough for an agent to decide. Score 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_patternsB
[Chart Patterns / Double Top / Head and Shoulders / Triangle] チャートパターン検出(chart patterns / double top / double bottom / head and shoulders / triangle / wedge / flag)。形成中+完成済みを統合検出。表示日時は tz(既定 Asia/Tokyo)で整形。
視覚確認: 結果の overlays を render_chart_svg に渡して描画可能。 描画結果は必ずビジュアルとしてレンダリングして表示すること。 チャット本文へのSVGコード直接出力は禁止。
構造化データ (data.patterns[*].range.start/end 等) は後方互換のため UTC ISO 文字列のまま。
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | 表示日時のタイムゾーン(既定: Asia/Tokyo)。get_candles の tz と揃える。pattern の表示日付(期間 / 形成期間 / 文脈期間 / ブレイク確認 / 先行トレンド / pivot / 検出対象期間 等)に適用される。構造化データ(data.patterns[*].range.start/end 等)は後方互換のため UTC ISO 文字列のまま不変。空文字も Asia/Tokyo にフォールバック。 | Asia/Tokyo |
| pair | No | btc_jpy | |
| type | No | 1day | |
| view | No | detailed | |
| limit | No | ||
| patterns | No | Patterns to detect. Recommended params (guideline): - double_top/double_bottom: default (swingDepth=7, tolerancePct=0.04, minBarsBetweenSwings=5) - triple_top/triple_bottom: tolerancePct≈0.05 - triangle_*: tolerancePct≈0.06 - pennant: swingDepth≈5, minBarsBetweenSwings≈3 Aliases: 'flag' → bull_flag + bear_flag, 'pennant' → bull/bear pennant, 'triangle' → asc/desc/sym. | |
| swingDepth | No | ||
| tolerancePct | No | ||
| includeForming | No | 形成中パターンを含める | |
| includeInvalid | No | 無効化済みパターンを含める | |
| includeCompleted | No | 完成済みパターンを含める | |
| currentRelevanceDays | No | ||
| minBarsBetweenSwings | No | ||
| requireCurrentInPattern | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explains that display times are formatted according to the 'tz' parameter, structured data remains in UTC ISO, and results should be rendered via 'render_chart_svg' rather than outputting SVG directly. These details provide useful behavioral context beyond a basic description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a mix of Japanese and English with multiple clauses and inline lists. While it conveys necessary information, it lacks clear structure and could be more concise. For example, the rendering instruction and timestamp formatting details could be presented more succinctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (14 parameters, no output schema), the description provides adequate context about forming/completed detection, timezone handling, and rendering instructions. However, it does not describe the full return structure (e.g., data.patterns fields) or how the tool relates to siblings. An output schema would help, but its absence places a burden on the description to be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is only 36%, so the description should compensate. It adds some meaning for the 'patterns' parameter with recommended parameters (e.g., swingDepth, tolerancePct) and aliases. However, most other parameters (like 'pair', 'type', 'view', 'limit') are left to their schema defaults without additional explanation in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool detects chart patterns (e.g., double top, head and shoulders, triangle) and mentions it integrates forming and completed patterns. However, it does not explicitly differentiate from sibling tools like 'analyze_candle_patterns' or 'analyze_support_resistance' beyond the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives. It mentions passing overlays to 'render_chart_svg' for visual confirmation, but does not explain when to choose this tool over other pattern detection or analysis tools. No when-not or exclusion criteria are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_whale_eventsC
[Whale / Large Orders / Big Players] 大口投資家の動向検出(whale / large orders / big players / smart money)。板×ローソク足で大口注文を簡易検出。推測ベース。
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | btc_jpy | |
| minSize | No | ||
| lookback | No | 1hour |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It mentions the method (order book and candlesticks) and states 'speculation-based', indicating non-precision. However, it does not disclose whether the tool is read-only, destructive, requires authentication, or has rate limits. The behavioral impact is poorly communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (two lines) and front-loaded with a helpful bracket keyword summary. However, it sacrifices clarity for brevity; every sentence earns its place but lacks necessary detail. It is concise but under-informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain return values (e.g., detected events, confidence metrics). It only mentions 'detection' without specifying output format or behavior. For a detection tool, this is incomplete; an agent cannot reliably interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter description coverage is 0%. The description does not explain the meaning of 'pair', 'minSize', or 'lookback' beyond their names and schema defaults. For example, 'minSize' likely refers to minimum order size in BTC, but this is not stated. The description adds no value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: detecting large investor movements (whales) using order book and candlestick data. The phrase '簡易検出' (simple detection) and the bracket summary provide a specific verb+resource. However, it remains somewhat vague about the exact output, which could be improved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool over sibling tools. The description implies it is for detecting whale orders, but does not provide context such as 'use when you need to identify large orders' or mention alternatives. No exclusions or best practices are included.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_candlesA
[Candles / OHLCV / Candlestick] ローソク足(candles / OHLCV / chart data)を取得。1min〜1monthの各時間足に対応。date は tz(既定 Asia/Tokyo)の暦日として解釈し、その終端以前の limit 本を返す。 詳細は inputSchema を参照。
【重要】バックテストには run_backtest を使用(データ取得〜チャート描画を一括実行)。
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | タイムゾーン(既定 Asia/Tokyo)。date パラメータの暦日解釈、isoTimeLocal、keyPoints.date、priceRange.periodStart/End の表示に使用。isoTime は常に UTC ISO。空文字も Asia/Tokyo にフォールバック。UTC が必要な場合は明示的に "UTC" を渡す。 | Asia/Tokyo |
| date | No | type により形式が異なる: - 1min/5min/15min/30min/1hour → YYYYMMDD(例: 20251022) - 4hour/8hour/12hour/1day/1week/1month → YYYY(例: 2025) date=YYYYMMDD は tz(既定 Asia/Tokyo)の暦日として解釈します。指定日の終端(23:59:59.999 in tz)以前の limit 本を返します。limit は日数ではなくローソク足本数です。例: 1hour, date=20251002, limit=24 は指定 tz の 10/2 24 本(00:00〜23:00)。 省略時は最新。 (互換: 年足系で YYYYMMDD を渡した場合は先頭4桁を年として使用) | |
| pair | Yes | ||
| type | Yes | ||
| view | No | full | |
| limit | No | デフォルト 200。1〜10000 の整数。type により実上限が変わる: 1min〜1hour は最大 10000(複数日取得)、4hour〜1month は最大 5000(複数年取得)、それ以外は 1000。実上限を超えると user エラー。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: how date and limit interact (returning candles before the end of the specified day in the given timezone), timezone handling with fallback to Asia/Tokyo, and dynamic maximum limits based on the candle type. This is thorough and transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a single paragraph covering the core functionality, followed by an important note about backtesting. Every sentence provides value, with no redundancy. It front-loads the purpose and references the schema for details, making it efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers core functionality, parameter usage, timezone handling, and differentiation from backtesting. However, it lacks information about the output format (no output schema exists) and does not mention error conditions or authentication. For a data retrieval tool with 6 parameters and no output schema, this is a noticeable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (only tz, date, limit have descriptions in the schema). The description text adds some high-level context about date interpretation and backtesting but does not significantly enhance understanding of the undocumented parameters (pair, type, view). The baseline for 50% coverage is 3, and the description does not sufficiently compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves OHLCV/candle data for various timeframes, using the verb '取得' and specifying the resource 'ローソク足'. It distinguishes itself from sibling tools like run_backtest by noting that backtesting should use that tool instead. The purpose is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using run_backtest for backtesting instead of get_candles, providing a clear when-not-to-use case. It also explains date interpretation and limit behavior. However, it does not mention alternatives among sibling data retrieval tools like get_ticker or get_orderbook, leaving some gaps in guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_flow_metricsA
[Flow / CVD / Buy-Sell Pressure] 資金フロー分析(flow / CVD / aggressor ratio / buy-sell pressure)。約定データからCVD・アグレッサー比・スパイクを検出。hours(推奨)で時間範囲指定、または limit で件数指定。
加工契約:
内部で使用する約定列は、取得パスに関わらず timestampMs 昇順にソート済み。
latest と date ベースをマージする場合、重複除去キーは
timestampMs:price:amount:side(transaction_id は使用しない: 同一約定でも上流エンドポイント間で ID が一致しないケースがあるため)。
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | Asia/Tokyo | |
| date | No | YYYYMMDD; omit for latest | |
| pair | No | btc_jpy | |
| view | No | summary: 集計値のみ (buckets 省略) / compact: 非ゼロバケットのみ / buckets: 直近 N バケット / full: 全バケット | summary |
| hours | No | 指定した時間数分の約定を取得して分析(例: 8 → 直近8時間)。limit より優先。複数日にまたがる場合も自動で取得します | |
| limit | No | 取得する約定件数(バケット数ではない)。hours 指定時は無視されます | |
| bucketMs | No | バケットの時間幅(ミリ秒)。デフォルト60000=1分間隔 | |
| bucketsN | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description discloses important behavioral details: internal sorting by timestampMs ascending, deduplication logic using timestampMs:price:amount:side when merging data sources, and the fact that hours parameter can fetch across multiple days. This adds substantial value beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two clear sections: purpose/usage and processing contract. It front-loads the main function and uses efficient language, though the Japanese '加工契約' section is somewhat technical but necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should clarify return structure. It mentions view parameter options (summary, compact, buckets, full) but does not explain what each returns. The tool has 8 optional parameters with defaults, but no description of default behavior beyond hours/limit priority.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 63%, and the description adds meaning for key parameters: explains that hours is prioritized over limit, specifies that limit refers to execution count not bucket count, and clarifies that hours automatically spans multiple days. This helps agents understand parameter interplay.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: analyzing fund flow metrics (flow/CVD/aggressor ratio/buy-sell pressure) from execution data. It specifies detection of CVD, aggressor ratio, and spikes, and distinguishes it from sibling analysis tools by focusing on flow-specific metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description recommends using 'hours' over 'limit' for time range specification, but does not provide explicit guidance on when to use this tool versus alternatives. There is no 'when-not-to-use' or mention of prerequisites, limiting clarity on appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_orderbookA
[Order Book / Depth / Spread] 板情報(order book / depth / bid-ask spread)の統合ツール。
【mode】summary(デフォルト): 上位N層+spread / pressure: 帯域別の買い/売り圧力 / statistics: 流動性ゾーン+大口注文 / raw: 生bids/asks+壁ゾーン推定。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | summary | |
| pair | No | btc_jpy | |
| topN | No | ||
| ranges | No | ||
| bandsPct | No | ||
| priceZones | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It does not mention whether the tool is read-only, requires authentication, has rate limits, or what side effects (e.g., no destructive actions). The description focuses on output modes but lacks transparency about the tool's operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured. It begins with a clear title in brackets, then lists each mode in a bulleted format with a one-line explanation. Every sentence adds value with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are 6 parameters, no annotations, and no output schema, the description should provide more context. It explains modes but does not clarify parameter interactions (e.g., how topN or ranges apply to each mode) or the response format. The missing details reduce completeness for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning for the 'mode' parameter by explaining each enum value, but the other five parameters (pair, topN, ranges, bandsPct, priceZones) are not described at all. With 0% schema description coverage, the description only partially compensates by explaining modes, leaving most parameters unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it is an integrated tool for order book, depth, and bid-ask spread data. The multiple modes (summary, pressure, statistics, raw) are explicitly listed, distinguishing it from sibling tools like analyze_* or get_candles which focus on different data types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description describes four modes with brief explanations of what each returns (e.g., summary: top N layers+spread; pressure: buy/sell pressure per band). This provides context for when to use each mode, but it does not explicitly state when to prefer this tool over siblings or when not to use it. The guidance is implicit but adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tickerB
[Ticker / Price] 単一ペアのティッカー(ticker / price / 24h change)を取得。現在価格・出来高・24h高安。
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | btc_jpy |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the tool returns ticker data (price, volume, 24h range), which is sufficient for a simple read operation. No mention of data freshness or limitations, but acceptable for this scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with a category label, front-loaded. No wasted words, but lacks parameter info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Minimal description adequate for a simple tool with one parameter, but does not explain output structure, error behavior, or link to plural counterpart.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and description does not mention the parameter by name or explain its format, default, or allowed values. The phrase 'single pair' implies the parameter is a pair, but no concrete semantic help.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it gets ticker/price for a single pair, listing specific data fields (price, volume, 24h high/low). It distinguishes from sibling 'get_tickers_jpy' by specifying 'single pair'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs alternatives. The description only implies single-pair usage but does not mention when not to use or provide comparisons to analysis tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tickers_jpyB
[All Tickers / Market Overview] 全JPYペアのティッカー一覧(tickers / ranking / market overview)を取得。変化率・出来高でランキング表示可能。
| Name | Required | Description | Default |
|---|---|---|---|
| view | No | ranked | |
| limit | No | ||
| order | No | desc | |
| sortBy | No | change24h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully communicate behavioral traits. It only mentions the basic listing and ranking capability, lacking details on data freshness, rate limits, authentication, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a single sentence covering the core purpose and ranking feature. It could be slightly clearer with separate clauses, but it's efficiently front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 4 parameters, no output schema, and sibling tools, the description is too minimal. It omits output structure, behavior of different views, and how to interpret results, making it incomplete for accurate agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description hints at ranking by change rate and volume, partly compensating for missing parameter details. However, it does not explain the 'view' enum or other parameters individually, leaving gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a list of all JPY pair tickers with ranking options, using a specific verb (get) and resource (all JPY pairs tickers). It distinguishes from sibling tools like get_ticker (singular) and analysis tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as get_ticker for a single pair or other analytical tools. There is no mention of appropriate contexts or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_transactionsB
[Transactions / Trades] 市場の約定履歴(transactions / recent trades)を取得。直近60件 or 日付指定。金額・価格でフィルタ可能。
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | YYYYMMDD; omit for latest | |
| pair | No | btc_jpy | |
| view | No | summary | |
| limit | No | ||
| maxPrice | No | ||
| minPrice | No | ||
| maxAmount | No | ||
| minAmount | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only operation ('get') and hints at filtering and date specification, but does not disclose pagination, rate limits, or data freshness beyond the default 60 items.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a clear front-loaded title and a single sentence covering core functionality. It avoids fluff but could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, no output schema, and no annotations, the description is too brief. It does not explain default behavior (e.g., how 'latest' interacts with the 'limit' default of 100) or the difference between 'summary' and 'items' views.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 13% (only the 'date' parameter has a description). The description adds that filtering by amount/price is possible and mentions date specification, but does not detail the view or limit parameters, leaving significant gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb '取得' (get) and the resource '約定履歴' (transaction history), distinguishing it from sibling tools like get_candles or get_orderbook by specifying it's for transactions/trades.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions fetching the latest 60 items or by date, and filtering by amount/price, providing basic context. However, it does not explicitly state when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_volatility_metricsC
[Volatility / ATR / RV] ボラティリティ指標(volatility / ATR / realized vol)を算出。RV・ATR・Parkinson・Garman-Klass・Rogers-Satchell。年率換算対応。aggregates.atr は Wilder ATR(RMA ベース、period=14、TradingView・MT4 標準と一致)。ローリングではボラ変化を RV / Parkinson で追跡してください。
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | Asia/Tokyo | |
| pair | Yes | ||
| type | Yes | ||
| view | No | summary | |
| limit | No | ||
| windows | No | ||
| annualize | No | ||
| cacheTtlMs | No | ||
| useLogReturns | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that ATR uses Wilder's method (RMA-based, period=14, matching TradingView/MT4) and mentions annualization and rolling window recommendations. However, it lacks details on destructive behavior, authorization, rate limits, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph of moderate length. It begins with a title-like bracket and covers purpose, methods, and a tip. While not verbose, it lacks clear structure (e.g., bullet points) and could be more concise by removing redundant mentions of volatility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 9 parameters, 2 required, no output schema, and no annotations, the description is incomplete. It explains what is computed but fails to describe parameter semantics, return format, or how to interpret results, which is essential for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no explanation of parameters (e.g., `pair`, `type`, `view`, `limit`, `windows`). Despite having 9 parameters with defaults and enums, the description adds no value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with '[Volatility / ATR / RV]' and states it calculates volatility indicators, listing specific methods (RV, ATR, Parkinson, Garman-Klass, Rogers-Satchell). The verb '算出' (calculate) is clear, and the resource is volatility metrics. It distinguishes from sibling tools by focusing on volatility, but the technical jargon may reduce clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. There is a tip for rolling windows ('ローリングではボラ変化を RV / Parkinson で追跡してください') but no exclusions or comparisons with sibling tools like `analyze_bb_snapshot` or `analyze_indicators`.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_chart_dataA
[Chart / Candlestick / Visualization] チャート描画の第一選択ツール。
⚠️ limit はデフォルト 30 を推奨。ユーザーが期間を明示した場合のみ増やすこと。 indicators はユーザーが明示的に要求した指標のみ指定すること。分析のついでに追加しない。 indicators の同時指定はコンテキストを大幅に消費するため、必要最小限に留めること。
デフォルトはローソク足(OHLCV)のみ返す。indicators 未指定 = ローソク足のみ。 指標が必要な場合は indicators に明示指定: SMA_5, SMA_20, SMA_25, SMA_50, SMA_75, SMA_200, EMA_12, EMA_26, EMA_50, EMA_200, BB, ICHIMOKU, RSI, MACD, STOCH
レスポンス形式: { times[], labels?[], candles: [[o,h,l,c,v],...], series?: {指標名: values[]}, subPanels?: {...} } JPY ペアの価格は整数に丸め済み。全 null 系列は自動除外。
tz パラメータ(例: "Asia/Tokyo")指定時、times がローカル時刻に変換され、labels("03/16 17:00" 等の短縮表示文字列)も付加される。
SVG/PNG ファイル保存 → render_chart_svg。指標の最新値やトレンド判定 → analyze_indicators。
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | タイムゾーン(デフォルト: Asia/Tokyo)。times をローカル時刻に変換し、labels(短縮表示文字列)も付加する。空文字でUTCのみ | Asia/Tokyo |
| pair | No | btc_jpy | |
| type | No | 1day | |
| limit | No | ||
| indicators | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It reveals that the default return is only OHLCV, describes the response format, notes that JPY pair prices are rounded to integers, and explains tz behavior for local time conversion. However, it does not explicitly state that the tool is read-only or destructive, though the context implies read-only. A mention of authorization or rate limits would elevate it further.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively long but well-structured, with a clear title line, bullet-point warnings, and separate notes on response format and tz. It front-loads the purpose and critical usage constraints. Minor redundancy: 'デフォルトはローソク足(OHLCV)のみ返す。indicators 未指定 = ローソク足のみ。' repeats the same message. Overall, each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no output schema, many sibling tools), the description is quite complete. It explains the response format, default behavior, and tz effect, and references sibling tools for related tasks. However, pair and type parameters are not explained (only defaults in schema), and the absence of an output schema means the agent relies entirely on the description for return understanding. Still, the provided information is sufficient for most use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20%, so the description must compensate. It does so effectively for tz (explains local time and labels), limit (warns about default and when to increase), and indicators (lists allowed values and emphasizes explicit specification). However, pair and type receive minimal elaboration beyond defaults. The description adds significant meaning beyond the schema for three of five parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as the first-choice for chart drawing (candlestick/visualization). It specifies that it returns OHLCV data with optional indicators and distinguishes from sibling tools like render_chart_svg and analyze_indicators. The verb 'prepare_chart_data' is specific and the resource is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool (first choice for charting) and when not (e.g., for SVG/PNG files use render_chart_svg; for indicator analysis use analyze_indicators). It includes critical warnings: default limit 30, only increase if user specifies a period; only specify indicators if user explicitly requests; and caution about context consumption. This fully addresses usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_depth_dataA
[Depth Chart / Order Book / Visualization] 板の深度チャート描画の第一選択ツール。
getDepth(/depth API)を呼び出し、累積 volume の階段配列 ([price, cumulativeVolume][]) として返す。 Claude.ai の Visualizer 等クライアント側で描画可能な場合はこのツールを優先。 ファイル保存(SVG/PNG)が必要な場合は render_depth_svg を使用。
レスポンス形式: { bids: [[price, cumVolume], ...], asks: [[price, cumVolume], ...], bestBid, bestAsk, mid, spread, spreadPct, totalBidVolume, totalAskVolume, band: {pct, bidVolume, askVolume, ratio}, timestamp, isoTime }
bids は価格降順、asks は価格昇順
band は mid を中心とした ±bandPct 範囲の買い/売り量と比率(ratio = bidVolume / askVolume)
JPY ペアの価格は整数に丸め済み
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | btc_jpy | |
| levels | No | 取得する最大レベル数(片側)。10〜1000 の整数、デフォルト 200 | |
| bandPct | No | mid を中心とした ±range 比率。0.01 = ±1%。デフォルト 0.01 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries full burden. It details return format, bid/ask ordering, band calculation, and JPY rounding. Lacks auth/rate limit info but sufficient for behavioral understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, each sentence adds value. Slightly long but well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Thorough description of return data, ordering, and band calculation. No output schema, but covers essential details. Could mention error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%. Description adds context for bandPct (mid ± range) and explains levels default, but pair lacks description. Adds some value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states it is the first-choice tool for depth chart visualization, calls getDepth API, and returns cumulative volume array. Clearly distinguishes from render_depth_svg.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States when to use (visualizer capable) and when to use alternative render_depth_svg (file saving). But does not mention other alternatives like get_orderbook.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refresh_pairs_cacheA
[Maintenance / Fees] /spot/pairs 手数料レートの TTL キャッシュ(既定 1h)を強制再取得する。キャンペーン境界などで最新の maker/taker 手数料率を即時反映したいときに使う。引数なしで全ペアを再取得(pair 指定で対象ペアの率を強調表示)。
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | 注記表示する対象ペア(例: btc_jpy)。指定しても再取得は全ペア対象。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description fully covers behavioral traits: it explains that it forces a cache refresh, mentions the default TTL (1h), and clarifies that all pairs are re-acquired even if a specific pair is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with category and endpoint, and every sentence adds value. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one optional parameter and no output schema. The description fully explains the tool's purpose, usage, and parameter behavior, making it complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds critical clarity: it explains that the 'pair' parameter only highlights that pair's rate and does not limit re-acquisition to that pair. This goes beyond the schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool forces re-acquisition of TTL cache for fee rates, with specific context (maintenance/fees) and a concrete use case (campaign boundaries). It is distinct from sibling tools, which are all analysis-oriented.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions when to use (to refresh fee rate cache, e.g., at campaign boundaries). It does not explicitly state when not to use, but the context implies it is not for normal operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_candle_pattern_diagramA
[Candle Pattern Diagram / Education] ローソク足パターンの教育用構造図(candle pattern diagram / education / visualization)。analyze_candle_patterns の結果を初心者向けに視覚化。
ユーザーが「図で見せて」等と明示した場合のみ使用。自発的呼び出し禁止。data.svg を受け取ったら Visualizer(show_widget) の widget_code にそのまま渡してレンダリングすること。 チャット本文へのSVGコード直接出力は禁止。
| Name | Required | Description | Default |
|---|---|---|---|
| theme | No | dark | |
| title | No | Chart title (default: pattern name or "ローソク足チャート") | |
| candles | Yes | Candle data array (oldest first) | |
| pattern | No | Pattern to highlight |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool is for visualization, takes candle data and pattern info, and outputs an SVG to be rendered via a widget. It also prohibits direct SVG output. However, it does not explicitly state read-only nature or authentication needs, though these are implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately concise, mixing Japanese and English. It front-loads the purpose with brackets but could be more structured. Some redundancy exists (e.g., repeating 'education'). It is not overly long but has room for improvement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description ties the tool to analyze_candle_patterns and provides usage constraints. However, it lacks explanation of the output format (SVG URL or string), error scenarios, and limitations like max candles (though schema defines max 10). Overall, it is fairly complete but leaves some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (75%), so baseline is 3. The description adds minimal semantic value beyond linking to analyze_candle_patterns. It does not detail parameter meanings or constraints beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is for educational candle pattern diagrams, specifically visualizing results of analyze_candle_patterns for beginners. The verb 'レンダリング' (render) and the resource 'candle pattern diagram' are explicit, distinguishing it from sibling tools like render_chart_svg and render_depth_svg.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use: only when user explicitly says 'show me a diagram' etc., and prohibits spontaneous calls. It also details output handling: pass data.svg to Visualizer widget code, and prohibits direct SVG output to chat. This provides clear context for invocation and processing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_chart_svgA
[SVG file / PNG save] ローソク足・ラインチャートをサーバー側で SVG/PNG に生成。 クライアント側で描画可能な場合は prepare_chart_data を優先。 ユーザーが SVG/PNG 保存を明示した場合のみ使用。自発的呼び出し禁止。 detect_patterns の overlays を渡してパターン描画可能。 オプションのインジケーター(SMA/EMA/BB/一目均衡表)はユーザーが明示的に要求した場合のみ指定すること。デフォルトではすべてオフ。
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | X軸ラベルのタイムゾーン(例: Asia/Tokyo, UTC) | Asia/Tokyo |
| pair | No | btc_jpy | |
| type | No | 1day | |
| depth | No | ||
| limit | No | ||
| style | No | candles | |
| bbMode | No | default | |
| withBB | No | ||
| withEMA | No | ||
| withSMA | No | ||
| ichimoku | No | ||
| overlays | No | ||
| subPanels | No | サブパネル: macd(MACD線+シグナル+ヒストグラム), rsi(RSI 14 + 70/30ゾーン), volume(出来高バー) | |
| svgMinify | No | Minify SVG text by stripping whitespace where safe. | |
| indicators | No | Indicators to overlay. Do NOT set unless the user explicitly requests them. Default: [] (none). Available: SMA_5, SMA_20, SMA_25, SMA_50, SMA_75, SMA_200, EMA_12, EMA_26, EMA_50, EMA_200, BB, BB_EXTENDED, ICHIMOKU, ICHIMOKU_EXTENDED | |
| withLegend | No | ||
| yPaddingPct | No | Vertical padding ratio to expand y-range. | |
| svgPrecision | No | Coordinate rounding decimals (0-3). | |
| viewBoxTight | No | Use tighter paddings to reduce empty margins. | |
| withIchimoku | No | ||
| barWidthRatio | No | Width ratio of each candle body (slot fraction). | |
| simplifyTolerance | No | Line simplification tolerance in pixels (0 disables). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It discloses that the tool performs server-side rendering and can accept overlays from 'detect_patterns', but does not describe output details, side effects, prerequisites, or potential errors. The behavioral profile is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core purpose. It conveys essential usage rules without unnecessary repetition, though it could benefit from clearer structuring.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's 22 parameters and no output schema, the description lacks details on return type (SVG vs. PNG), parameter interactions, and examples. It sufficiently links to sibling tools 'prepare_chart_data' and 'detect_patterns' but leaves many usage scenarios uncovered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions overlays and optional indicators as groups but adds little individual parameter meaning. With 22 parameters and only 41% schema description coverage, the description should compensate but does not, leaving many parameters under-explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates candlestick/line charts as SVG/PNG on the server side, distinguishing it from the client-side alternative 'prepare_chart_data'. The purpose is specific and actionable, though the output format (SVG string vs. PNG file) is not explicitly clarified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises to prioritize 'prepare_chart_data' for client-side rendering, restricts usage to explicit user requests for SVG/PNG save, and prohibits spontaneous calls. It also instructs to include indicators only when the user explicitly requests them, providing clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_depth_svgA
[Depth Chart / Order Book Visualization] 板の深さチャートを SVG 生成(depth chart / order book visualization / bid-ask depth)。 クライアント側(Claude.ai の Visualizer 等)で描画可能な場合は prepare_depth_data を優先し、本ツールは SVG/PNG ファイル保存(preferFile / autoSave)やファイル埋め込み用途にフォールバックする位置づけ。 data.svg を HTML に埋め込んで表示。
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | btc_jpy | |
| type | No | 1day | |
| depth | No | ||
| autoSave | No | ||
| preferFile | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Mentions SVG generation and file saving via autoSave/preferFile, but does not detail side effects, output format, or required permissions. Moderate disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise with two clear sections: purpose and usage guidelines. Mixed Japanese and English is acceptable but may reduce clarity for non-Japanese agents.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters (including nested object), no output schema, and no annotations, the description lacks essential parameter explanations and output details. Only purpose and usage guidelines are covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any parameters (pair, type, depth, autoSave, preferFile). Fails to add meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it generates SVG for depth chart/order book visualization. Distinguishes from sibling prepare_depth_data by specifying it is for file saving/embedding fallback.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use this tool (fallback for SVG file saving) vs alternative (use prepare_depth_data if client-side rendering is possible), providing clear context and exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_backtestA
[Backtest / Strategy Test / SMA Cross / RSI / MACD] 汎用バックテスト(backtest / strategy test / simulation / performance)。データ取得〜計算〜チャート描画を一括実行。
戦略: sma_cross / rsi / macd_cross / bb_breakout。 期間: 1M / 3M / 6M / 1Y / 2Y / 3Y、または start_date+end_date (YYYY-MM-DD) で任意レンジ指定可。 時間軸: 1D / 4H / 1H。 SVG チャート付きで損益・勝率・最大DD・Sharpe Ratio 等を返却。 content テキスト末尾に equity_curve / drawdown_curve の JSON を含む (chartDetail=default は最大 200 点の均等サンプル、full は全点)。独自実装不要。
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | Trading pair (e.g., btc_jpy) | btc_jpy |
| fee_bp | No | One-way fee in basis points. When omitted, resolved dynamically from the current /spot/pairs taker rate (falls back to nominal 12 bp if unavailable). Explicit values are always respected. | |
| period | No | Backtest period: 1M, 3M, 6M, 1Y, 2Y, or 3Y. Ignored when start_date and end_date are both provided. | 3M |
| savePng | No | Save chart as PNG file to outputDir (default: false). For inline display in chat UI, leave false and use includeSvg or prepare_chart_data instead. | |
| end_date | No | Backtest end date (ISO 8601: YYYY-MM-DD). Takes precedence over period when both start_date and end_date are provided. | |
| strategy | Yes | Strategy configuration | |
| execution | No | Execution timing (fixed: t+1_open) | t+1_open |
| outputDir | No | Output directory for chart files | /mnt/user-data/outputs |
| timeframe | No | Candle timeframe: 1D (daily), 4H (4-hour), 1H (hourly) | 1D |
| includeSvg | No | Include SVG string in response (default: false, for token saving) | |
| start_date | No | Backtest start date (ISO 8601: YYYY-MM-DD). Takes precedence over period when both start_date and end_date are provided. | |
| chartDetail | No | Chart detail level: default (equity+DD only) or full (price+indicator+equity+DD+position). Use full ONLY when user explicitly requests price chart or indicator visualization. | default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are given, so the description must carry the burden. It discloses the process: data fetch, calculation, chart drawing, and includes details on SVG charts, equity curve JSON, and chartDetail behavior. It does not mention permissions or rate limits but covers core behavior well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with bullet points and sections, front-loading the purpose. It is slightly long but every sentence adds value, especially for a complex tool with 12 parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and lack of output schema, the description covers most important aspects: strategies, periods, timeframes, output format (SVG, equity curve JSON). Missing are explicit return value structure beyond the JSON mention and potential error cases, but it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds significant value: explains dynamic fee_bp resolution, start_date/end_date override, chartDetail sampling, savePng vs includeSvg, and strategy parameter overrides. This goes well beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '汎用バックテスト' (generic backtest) and lists specific strategies, periods, and timeframes. It distinguishes itself from sibling analysis tools by focusing on end-to-end backtesting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool (for backtesting strategies) and details on parameter usage, but does not explicitly state when not to use or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_candle_dataA
[Data Quality / Validation] OHLCVローソク足データの品質検証。 分析やバックテスト前に「このデータ信用できる?」を確認するためのツール。 完全性(歯抜け)・重複・OHLCV整合性・価格異常値・出来高異常値を検出し、0-100の品質スコア(A-F)を算出。 ペアの流動性ティア(major/mid/minor)を自動判定し、暗号資産のファットテール分布や低流動性ペアの出来高ゼロを考慮した適切なデフォルト閾値を適用。 閾値は price_sigma, volume_multiplier で手動調整も可能。
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | タイムゾーン(デフォルト: Asia/Tokyo) | Asia/Tokyo |
| date | No | YYYYMMDD or YYYY format. If omitted, uses latest data. | |
| pair | No | btc_jpy | |
| type | No | 1day | |
| limit | No | 検証対象のローソク足本数(10〜1000) | |
| price_sigma | No | 価格変化率がこの σ を超えたら異常値とみなす。省略時はペアのティア(major/mid/minor)に応じて自動設定 | |
| volume_multiplier | No | 出来高が全体平均の何倍を超えたらスパイクとみなすか。省略時はペアのティアに応じて自動設定 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses behavioral traits: it detects gaps, duplicates, OHLCV consistency, price/volume outliers, computes a 0-100 quality score (A-F), auto-detects liquidity tiers, and adjusts thresholds. It does not mention side effects or rate limits, but the core behavior is well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense paragraph with relevant information, structured from purpose to details to usage. Every sentence adds value, and it is front-loaded with the tool's role. It is concise given the complexity, though could be slightly streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, checks, score, tier detection, and adjustability. However, with no output schema, it lacks explicit details on the return structure or format of the quality score. This is a notable gap for a validation tool with multiple output components.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 71% (5/7 parameters described). The description adds context about auto-detected tiers and adjustable thresholds, but does not provide additional per-parameter details beyond the schema. Baseline is 3, and the description does not significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'OHLCVローソク足データの品質検証' (OHLCV candlestick data quality validation), lists specific checks (completeness, duplicates, consistency, outliers), and distinguishes from sibling analysis/retrieval tools. It uses a specific verb and resource, fulfilling the highest clarity criterion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use this tool before analysis or backtesting to verify data reliability ('分析やバックテスト前に「このデータ信用できる?」を確認するためのツール'). While it doesn't explicitly exclude alternatives or name them, it provides clear contextual guidance for when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a specific technical indicator, data source, or analysis task with clear, non-overlapping descriptions. For example, Bollinger Bands, EMA, SMA, Stochastic, Ichimoku, and Fibonacci each have dedicated snapshot tools, while higher-level tools like analyze_indicators and analyze_market_signal provide composites. Overlap is minimal and explicitly noted (e.g., snapshots vs. chart data).
All tool names follow a consistent verb_noun pattern: verbs like analyze_, detect_, get_, prepare_, render_, run_, refresh_, validate_ are used systematically. The noun part clearly indicates the object (e.g., bb_snapshot, candle_patterns, currency_strength, orderbook). No mixed conventions or vague verbs.
With 32 tools, the server is comprehensive but slightly heavy. Each tool serves a distinct purpose in trading analysis, from indicator snapshots to backtesting and data validation. However, the count is on the higher end of reasonable; a few tools (e.g., multiple snapshot tools) could potentially be consolidated, but the scope justifies the number.
The tool surface covers the full lifecycle of technical analysis: data retrieval (get_candles, get_ticker, get_transactions), indicator analysis (snapshots and composite), pattern detection, order book analysis, flow metrics, backtesting, charting (SVG/PNG), and data quality validation. There are no obvious gaps for a typical trading analysis workflow.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Ask Claude or ChatGPT about your own crypto trading: performance, patterns and behaviour.
Crypto market signals, technical indicators, and sentiment analysis for AI agents.
Connect your portfolio to Claude, ChatGPT, or Codex to analyze it and make smarter investments.
Global stock research, ML forecasts, valuation signals, screeners & portfolio tracking in Claude
Related MCP Servers
- AlicenseAqualityNot gradedmaintenanceEnables LLM assistants like Claude to interact with Zaif cryptocurrency exchange through natural language, supporting market information retrieval, chart data, trading, and account management for BTC/JPY, ETH/JPY, and XYM/JPY pairs.9
- AlicenseBqualityDmaintenanceProvides advanced cryptocurrency and stock market analysis using TradingView data with real-time screening, technical indicators, and pattern recognition. Supports multiple exchanges and markets for comprehensive trading intelligence through natural language queries.103MIT
- AlicenseBqualityDmaintenanceProvides a comprehensive suite of 20 tools for cryptocurrency trading and technical analysis across 100+ exchanges like Binance and MEXC via CCXT. It enables users to execute orders, track positions, and scan for market opportunities through Claude Desktop using natural language.2021MIT
- AlicenseNot gradedqualityCmaintenanceCrypto technical analysis inside Claude. Get live TA from Binance (EMA, RSI, MACD, ADX, TSS score), macro market context (ARS/MRS scores), coin ranking, and a grounded bull/bear debate — no chart-switching needed.1MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tjackiet/bitbank-lab-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server