Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Forex and gold data API: real-time XAUUSD and FX, 1s candles, redistribution allowed, from CHF 500.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
Authorization, X-API-Key비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
이 주소는 요청 header에 키가 필요한데, 커넥터 추가 메뉴에서는 넣을 수 없어요. 대신 Claude Code, Cursor, VS Code를 쓰세요.
터미널에서 이 명령어를 실행하세요
claude mcp add --transport http market-data https://api.adona-robot.com/mcp --header 'Authorization: your-value' --header 'X-API-Key: your-value'실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"market-data": {
"url": "https://api.adona-robot.com/mcp",
"headers": {
"Authorization": "your-value",
"X-API-Key": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"market-data": {
"type": "http",
"url": "https://api.adona-robot.com/mcp",
"headers": {
"Authorization": "your-value",
"X-API-Key": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 주소는 요청 header에 키가 필요한데, 커넥터 추가 메뉴에서는 넣을 수 없어요. 대신 Claude Code, Cursor, VS Code를 쓰세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
Authorization 비밀 HTTP headerX-API-Key 비밀 HTTP header이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
아직 이 서버의 도구 목록을 읽지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 도메인 adona-robot.com 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: Authorization, X-API-Key
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.2.1)은 27일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, SwarmMemo
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Talk with agent swarms: rooms, private messages and paid tasks for AI agents
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Runnable examples for the Adona Robot market-data API, and the configuration to connect an AI agent to its MCP server.
Adona Robot sells one-second OHLC candles and a live bid/ask quote stream for 46 FX pairs and 5 spot metals, over REST and WebSocket. It is priced by capacity: the month's peak of simultaneous connections and slices of 1000 bars, not per seat. Redistribution is allowed on every paid plan: show the data in your product, relay it to your own clients, keep what you receive. A symbol you follow live for more than 80% of its open hours in a month adds CHF 150 to that month's invoice, on top of the plan.
*Facts as of 2026-10-03. The current ones are always on adona-robot.com and, machine-readable, in spec.json and symbols.json.*
| Plan | CHF a month, before VAT | Sized for (simultaneous connections) | Slices of 1000 bars a month |
|---|---|---|---|
| Trial, 7 days, free | 0 | 3 | 2 500 a day |
| Starter | 500 | 30 | 750 000 |
| Growth | 1 200 | 100 | 2 500 000 |
| Scale | 2 400 | 300 | 7 500 000 |
| Enterprise | 5 000 | 1 000 | 25 000 000 |
The trial carries EURUSD and XAUUSD with 7 days of history; every paid plan carries all 51 symbols. A paid plan never refuses a connection: the month's reading sets the next invoice's plan. Above Enterprise: sales@adona-robot.com.
export ADONA_API_KEY=YOUR_API_KEY
The quickstart walks through the same steps on the site.
POST /v1/tokens for a twelve-hour token per end user of yours (end_user_id).GET /v1/candles?symbol=EURUSD&timeframe=S1, timeframes S1, M1, M5, M15, H1, H4, D1, up to 5000 bars a page, oldest first, prices as strings. next_before is the cursor to the page before (null when there is nothing older). On S1 a page covers one day, so an empty page with a cursor is an empty day (a weekend): continue with the cursor.POST /v1/ws-ticket with the token gives a single-use ticket. Open wss://api.adona-robot.com/v1/stream offering two subprotocols, adona.data.v1 and ticket. (never in the URL), then send a subscribe frame with channels such as quote:EURUSD and candle:EURUSD:M1.{"detail": "CODE"}: branch on the code. Every code and what to do about it is in the API reference, and the contract is machine-readable at openapi.json.The Python and JavaScript history examples and the Python stream are the code of the quickstart's tabs, unchanged.
| History | Live stream | |
|---|---|---|
| curl | curl/history.sh | curl/stream-ticket.sh (the ticket; a WebSocket client opens the stream) |
| Python 3.9+ | python/history.py | python/stream.py |
| JavaScript | javascript/history.mjs, Node 18+ | javascript/stream.mjs, Node 22+ (global WebSocket); the same frames as the quickstart's browser snippet |
The Python examples need two packages, once: pip install requests websockets.
./curl/history.sh # the latest 1000 EURUSD one-minute bars
python python/history.py # the latest 1000 EURUSD one-minute bars python python/stream.py # quotes and one-minute bars, until Ctrl-C node javascript/history.mjs node javascript/stream.mjs quote:XAUUSD candle:XAUUSD:M1
Each one prints refused: with the status and the API's answer, and stops, when the API says no (a wrong key answers INVALID_CUSTOMER_KEY). For a browser, keep the key on your server and hand the page a token: the site publishes a token server and a browser client with reconnection, and history.py keeps a local store of the bars it has fetched, so closed history is paid for once.
The guides/ folder holds the code of the guides on the site, the same files: one-minute history, paged back (guides/history_m1.py), the live stream (guides/stream.mjs) and the MCP server for an agent (guides/mcp.sh). The Python guide shows python/history.py and python/stream.py.
check/run.sh runs every example once against production and prints OK or KO for each.
Three notebooks open in Google Colab, with the API key taken from Colab's secrets (ADONA_API_KEY) or typed, never written into the notebook:
| Notebook | What it does |
|---|---|
notebooks/eurusd_1s.ipynb | The last hour of EURUSD at one second, as a pandas DataFrame, and its price updates per minute |
notebooks/gold_live.ipynb | Thirty seconds of XAUUSD's live bid and ask, and its one-second bars as they close |
notebooks/mcp.ipynb | The MCP server called by hand: the offer and a month's price without a key, candles with one |
The first two use adona-market-data, the Python client (pip install "adona-market-data[all]"): candles paged back into pandas, the live stream with reconnection, and refusals with their code.
46 FX pairs and 5 metals (XAUUSD, XAGUSD, XAUEUR, XPTUSD, XPDUSD). The list, with each symbol's history dates, is on adona-robot.com/en/symbols and in symbols.json; every symbol has its own page, for example EURUSD.
The MCP server is at https://api.adona-robot.com/mcp (streamable HTTP, stateless). Four tools:
| Tool | What it answers | Key |
|---|---|---|
get_offer | The plans, prices, limits, trial, continuous feed and links | No |
list_symbols | Every symbol a paid plan carries, with its name and class | No |
quote_price_for | The plan and the CHF total, before VAT, for a month of usage | No |
get_candles | Candle history for one symbol, one page, oldest first | Yes, billed like GET /v1/candles |
The key, when you want get_candles, travels on every call in the Authorization: Bearer header, or in an X-API-Key header for a client or gateway that keeps Authorization for itself (X-API-Key: YOUR_API_KEY, no Bearer). Send one key: two different keys in the two headers, or two different X-API-Key values, are refused as CONFLICTING_API_KEYS. Keep the key in an environment variable, not in a file you commit.
Claude Code: put mcp/claude-code.mcp.json in your project as .mcp.json (it reads ADONA_API_KEY from your environment; unset, the keyless tools still work), or add it from the command line:
claude mcp add --transport http adona-robot https://api.adona-robot.com/mcp \
--header "Authorization: Bearer $ADONA_API_KEY"
Cursor: put mcp/cursor.mcp.json in .cursor/mcp.json (project) or ~/.cursor/mcp.json (global); it reads ${env:ADONA_API_KEY}.
Claude Desktop and claude.ai: Customize, then Connectors, then Add custom connector, with the URL https://api.adona-robot.com/mcp and the authentication "No sign-in" (on Team and Enterprise, an owner adds it under Organization settings, then Connectors). The three keyless tools work as is. For get_candles, add the request header Authorization with the value Bearer YOUR_API_KEY, or X-API-Key with the value YOUR_API_KEY, where your account offers request headers (a beta, not yet open to every account).
Then ask, for example: "What would 40 simultaneous users cost on Adona Robot?"
Without a client, the server answers plain JSON-RPC: see curl/mcp.sh.
support@adona-robot.com, by email on business days. Security reports: adona-robot.com/en/security.
The code in this repository is under the MIT License. The data you read with it is governed by the terms of service.