Перейти до вмісту

Інструменти MCP

Усі інструменти сервера spectre-terminal-mcp: що робить кожен, що приймає і чи змінює щось.

Усі інструменти

ІнструментДоступЩо робить
account_overviewлише читанняБаланси, відкриті позиції з PnL і кількість відкритих заявок одного підключення.
leverageлише читанняПлече, його максимум, режим плеча термінала і режим маржі інструмента.
open_ordersлише читанняВідкриті заявки й тригерні заявки підключення, з ключем і біржовим id кожної.
recent_fillsлише читанняОстанні виконання підключення, від старих до нових, із сумарним обсягом купівлі та продажу.
find_instrumentлише читанняЗнайти точну адресу інструмента за монетою або символом.
market_snapshotлише читанняОстання ціна, найкращі bid і ask зі спредом, ціна маркування (mark), зміна й обсяг за 24 год.
order_book_topлише читанняВерхні рівні стакана з обсягом на кожному боці та дисбалансом.
recent_trades_summaryлише читанняОбсяг купівлі та продажу, дельта, VWAP, діапазон цін і найбільша угода серед останніх угод.
cluster_summaryлише читанняКластери обсягу за бакетами.
candlesлише читанняБари OHLCV за інтервалом, найновіші limit барів, від старих до нових.
settingsлише читанняРядки налаштувань так, як вони зберігаються, з ознакою, чи можна записати кожен через update_settings.
orderbook_settingsлише читанняНалаштування стека одного інструмента такими, як їх бачить його стек на підключенні.
update_settingsзмінює станЗаписати налаштування так, як це робить вікно налаштувань термінала.
terminal_statusлише читанняПеревірити, що Spectre Terminal запущено, і отримати список його біржових підключень.
place_orderзмінює станПоставити лімітну або ринкову заявку на підключенні.
cancel_orderзмінює станСкасувати одну заявку за ключем термінала або біржовим id.
cancel_all_ordersзмінює станСкасувати всі відкриті заявки інструмента на цьому підключенні.
close_positionзмінює станЗакрити позицію інструмента так, як це робить вікно термінала.
place_triggerзмінює станПоставити стоп-лос, тейк-профіт або стоп так, як це робить вікно.
cancel_triggerзмінює станСкасувати одну тригерну заявку за її числовим id з open_orders.
cancel_all_triggersзмінює станСкасувати всі тригерні заявки інструмента; звичайні заявки залишаються.
amend_triggerзмінює станПеренести тригер на нову ціну (скасувати, потім поставити).
set_leverageзмінює станВстановити плече ф’ючерсного інструмента так, як це робить вікно.
set_margin_modeзмінює станВстановити режим маржі ф’ючерсного інструмента.
workspaceлише читанняУсі вікна термінала з їхніми вкладками, стеками (стаканами) і графіками.
open_stackзмінює станВідкрити стек інструмента в новій вкладці або новому вікні, за бажанням із графіком.
open_tabзмінює станВідкрити одну вкладку з кількома інструментами.
add_stacksзмінює станДодати інструменти до наявної вкладки.
open_multiviewзмінює станВідкрити монету на всіх біржах «Розкладки бірж», як це робить кнопка «Мультив’ю».
set_stack_instrumentзмінює станПеремкнути стек (і графіки, що йдуть за ним) на інший інструмент.
close_stackзмінює станЗакрити один стек, як це робить його кнопка закриття.
close_tabзмінює станЗакрити вкладку вікна.
activate_tabзмінює станВибрати вкладку в її вікні; фокус вікна не змінюється (див.
close_windowзмінює станЗакрити вікно.
activate_windowзмінює станВідновити вікно, якщо воно згорнуте, і вивести його на передній план.

Рахунок

account_overview

лише читання

Баланси, відкриті позиції з PnL і кількість відкритих заявок одного підключення.

Найдешевший спосіб відповісти на запитання «що тримає цей рахунок». Баланси й виконання — це те, що термінал накопичив відтоді, як його API увімкнули; позиції та заявки — живий стан.

ПараметрТипОпис
connection_idобов’язковийintІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)

leverage

лише читання

Плече, його максимум, режим плеча термінала і режим маржі інструмента.

Читається з кешу термінала: інструмент, якого термінал ще не торкався, відповідає not_active — відкрийте його в терміналі або встановіть плече через set_leverage.

