Packages

Elixir client library for cryptocurrency exchanges — generated from CCXT specs via compile-time macros.

Current section

Files

Jump to
ccxt_client lib ccxt mcp.ex
Raw

lib/ccxt/mcp.ex

defmodule CCXT.MCP do
@moduledoc """
MCP tool definitions for the CCXT API.
Generates Model Context Protocol tool definitions from Descripex-annotated
functions on the `CCXT` module. Includes the `exchange/2` constructor and
all 241 unified methods plus the `exchange/2` constructor — each becomes a discoverable MCP tool with typed
input schema derived from `api()` param declarations.
tools = CCXT.MCP.tools()
# => [%{name: "ccxt__fetch_ticker", description: "...", inputSchema: %{...}}, ...]
"""
@modules [CCXT]
@doc "Generate MCP tool definitions for all api()-annotated functions on the CCXT module."
@spec tools(keyword()) :: [map()]
def tools(opts \\ []), do: Descripex.MCP.tools(@modules, opts)
end