CCXT
Official CCXT MCP server - Market data and trading across 100+ exchanges and prediction markets
Convert currencies, get FX rates, and query historical Frankfurter v1 exchange rate data.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 5/5 통과 · 내가 묻는 내용은 제작자 서버(exchange-rates.caseyjhand.com)를 거쳐요 · ✓ 명령 확인 2026년 11월 13일
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음 · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지 · Team/Enterprise는 소유자(Owner)가 추가
CustomizeConnectors
여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요
Exchange Rates MCP Serverhttps://exchange-rates.caseyjhand.com/mcpAuthentication은 Claude가 찾은 그대로 두고 Add를 누르세요
+ConnectorsExchange Rates MCP Server
Exchange Rates MCP Server을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 Exchange Rates MCP Server을 쓰고 있다고 하거나 답에 Exchange Rates MCP Server 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT 연결은 요금제에 따라 달라요
전체 MCP: 웹 ChatGPT Business, Enterprise, Edu · Pro: 읽기/가져오기 권한으로 연결, 데이터를 바꾸는 도구는 안 될 수 있어요 · Plus: 공식 문서 미확인, 플러그인 화면에 사용자 지정 MCP 추가 항목이 보이면 시도해 볼 수 있어요 · 웹만
Plugins+Add custom MCP server
이름을 넣고 Connection에 주소를 붙여 넣은 뒤 경고에 체크하고 Create as a plugin을 누르세요
Exchange Rates MCP Serverhttps://exchange-rates.caseyjhand.com/mcp새 채팅을 열고 입력 전에 플러그인 목록에서 Exchange Rates MCP Server을 고르세요
Exchange Rates MCP Server을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ ChatGPT가 Exchange Rates MCP Server을 쓰고 있다고 하거나 답에 Exchange Rates MCP Server 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 OpenAI 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Claude Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
claude mcp add --transport http --scope user exchange-rates https://exchange-rates.caseyjhand.com/mcpExchange Rates MCP Server이 목록에 있고 연결됨으로 보이면 돼요
Exchange Rates MCP Server을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 Exchange Rates MCP Server을 쓰고 있다고 하거나 답에 Exchange Rates MCP Server 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Exchange Rates MCP Server을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 Exchange Rates MCP Server을 쓰고 있다고 하거나 답에 Exchange Rates MCP Server 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Exchange Rates MCP Server을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 Exchange Rates MCP Server을 쓰고 있다고 하거나 답에 Exchange Rates MCP Server 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요
웹으로 연결하는 앱용 주소
https://exchange-rates.caseyjhand.com/mcpJSON 설정은 아래 “개발자용”에 있어요
Claude Code
claude mcp add --transport http --scope user exchange-rates https://exchange-rates.caseyjhand.com/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"exchange-rates": {
"url": "https://exchange-rates.caseyjhand.com/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"exchange-rates": {
"type": "http",
"url": "https://exchange-rates.caseyjhand.com/mcp"
}
}
}Claude Code
claude mcp add --scope user exchange-rates --env FRANKFURTER_BASE_URL=your-value --env FX_TIMESERIES_CANVAS_THRESHOLD_DAYS=your-value --env FX_ENABLE_CANVAS_DROP=your-value --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/exchange-rates-mcp-serverClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"exchange-rates": {
"command": "npx",
"args": [
"-y",
"@cyanheads/exchange-rates-mcp-server"
],
"env": {
"FRANKFURTER_BASE_URL": "your-value",
"FX_TIMESERIES_CANVAS_THRESHOLD_DAYS": "your-value",
"FX_ENABLE_CANVAS_DROP": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"exchange-rates": {
"command": "npx",
"args": [
"-y",
"@cyanheads/exchange-rates-mcp-server"
],
"env": {
"FRANKFURTER_BASE_URL": "your-value",
"FX_TIMESERIES_CANVAS_THRESHOLD_DAYS": "your-value",
"FX_ENABLE_CANVAS_DROP": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"exchange-rates": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/exchange-rates-mcp-server"
],
"env": {
"FRANKFURTER_BASE_URL": "your-value",
"FX_TIMESERIES_CANVAS_THRESHOLD_DAYS": "your-value",
"FX_ENABLE_CANVAS_DROP": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}FRANKFURTER_BASE_URL envFX_TIMESERIES_CANVAS_THRESHOLD_DAYS envFX_ENABLE_CANVAS_DROP envMCP_LOG_LEVEL env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
인터넷으로 연결하는 앱
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
내 컴퓨터에서 실행하는 앱
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
도구 이름과 설명은 서버가 2026년 11월 11일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
fx_list_currenciesList current Frankfurter v1 currency codes and names with as_of, the latest served rate date. include_retired=true adds historical codes absent from the current set. Optional official ECB start_date/end_date are outer coverage bounds, not uninterrupted availability; a dated end_d
fx_get_ratesGet all available exchange rates for one base currency in a single snapshot. Useful for bulk comparison and seeding downstream tools. Returns a map of quote currency → rate, the actual snapshot date, and whether a historical date was snapped from a weekend/holiday to the prior bu
fx_get_rateGet the exchange rate for a currency pair on a given date (default: latest). Returns the rate, the actual rate date (which may differ from the requested date on weekends/holidays — daily observations may skip non-publication days), and source provenance. Cross-rates are triangula
fx_convert_currencyConvert an amount between any two currencies at the latest or a historical rate. Returns the converted amount, the rate used, the actual rate date, and whether the date was snapped from a weekend/holiday to the prior business day. Cross-rates are triangulated through EUR automati
fx_get_timeseriesGet historical daily Frankfurter v1 rates over an inclusive date range. Same-date EUR legs are divided without intermediate rounding; only days with both currencies appear, including observed self-pairs at 1 and historical retired currencies. Missing-leg served days produce cover
fx_dataframe_describeList tables and columns staged on a DataCanvas from a prior fx_get_timeseries call. Required first step before fx_dataframe_query — use it to discover table names and column schemas. Requires DataCanvas, which is on by default — a deployment that turns it off does not list this t
fx_dataframe_queryRun a read-only SQL SELECT against DataCanvas tables staged by fx_get_timeseries. Supports aggregations, GROUP BY, window functions, and JOINs across multiple registered tables. Run fx_dataframe_describe first to discover table names and column schemas. Requires DataCanvas, which
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 13일 점검
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
아직 리뷰가 없어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 5개 중 5개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.
GitHub 저장소는 마지막으로 10일 전 변경됐고, 최신 버전(0.6.0)은 10일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 받는 앱에서도 쓸 수 있어요. 예: 웹 ChatGPT(Business 이상은 전체 MCP, Pro는 읽기 전용).
같은 카테고리에는: CCXT, Finance Toolkit, AKQuant
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Official CCXT MCP server - Market data and trading across 100+ exchanges and prediction markets
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Write and backtest trading strategies with AKQuant: API lookup, strategy checks, backtest runs
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
@cyanheads/exchange-rates-mcp-server Convert currencies, get FX rates, and query historical Frankfurter v1 exchange rate data via MCP. STDIO or Streamable HTTP. 7 Tools • 1 Opt-in Tool • 2 Resources
Public Hosted Server: https://exchange-rates.caseyjhand.com/mcp
Daily exchange rates from Frankfurter v1, with current currency discovery and historical coverage from 1999-01-04. Convert amounts, pull point-in-time or historical rates, summarize a full date range, and run SQL over staged series. Historical availability includes retired currencies and is checked against the requested data. Responses identify source: "Frankfurter v1" and rate_type: "Daily rate (Frankfurter v1)"; the v1 payload does not identify individual providers. No API key required.
| Tool | Description |
|---|---|
fx_list_currencies | Current currency discovery with full names and the latest served rate date |
fx_get_rates | Snapshot of all rates for a base currency at latest or a historical date |
fx_get_rate | Exchange rate for a single currency pair at latest or a historical date |
fx_convert_currency | Convert an amount between two currencies at latest or a historical rate |
fx_get_timeseries | Historical daily rates for a currency pair over a date range |
fx_dataframe_describe | List DataCanvas tables and columns staged by a prior fx_get_timeseries call |
fx_dataframe_query | Run a read-only SQL SELECT against a staged DataCanvas table |
fx_dataframe_drop | Remove one staged DataCanvas table or view (opt-in, destructive) |
DataCanvas (DuckDB) is on by default. Set CANVAS_PROVIDER_TYPE=none to turn it off: the three fx_dataframe_* tools then drop out of tools/list, and fx_get_timeseries returns ranges inline when canvas_id is omitted; explicit staging fails canvas_unavailable. The Claude Desktop bundle (.mcpb) ships without DuckDB's native binding, so it runs with DataCanvas off. fx_dataframe_drop additionally needs FX_ENABLE_CANVAS_DROP=true.
The four rate and conversion tools accept base as an alias of base_currency; pair tools also accept quote for quote_currency. Send either spelling for a field, never both. Advertised schemas use the canonical names.
Currency values, including symbols, are trimmed and uppercased. Point dates accept YYYY-MM-DD or literal latest (also the default); range dates require YYYY-MM-DD. Advertised date patterns preserve handler-level invalid_date_format errors for malformed, blank or impossible calendar dates. Future range errors recommend an end_date today or earlier; end_date remains required.
| Resource | Description |
|---|---|
fx://currencies | All supported currencies as a stable reference document |
fx://rates/latest/{base} | Latest rates snapshot for a base currency as a stable URI |
All resource data is also reachable via tools — use fx_list_currencies or fx_get_rates for programmatic access.
exchange-rates-guide covers historical currency coverage, observed-day summaries, paging and SQL comparisons. It ships with npm, Docker and MCPB installs and is available over MCP at skill://exchange-rates-guide/SKILL.md.
Cancelling a tool call or resource read stops its upstream fetch, response-body read, and retry backoff. V1 requests retain two retries and a 10-second timeout per attempt within a 12-second total budget per read. Optional coverage metadata gets one 1-second request without retries.
fx_list_currencies toolinclude_retired (default false) adds historical codes absent from current v1 discoverycurrencies: [{ code, name, start_date?, end_date? }], count, source and as_of (the latest served daily rate date), sorted alphabetically by code. Coverage dates come from optional official ECB metadata and describe outer bounds, not uninterrupted availability. A dated end_date does not itself imply retirement.include_retired: true adds historical codes when metadata is available. Historical requests validate against their unfiltered EUR snapshot or raw served range, so retired codes remain usable on dates where they have observations. Unknown codes fail unsupported_currency with sorted accepted/rejected codes and the input field; current currencies without historical observations fail upstream_no_data.fx_get_rates toolbase_currency required; date optional (default latest, history from 1999-01-04, no future dates); optional symbols array narrows the response and must name at least one coderates map (quote code → rate), the actual rate_date, and date_snapped: true when a weekend/holiday request snapped to the prior business daysymbols is valid — answered locally with a rate of 1 rather than sent upstreamfield and sorted, deduplicated missing_codes; unknown currencies retain unsupported_currency precedence. A response without any snapshot remains an unattributed upstream_no_data failure.invalid_date_format, unsupported_currency, date_out_of_range, upstream_no_datafx_get_rate toolbase_currency, quote_currency required; date optional (default latest, history from 1999-01-04, no future dates)rate, rate_date, and date_snapped: true when a weekend/holiday request snapped to the prior business dayinvalid_date_format, unsupported_currency, date_out_of_range, upstream_no_datafx_convert_currency toolbase_currency, quote_currency, amount (must be > 0) required; date optional (default latest, history from 1999-01-04, no future dates)quote_amount as the unrounded JavaScript-number amount * rate product, rate, rate_date, date_snapped, plus rate_type and source provenance. No currency minor-unit rounding policy is applied; formatted rates use quote currency per base currency.invalid_date_format, unsupported_currency, date_out_of_range, upstream_no_datafx_get_timeseries toolbase_currency, quote_currency, start_date, end_date required (history from 1999-01-04, no future dates, start ≤ end); optional canvas_id appends to an existing canvaslimit (default 500, minimum 0) bounds returned observations, clamping values above 500 with a notice. limit: 0 returns summary and metadata with empty rates; a nonempty inline result then points next_start_date at the first observation. Repeat with a positive limit to advance. Counts, summary, bounds, staging eligibility and complete staged tables are independent of the limit.rate_count is always the range total; truncated: true plus next_start_date continue the pageFX_TIMESERIES_CANVAS_THRESHOLD_DAYS (default 90 days) are considered for DataCanvas staging. Series over the 40,000-character preview budget return spilled: true, canvas_id, and table_name; smaller series and deployments with CANVAS_PROVIDER_TYPE=none page inlinetruncated describes omitted observations in delivery, not missing upstream coverage.rate_count: 0 with an explanatory notice, distinguishable from an errorcanvas_id always stages the complete result, including short and empty ranges, using rate DOUBLE. Each table name has a fresh identifier suffix; repeated and concurrent calls preserve all earlier tables. Unknown IDs fail canvas_not_found; disabled DataCanvas fails canvas_unavailable. truncated is false when the preview includes every observation.summary: { mean, min: { rate, date }, max: { rate, date }, first: { rate, date }, last: { rate, date }, change_pct }. It covers all observations in the requested interval before paging or staging; a continuation summarizes its shorter requested interval. Tied extrema select the earliest date; singleton and identity movement is 0. Empty series omit summary. Mean is the unweighted arithmetic average of daily observations, not a tax-authority or accounting-policy prescription.fx_dataframe_describe toolcanvas_id required (from a prior fx_get_timeseries call)