ПараметрТипОпис
connection_idобов’язковийintІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)
instrumentобов’язковийstrАдреса ф’ючерсного інструмента exchange:market:symbol

open_orders

лише читання

Відкриті заявки й тригерні заявки підключення, з ключем і біржовим id кожної.

Використовуйте key (t-…), щоб скасувати заявку, поставлену через API, і щоб упізнати її після place_order.

ПараметрТипОпис
connection_idобов’язковийintІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)
instrumentнеобов’язковийstr | NoneЛише цей інструмент (exchange:market:symbol); без нього — усі

recent_fills

лише читання

Останні виконання підключення, від старих до нових, із сумарним обсягом купівлі та продажу.

Виконання термінал зберігає відтоді, як його API увімкнули (останні 1000 на підключення); старішої історії тут немає.

ПараметрТипОпис
connection_idобов’язковийintІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)
limitнеобов’язковийintСкільки найновіших виконань повернути За замовчуванням: 20.
since_tsнеобов’язковийint | NoneЛише виконання від цієї мітки часу в мілісекундах UTC включно

Інструменти

find_instrument

лише читання

Знайти точну адресу інструмента за монетою або символом.

Шукає в довіднику підключень термінала — одного підключення, однієї біржі або всіх — і повертає збіги від найкращого: точний символ або базова монета, далі та сама база за числовим префіксом (1000PEPE), далі префікси. Поле instrument збігу використовуйте в кожному іншому інструменті.

ПараметрТипОпис
queryобов’язковийstrМонета або частина символу, без урахування регістру: BTC, ETHUSDT, SOL-USDT
exchangeнеобов’язковийstr | NoneБіржа малими літерами: binance, bybit, okx, …; без неї — усі
marketнеобов’язковийstr | Nonespot або futures; без нього — обидва
connection_idнеобов’язковийint | NoneШукати лише в одному підключенні (з terminal_status)
limitнеобов’язковийintСкільки збігів повернути За замовчуванням: 10.

Ринкові дані

market_snapshot

лише читання

Остання ціна, найкращі bid і ask зі спредом, ціна маркування (mark), зміна й обсяг за 24 год.

Найдешевший спосіб відповісти на запитання «де зараз торгується X». Поля, яких термінал ще не отримав, дорівнюють null; для інструмента, не відкритого в терміналі, виклик один раз ненадовго чекає, щоб їх заповнити.

ПараметрТипОпис
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol
connection_idнеобов’язковийint | NoneІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)

order_book_top

лише читання

Верхні рівні стакана з обсягом на кожному боці та дисбалансом.

imbalance — це (обсяг бідів - обсяг асків) / (обсяг бідів + обсяг асків) за поверненими рівнями: +1 — самі біди, -1 — самі аски. Рівні — це пари [price, size], біди від найкращої ціни вниз, аски від найкращої ціни вгору.

ПараметрТипОпис
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol
depthнеобов’язковийintРівнів з кожного боку За замовчуванням: 10.
connection_idнеобов’язковийint | NoneІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)

recent_trades_summary

лише читання

Обсяг купівлі та продажу, дельта, VWAP, діапазон цін і найбільша угода серед останніх угод.

Підсумовує останні limit угод, які термінал має за інструментом (він зберігає останні 1000). Самі угоди не повертаються; span_ms каже, скільки часу охоплює пакет.

ПараметрТипОпис
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol
limitнеобов’язковийintСкільки останніх угод підсумувати За замовчуванням: 200.
connection_idнеобов’язковийint | NoneІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)

cluster_summary

лише читання

Кластери обсягу за бакетами: обсяг за боками, дельта, VWAP, діапазон, найактивніші цінові рівні.

Бакети йдуть з інтервалом, який трейдер вибрав у терміналі для цього інструмента (типово 5m); найновіший бакет зазвичай ще відкритий (completed false). Інструмент, який термінал ще не обчислював, запускається на запит і засівається історією; виклик один раз чекає на засів.

ПараметрТипОпис
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol
bucketsнеобов’язковийintСкільки найновіших бакетів повернути За замовчуванням: 3.
top_levelsнеобов’язковийintЦінових рівнів на бакет, за обсягом За замовчуванням: 5.
connection_idнеобов’язковийint | NoneІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)

candles

лише читання

Бари OHLCV за інтервалом, найновіші limit барів, від старих до нових.

Рядки — компактні масиви під columns. ts — відкриття бара; closed false позначає бар, що ще формується. Гортайте назад, передаючи ts першого рядка як end.

