Skip to main content
Glama

cancel_order

Cancel open cryptocurrency orders on the Zaif exchange using the specified order ID. Modify strategies, correct errors, or remove long-pending orders. Supports BTC/JPY, ETH/JPY, and XYM/JPY pairs.

Instructions

未約定の暗号資産取引注文をキャンセルします。 このツールは、既に発注済みで未約定(一部約定を含む)の注文をキャンセルするために使用します。 注文IDを指定してキャンセルでき、任意で通貨ペアも指定できます。 使用例: - 価格変動により注文戦略を変更したい場合 - 誤った注文をキャンセルしたい場合 - 長時間約定しない注文を取り消したい場合 注意: このツールを使用するには、環境変数にAPIキーとシークレットが設定されている必要があります。 Args: order_id: キャンセルする注文のID(get_open_ordersで取得可能) currency_pair: 通貨ペア('btc_jpy': ビットコイン/円、'eth_jpy': イーサリアム/円、'xym_jpy': シンボル/円) 指定しない場合、システムは注文IDから自動的に判断します Returns: CancelOrderResponse: キャンセル結果情報 - order_id: キャンセルした注文ID - balances: キャンセル後の各通貨の残高情報 Raises: ValueError: 認証情報が設定されていない場合や、APIエラーが発生した場合

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
currency_pairNo
order_idYes

Implementation Reference

  • The main handler function for the 'cancel_order' MCP tool. It is decorated with @mcp.tool() to register it, performs auth check, and calls the underlying Zaif API.
    @mcp.tool() def cancel_order( order_id: int, currency_pair: SupportedPair = None ) -> CancelOrderResponse: """ 未約定の暗号資産取引注文をキャンセルします。 このツールは、既に発注済みで未約定(一部約定を含む)の注文をキャンセルするために使用します。 注文IDを指定してキャンセルでき、任意で通貨ペアも指定できます。 使用例: - 価格変動により注文戦略を変更したい場合 - 誤った注文をキャンセルしたい場合 - 長時間約定しない注文を取り消したい場合 注意: このツールを使用するには、環境変数にAPIキーとシークレットが設定されている必要があります。 Args: order_id: キャンセルする注文のID(get_open_ordersで取得可能) currency_pair: 通貨ペア('btc_jpy': ビットコイン/円、'eth_jpy': イーサリアム/円、'xym_jpy': シンボル/円) 指定しない場合、システムは注文IDから自動的に判断します Returns: CancelOrderResponse: キャンセル結果情報 - order_id: キャンセルした注文ID - balances: キャンセル後の各通貨の残高情報 Raises: ValueError: 認証情報が設定されていない場合や、APIエラーが発生した場合 """ if not api.trade.http.auth_provider: raise ValueError( "認証情報が設定されていません。APIキーとシークレットを.envファイルに設定してください。" ) return api.trade.cancel_order(order_id, currency_pair)
  • Output schema definition: dataclass CancelOrderResponse, including from_dict and to_dict for serialization.
    class CancelOrderResponse: """ 注文キャンセル結果を表すデータクラス。 cancel_orderの戻り値に対応します。 Attributes: order_id: キャンセルした注文ID balances: キャンセル後の各通貨の残高情報 """ order_id: int balances: Dict[str, Decimal] @classmethod def from_dict(cls, data: Dict[str, Any]) -> "CancelOrderResponse": """ APIレスポンスからCancelOrderResponseインスタンスを作成します。 Args: data: APIレスポンスの辞書 Returns: CancelOrderResponseインスタンス """ balances = {k: Decimal(str(v)) for k, v in data.get("funds", {}).items()} return cls(order_id=int(data.get("order_id", 0)), balances=balances) def to_dict(self) -> Dict[str, Any]: """ CancelOrderResponseインスタンスを辞書に変換します。 Returns: APIレスポンス形式の辞書 """ return { "order_id": self.order_id, "funds": {k: str(v) for k, v in self.balances.items()}, }
  • Registration of trade tools (including cancel_order) by calling register_trade_tools during server initialization.
    from zaifer_mcp.tools.trade import register_trade_tools from zaifer_mcp.tools.chart import register_chart_tools register_market_tools(mcp, zaif_api) register_account_tools(mcp, zaif_api) register_trade_tools(mcp, zaif_api)
  • Input schema: SupportedPair type definition, used for currency_pair parameter.
    SupportedPair = Literal["btc_jpy", "eth_jpy", "xym_jpy"]
  • Helper function: TradeApi.cancel_order method that makes the actual HTTP POST to Zaif API, called by the tool handler.
    def cancel_order( self, order_id: int, currency_pair: str = None, is_token: bool = None ) -> CancelOrderResponse: """ 注文をキャンセル Args: order_id: 注文ID currency_pair: 通貨ペア is_token: トークン種別(トークンの場合True) Returns: CancelOrderResponseオブジェクト Note: TODO: MCP利用者にis_tokenパラメータを意識させないように隠蔽する方法を検討する。 将来的には通貨ペアやorder_idから自動的にトークン種別を判定する機能を実装するか、 または内部的にAPIを呼び分けるなどの方法で対応する。 """ params = {"order_id": order_id} if currency_pair: params["currency_pair"] = currency_pair if is_token is not None: params["is_token"] = is_token params["method"] = "cancel_order" data = self.http.post(self.base_url, params) return CancelOrderResponse.from_dict(data)

Other Tools

Related Tools

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