Skip to main content
Glama
market.py4.9 kB
""" Zaifer MCP 市場情報ツール Zaif APIの市場情報関連機能をMCPツールとして公開する実装 """ from mcp.server.fastmcp import FastMCP from zaifer_mcp.api.client import ZaifApi from zaifer_mcp.models import Ticker, OrderBook, CurrencyPair, SupportedPair def register_market_tools(mcp: FastMCP, api: ZaifApi): """ Zaifの市場情報APIをMCPツールとして登録する Args: mcp: FastMCPインスタンス api: ZaifApiインスタンス """ @mcp.tool() def get_ticker(currency_pair: SupportedPair) -> Ticker: """ 指定した通貨ペアのティッカー情報を取得します。 現在の市場価格統計を提供し、以下の用途で使用します: - 現在の市場価格と24時間の価格変動を確認したい場合 - 売買注文の価格設定の参考にしたい場合 - 市場の活発さ(取引量)を把握したい場合 使用例: - ビットコインの現在価格を確認したい場合 - 最適な注文価格を決定するため最良売買価格を確認したい場合 - 24時間の価格レンジを分析したい場合 Args: currency_pair: 通貨ペア('btc_jpy': ビットコイン/円、'eth_jpy': イーサリアム/円、'xym_jpy': シンボル/円) Returns: Ticker: ティッカー情報 - last_price: 最終取引価格 - high_price: 24時間最高値 - low_price: 24時間最安値 - ask_price: 最良売り価格 - bid_price: 最良買い価格 - volume: 24時間取引量 Raises: ValueError: 通貨ペアが無効な場合や、APIエラーが発生した場合 """ return api.market.get_ticker(currency_pair) @mcp.tool() def get_market_depth(currency_pair: SupportedPair) -> OrderBook: """ 指定した通貨ペアの板情報を取得します。 市場全体の売買注文状況を表示し、あなた個人の注文一覧(get_open_orders)とは異なります。 全市場参加者の注文が価格順に並んだ情報で、以下の用途で使用します: - 市場の流動性と売買圧力を分析したい場合 - 大量注文前に市場の深さを確認したい場合 - サポート・レジスタンスレベルを特定したい場合 使用例: - 大きな注文を出す前に市場の流動性を確認したい場合 - 現在のビッド・アスクスプレッドを詳細に分析したい場合 - 特定価格帯での注文量を確認したい場合 Args: currency_pair: 通貨ペア('btc_jpy': ビットコイン/円、'eth_jpy': イーサリアム/円、'xym_jpy': シンボル/円) Returns: OrderBook: 市場全体の板情報 - asks: 売り注文一覧(price・quantity) - bids: 買い注文一覧(price・quantity) Raises: ValueError: 通貨ペアが無効な場合や、APIエラーが発生した場合 """ return api.market.get_depth(currency_pair) @mcp.tool() def get_currency_pairs() -> list[CurrencyPair]: """ 対応している通貨ペア情報を取得します。 取引可能な通貨ペアの詳細な制約情報を提供し、以下の用途で使用します: - 注文前に最小数量・価格制約を確認したい場合 - 有効な注文パラメータを計算したい場合 - 通貨ペアの取引ルールを理解したい場合 使用例: - ビットコインの最小注文数量を確認したい場合 - 価格の刻み幅に合わせて注文価格を調整したい場合 - 通貨ペアごとの制約の違いを比較したい場合 Returns: list[CurrencyPair]: 通貨ペア情報のリスト - currency_pair: 通貨ペア識別子(例: 'btc_jpy') - min_quantity: 最小注文数量 - quantity_step: 注文数量の刻み幅 - min_price: 最小注文価格 - price_step: 注文価格の刻み幅 - price_precision: 価格表示の小数点桁数 - display_name: 表示用名称(例: 'ビットコイン/円') Raises: ValueError: APIエラーが発生した場合 """ all_pairs = api.market.get_currency_pairs("all") # 対応している通貨ペアのみをフィルタリング supported_pairs = [ p for p in all_pairs if p.currency_pair in ["btc_jpy", "eth_jpy", "xym_jpy"] ] return supported_pairs

Latest Blog Posts

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/curio184/zaifer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server