ПараметрТипОпис
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol
intervalнеобов’язковийstrІнтервал бара: 1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w, 1M За замовчуванням: '1m'.
limitнеобов’язковийintСкільки найновіших барів повернути За замовчуванням: 50.
endнеобов’язковийint | NoneПрава межа в мілісекундах UTC; без неї — зараз
connection_idнеобов’язковийint | NoneІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)

Налаштування

settings

лише читання

Рядки налаштувань так, як вони зберігаються, з ознакою, чи можна записати кожен через update_settings.

Без аргументів: рядки всього термінала (мультив’ю, графік, звуки, гарячі клавіші, …). Налаштування одного стека, зведені так, як їх бачить стек, — це orderbook_settings.

ПараметрТипОпис
scopeнеобов’язковийstr | Noneglobal (типово) або order_book
categoryнеобов’язковийstr | NoneФільтр за категорією
keyнеобов’язковийstr | NoneФільтр за ключем
connection_idнеобов’язковийint | NoneРядки підключення; без нього — усього термінала
instrumentнеобов’язковийstr | NoneРядки пари (scope order_book)

orderbook_settings

лише читання

Налаштування стека одного інструмента такими, як їх бачить його стек на підключенні.

Кожен ключ називає рівень, з якого його зведено: власний рядок пари, типове значення підключення, рядок пари без підключення або глобальне типове значення.

ПараметрТипОпис
connection_idобов’язковийintІдентифікатор підключення з terminal_status
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol

update_settings

змінює стан

Записати налаштування так, як це робить вікно налаштувань термінала.

Зміна з instrument записує рядок пари; scope order_book з connection_id — типове значення підключення; без обох — глобальне типове значення. Кожна зміна спершу перевіряється — невідомий ключ, неправильний тип, вихід за межі, неправильна форма — і відхиляється за індексом, нічого не записуючи; плече відхиляється (використовуйте set_leverage). Перша зміна, що не застосувалася, зупиняє список; попередні залишаються застосованими.

ПараметрТипОпис
changesобов’язковийlist[dict[str, Any]]Зміни по порядку; кожна має category, key, value і необов’язково scope (global або order_book), instrument і connection_id

Стан

terminal_status

лише читання

Перевірити, що Spectre Terminal запущено, і отримати список його біржових підключень.

Повертає версію термінала, стан API, топіки стріму, які він обслуговує, важливі для агента ліміти і кожне підключення з його id, біржею, ринком і станом. Викликайте це першим на початку сесії або коли інший інструмент повідомляє, що термінал недоступний.

Торгівля

place_order

змінює стан

Поставити лімітну або ринкову заявку на підключенні. Відповідає «accepted», а не «filled».

Передайте рівно одне з size (базова монета) або notional (сума в котируванні). Ціни й суми — десяткові рядки; термінал перевіряє мінімуми й кроки біржі перед відправленням і відхиляє з причиною. Стежте за поверненим key в open_orders.

ПараметрТипОпис
connection_idобов’язковийintІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol
sideобов’язковийstrbuy або sell
order_typeобов’язковийstrlimit (потребує price) або market (без price)
client_keyобов’язковийstrВаш ключ ідемпотентності для цього наміру, напр. 'rebalance-2026-11-03-1'. Повтор із тим самим ключем повертає попередню відповідь і нічого не ставить.
priceнеобов’язковийstr | NoneЛімітна ціна десятковим рядком
sizeнеобов’язковийstr | NoneСума в базовій монеті десятковим рядком
notionalнеобов’язковийstr | NoneСума у валюті котирування десятковим рядком
reduce_onlyнеобов’язковийboolЛише зменшити наявну позицію За замовчуванням: False.
post_onlyнеобов’язковийboolВідхилити замість того, щоб забрати ліквідність За замовчуванням: False.
time_in_forceнеобов’язковийstr | Nonegtc, ioc, fok або post_only; без нього — типове значення біржі

cancel_order

змінює стан

Скасувати одну заявку за ключем термінала або біржовим id. Відповідає «accepted».

ПараметрТипОпис
connection_idобов’язковийintІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol
order_idобов’язковийstrКлюч термінала (t-…) з open_orders або біржовий id заявки

cancel_all_orders

змінює стан

Скасувати всі відкриті заявки інструмента на цьому підключенні. Відповідає «accepted».

ПараметрТипОпис
connection_idобов’язковийintІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol

close_position

змінює стан

Закрити позицію інструмента так, як це робить вікно термінала. Відповідає «accepted».

Ф’ючерси: ринкова заявка на всю позицію. Спот: скасувати все і продати однією атомарною командою. Відхиляється, коли відкритої позиції немає.

ПараметрТипОпис
connection_idобов’язковийintІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol

place_trigger

змінює стан

Поставити стоп-лос, тейк-профіт або стоп так, як це робить вікно. Відповідає «accepted».

Повернутий key (sl_…, tp_…, stop_…) з’являється як client_id тригера в open_orders; скасовуйте або переносьте його за числовим id звідти. Відхиляється без відкритої позиції для stop_loss/take_profit і з unsupported на біржі без тригерних заявок у терміналі.

ПараметрТипОпис
connection_idобов’язковийintІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol
kindобов’язковийstrstop_loss або take_profit (ставиться на відкриту позицію: сторона, розмір і правило беруться з неї) або stop (власні side і notional)
trigger_priceобов’язковийstrТригерна ціна десятковим рядком
client_keyобов’язковийstrВаш ключ ідемпотентності для цього наміру. Повтор із тим самим ключем повертає попередню відповідь і нічого не ставить.
sideнеобов’язковийstr | Noneлише для stop: buy або sell
notionalнеобов’язковийstr | Noneлише для stop: сума у валюті котирування, десятковий рядок
ruleнеобов’язковийstr | Noneлише для stop: price_above_or_equal або price_below_or_equal; без нього — вище ринку для купівлі, нижче для продажу

cancel_trigger

змінює стан

Скасувати одну тригерну заявку за її числовим id з open_orders. Відповідає «accepted».

ПараметрТипОпис
connection_idобов’язковийintІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol
trigger_idобов’язковийstrЧисловий id тригера з open_orders

cancel_all_triggers

змінює стан

Скасувати всі тригерні заявки інструмента; звичайні заявки залишаються. Відповідає «accepted».

ПараметрТипОпис
connection_idобов’язковийintІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol

amend_trigger

змінює стан

Перенести тригер на нову ціну (скасувати, потім поставити). Відповідає «accepted».

ПараметрТипОпис
connection_idобов’язковийintІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol
trigger_idобов’язковийstrЧисловий id тригера з open_orders
kindобов’язковийstrstop_loss, take_profit або stop — тип тригера
trigger_priceобов’язковийstrНова тригерна ціна десятковим рядком
sideнеобов’язковийstr | Noneлише для stop: buy або sell
ruleнеобов’язковийstr | Noneлише для stop: price_above_or_equal або price_below_or_equal

set_leverage

змінює стан

Встановити плече ф’ючерсного інструмента так, як це робить вікно. Відповідає «accepted».

Рівно одне з leverage і mode. Застосоване значення читайте через leverage після відповіді біржі.

ПараметрТипОпис
connection_idобов’язковийintІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol
leverageнеобов’язковийint | NoneПлече цілим числом не менше 1; або передайте mode
modeнеобов’язковийstr | Nonemax або smart (режими термінала); або передайте leverage

set_margin_mode

змінює стан

Встановити режим маржі ф’ючерсного інструмента. Відповідає «accepted».

Біржа відхиляє зміну, поки позиція відкрита, як і у вікні; відповідь «accepted» цього ще не знає.

ПараметрТипОпис
connection_idобов’язковийintІдентифікатор підключення з terminal_status; воно має торгувати (ключі, ввімкнене)
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol
margin_modeобов’язковийstrcross або isolated

Робочий простір

workspace

лише читання

Усі вікна термінала з їхніми вкладками, стеками (стаканами) і графіками.

Головне вікно закрити не можна; вкладки нумеруються в кожному вікні; id віджетів стеків і графіків глобальні. Читайте це перед будь-якою командою робочого простору: id змінюються з кожним запуском термінала.

open_stack

змінює стан

Відкрити стек інструмента в новій вкладці або новому вікні, за бажанням із графіком.

Відповідає вікном, новою вкладкою і новими id віджетів. Інструмент, якого немає в довіднику термінала, — invalid_request.

ПараметрТипОпис
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol
connection_idнеобов’язковийint | NoneПідключення; без нього вибирає загальне правило
chartнеобов’язковийboolВідкрити графік над стеком За замовчуванням: False.
targetнеобов’язковийstrnew_tab (у window_id або у вікні у фокусі) або new_window За замовчуванням: 'new_tab'.
window_idнеобов’язковийint | NoneВікно для нової вкладки
activateнеобов’язковийboolFalse відкриває вкладку у фоні; нове вікно завжди отримує фокус За замовчуванням: True.

open_tab

змінює стан

Відкрити одну вкладку з кількома інструментами: колонка на елемент, у новій вкладці або вікні.

Кожен елемент — це стек і, з chart, графік над ним. Від одного до п’ятдесяти елементів. Відповідає вікном, новою вкладкою і новими id віджетів у порядку колонок. Відмова називає елемент (items[1]: …), і нічого не відкривається.

ПараметрТипОпис
itemsобов’язковийlist[dict[str, Any]]Колонки по порядку; кожна має instrument (exchange:market:symbol) і необов’язково connection_id та chart (true відкриває графік над стеком)
nameнеобов’язковийstr | NoneНазва вкладки, до 64 символів; None називає її за інструментами
targetнеобов’язковийstrnew_tab (у window_id або у вікні у фокусі) або new_window За замовчуванням: 'new_tab'.
window_idнеобов’язковийint | NoneВікно для нової вкладки
activateнеобов’язковийboolFalse відкриває вкладку у фоні; нове вікно завжди отримує фокус За замовчуванням: True.

add_stacks

змінює стан

Додати інструменти до наявної вкладки: колонка на елемент після останньої колонки вкладки.

Вкладка зберігає назву й ширини колонок. Відповідає лише id доданих віджетів стеків і графіків. Немає такого вікна або вкладки — not_found.

ПараметрТипОпис
window_idобов’язковийintІдентифікатор вікна з інструмента workspace
tab_idобов’язковийintІдентифікатор вкладки з інструмента workspace; вкладки нумеруються в кожному вікні
itemsобов’язковийlist[dict[str, Any]]Колонки по порядку; кожна має instrument (exchange:market:symbol) і необов’язково connection_id та chart (true відкриває графік над стеком)

open_multiview

змінює стан

Відкрити монету на всіх біржах «Розкладки бірж», як це робить кнопка «Мультив’ю».

not_found, коли жоден увімкнений рядок розкладки не містить цієї монети.

ПараметрТипОпис
baseобов’язковийstrМонета (BTC) або пара (BTC/USDT)
targetнеобов’язковийstr | Nonenew_tab або new_window; None бере налаштування термінала
window_idнеобов’язковийint | NoneВікно для нової вкладки
activateнеобов’язковийboolFalse відкриває вкладку у фоні; нове вікно завжди отримує фокус За замовчуванням: True.

set_stack_instrument

змінює стан

Перемкнути стек (і графіки, що йдуть за ним) на інший інструмент.

ПараметрТипОпис
widget_idобов’язковийintwidget_id стека з інструмента workspace
instrumentобов’язковийstrАдреса інструмента exchange:market:symbol
connection_idнеобов’язковийint | NoneПідключення; без нього вибирає загальне правило

close_stack

змінює стан

Закрити один стек, як це робить його кнопка закриття. Id віджета графіка — invalid_request.

ПараметрТипОпис
widget_idобов’язковийintwidget_id стека з інструмента workspace

close_tab

змінює стан

Закрити вкладку вікна. Єдину вкладку вікна закрити не можна.

ПараметрТипОпис
window_idобов’язковийintІдентифікатор вікна з інструмента workspace
tab_idобов’язковийintІдентифікатор вкладки з інструмента workspace; вкладки нумеруються в кожному вікні

activate_tab

змінює стан

Вибрати вкладку в її вікні; фокус вікна не змінюється (див. activate_window).

ПараметрТипОпис
window_idобов’язковийintІдентифікатор вікна з інструмента workspace
tab_idобов’язковийintІдентифікатор вкладки з інструмента workspace; вкладки нумеруються в кожному вікні

close_window

змінює стан

Закрити вікно. Головне вікно відхиляється: його закриття завершило б роботу термінала.

ПараметрТипОпис
window_idобов’язковийintІдентифікатор вікна з інструмента workspace

activate_window

змінює стан

Відновити вікно, якщо воно згорнуте, і вивести його на передній план.

ПараметрТипОпис
window_idобов’язковийintІдентифікатор вікна з інструмента workspace

Зібрано з коду spectre-terminal-mcp, коміт 2d1c324.

На цій сторінці