MCP Sunucu Dokümantasyonu — 16 Borsa + MetaTrader 5

AlgoVesta MCP Sunucusu: Claude, ChatGPT, Cursor ve Gemini Gerçek Borsa ve MetaTrader 5 Hesaplarınızda İşlem Yapsın

Bu nedir: AlgoVesta, bir yapay zeka asistanına tek bir HTTPS bağlantısı üzerinden yirmi gerçek işlem aracı sunan barındırılan bir Model Context Protocol (MCP) sunucusu işletir. Bu tek bağlantıyı Claude, ChatGPT, Cursor, Claude Code, Gemini CLI veya MCP destekleyen herhangi bir istemciye yapıştırın; asistan bakiyeleri okuyabilir, pozisyon açıp kapatabilir, stop-loss ve take-profit'i taşıyabilir ve kendi eylemlerini şurada denetleyebilir: 16 kripto borsası ve MetaTrader 5 forex'te aynı anda — AlgoVesta'da zaten kaydettiğiniz risk ayarlarını kullanarak, hiçbir promptun geçersiz kılamayacağı sunucu taraflı bir politika duvarının arkasında. Her bağlantı 5.000 $ kağıt (paper) bakiye ile başlar ve her eylem ed25519 ile imzalanmış bir makbuz döndürür.
20 yerel MCP aracı OAuth 2.1 (PKCE) veya gizli bağlantı Önce kağıt (paper), 5.000 $ sanal Streamable HTTP taşıma katmanı

Model Context Protocol, yapay zeka asistanlarını harici sistemlere bağlamak için açık bir standarttır. İşlemle ilgili MCP sunucularının çoğu piyasa verisini bir sohbet penceresine akıtır. Bu ise yürütür: bir emir yönlendirme katmanıdır ve önünde deterministik bir risk motoru vardır; yapay zeka ise çağıran taraftır — asla yetkili taraf değildir.

Bu sayfadaki en önemli tek fikir. Borsa API anahtarlarınızı ve MetaTrader 5 hesaplarınızı AlgoVesta içinde bir kez bağlarsınız ve risk tercihlerinizi (stop-loss %, take-profit %, kaldıraç) orada bir kez ayarlarsınız. Ardından yapay zeka asistanınıza şunu verirsiniz: tek bir bağlantı. O andan itibaren asistan şuraya ulaşır: bağladığınız her hesaba, aynı anda, aynı bağlantı üzerinden, ve açtığı her emir şunu devralır: sizin kaydedilmiş ayarlarınızı — manuel panelin ve Telegram botunun kullandığı tamamen aynı ayarları. Yapay zekaya API anahtarlarınızı vermiyorsunuz. Ona, zaten kontrol ettiğiniz hesaplara kapsamı belirlenmiş, iptal edilebilir, hız sınırlı, politika kontrollü bir kapı veriyorsunuz.

Hızlı başlangıç

Kurulum üç adımdır ve kod gerektirmez. Tüm akış şurada yer alır: MCP Bağlantısı sekmesi, AlgoVesta panelinizde.

Adım 1

Şunu açın: MCP Bağlantısı sekmesi ve bir anahtar oluşturun. Yeni anahtarlar varsayılan olarak şu kapsama sahiptir: paper kapsamı. Tam bağlantı yalnızca bir kez gösterilir — o sırada kopyalayın.

Adım 2

Bağlantıyı, yapay zeka istemcinize özel bir MCP sunucusu olarak yapıştırın. Hiçbir API anahtarı AlgoVesta'dan çıkmaz, kod yoktur, yerel kurulum yoktur.

Adım 3

Onunla konuşun. “Portföyüm nasıl?” “ETHUSDT'de 5x kaldıraçla 200 $'lık bir long simüle et.” “BTC pozisyonumun yarısını kapat.”

Bağlantı URL'niz şuna benzer:

https://api.algovesta.com/u/avmcp_<your-key>/mcp

Bu URL bir kimlik bilgisidir. Onu elinde bulunduran herkes, kapsamı dahilinde hesaplarınız üzerinde işlem yapabilir. Onu bir parola gibi görün: hiçbir zaman herkese açık bir sohbete, bir ekran görüntüsüne, paylaşılan bir depoya veya destek talebine yapıştırmayın. Sızarsa panelden iptal edin — iptal, yeni bağlantılar için hemen geçerli olur ve açık olay akışlarını saniyeler içinde düşürür.

Hangi yapay zeka asistanları bağlanabilir

Streamable HTTP üzerinden MCP konuşan herhangi bir istemci bağlanabilir. Aşağıdaki tablo, gerçek sınırlamalar dahil olmak üzere canlı sunucuya karşı doğrulanan durumu kaydeder — bunların bazıları AlgoVesta'nın değil yapay zeka ürününün kısıtlamalarıdır ve hangi MCP sunucusunu kullanırsanız kullanın onlarla karşılaşırsınız.

Yapay zeka istemcisi Bağlantıyı nereye yapıştıracağınız Notlar ve gerçek sınırlar
Claude (web, masaüstü, iOS, Android)Ayarlar → Bağlayıcılar → Özel bağlayıcı ekleTam destek. Araç başlıkları ve onay iletişim kutuları doğrudan sunucudan gelir.
Claude Codeclaude mcp add --transport httpKomut satırı. Betikli veya tekrarlanabilir iş akışları için kullanışlıdır.
Cursormcp.json, şu "url" alanTam destek. Anahtar adının şu olduğuna dikkat edin: url burada — Gemini CLI farklı bir tane kullanır.
ChatGPTGeliştirici modu / özel bağlayıcıYalnızca ücretli planlar. Özel MCP bağlayıcıları ücretsiz planda sunulmaz ve önce geliştirici modunun etkinleştirilmesi gerekebilir. Bu bir OpenAI kısıtlamasıdır.
Gemini CLI~/.gemini/settings.json, şu "httpUrl" alanYalnızca CLI. Gemini web uygulaması özel MCP sunucularını desteklemez. Şunu kullanın: httpUrl anahtarını, şunu değil: url.
MCP destekleyen diğer herhangi bir istemciKendi MCP / bağlayıcı ayarlarıSunucu standardı uygular, bu yüzden Streamable HTTP üzerinden uzak MCP'yi destekleyen bir istemci, ona özel hiçbir şey olmadan çalışır.

Cursor örneği (mcp.json):

{
  "mcpServers": {
    "algovesta": {
      "url": "https://api.algovesta.com/u/avmcp_<your-key>/mcp"
    }
  }
}

Gemini CLI örneği (~/.gemini/settings.json) — dikkat httpUrl:

{
  "mcpServers": {
    "algovesta": {
      "httpUrl": "https://api.algovesta.com/u/avmcp_<your-key>/mcp"
    }
  }
}

Claude Code:

claude mcp add --transport http algovesta https://api.algovesta.com/u/avmcp_<your-key>/mcp

Taşıma ve protokol

TaşımaStreamable HTTP, durumsuz (stateless), JSON yanıtları. Her istek bağımsız olarak kimlik doğrulamasından geçer.
Sunucu adıAlgoVesta
Gizli bağlantı uç noktasıhttps://api.algovesta.com/u/<key>/mcp
OAuth uç noktasıhttps://api.algovesta.com/mcp
Araç listesi değişiklikleritools.listChanged = true. İstemciler yeniden bağlanıldığında araç listesini yeniler, bu yüzden yeni araçlar ve parametreler bağlayıcı kaldırılıp yeniden eklenmeden görünür.
Olay akışıŞurada sunucu tarafından gönderilen olaylar: /mcp/events ve /u/<key>/events, kiracı bazında izole edilmiş, şu ile: Last-Event-ID yeniden bağlanma.
Makine tarafından okunabilir şema/mcp/tools.json — 20 aracın tamamının tam JSON Şeması, istemcinin aldığı haliyle birebir.

Kimlik doğrulama ve kapsamlar

Bağlanmanın iki yolu vardır ve ikisi de aynı kiracı bağlamına çözümlenir. Araçlar hiçbir zaman parametre olarak bir kullanıcı kimliği kabul etmez — kimlik yalnızca kimlik doğrulaması yapılmış bağlantıdan okunur; bu da hesaplar arası erişimi salt yasak olmaktan çıkarıp yapısal olarak imkansız kılar.

Gizli bağlantı

Şu biçimde bir anahtar: avmcp_<32-byte urlsafe random>, URL yoluna gömülür. Bir Argon2id özeti artı bir SHA-256 arama özeti olarak saklanır; düz metin yalnızca oluşturulduğu anda vardır ve sonrasında hiçbir zaman geri kazanılamaz. Her anahtar kendi kapsamını, kendi etiketini ve kendi iptal durumunu taşır, böylece Cursor'da bir kağıt (paper) anahtar ve Claude'da bir canlı anahtar çalıştırıp ikisini de birbirinden bağımsız olarak sonlandırabilirsiniz.

OAuth 2.1

Uygun bir yetkilendirme akışını tercih eden istemciler için. Desteklenen izin türleri (grant) şunlardır: authorization_code ve refresh_token, dönen (rotating) yenileme belirteçleriyle. Şununla PKCE: S256 zorunludur — onsuz gelen bir istek reddedilir. Dinamik istemci kaydı mevcuttur, bu yüzden çoğu istemci kendini yapılandırır. Keşif belgeleri:

GET https://api.algovesta.com/.well-known/oauth-authorization-server
GET https://api.algovesta.com/.well-known/oauth-protected-resource
POST https://api.algovesta.com/mcp/oauth/register
GET  https://api.algovesta.com/mcp/oauth/authorize
POST https://api.algovesta.com/mcp/oauth/token

Üç kapsam

Kapsam Neler yapabilir Nasıl edinilir
readPortföy, fiyatlar, bekleyen emirler, simülasyonlar, politika önizlemeleri, makbuz doğrulama, kanal tekrarı. Hiçbir emir verilemez.Doğrudan oluşturulur.
paperŞunun içindeki her şey: read, artı 5.000 $'lık sanal bakiye üzerinde kağıt (paper) motoruna karşı yürütülen emirler. Yeni anahtarlar için varsayılan.Doğrudan oluşturulur.
liveYukarıdakilerin tamamı, artı bağlı borsalarınızda ve MetaTrader 5 hesaplarınızda gerçek emirler.İkinci faktör gereklidir. Geçerli bir kimlik doğrulayıcı (TOTP) kodu veya hesap e-postanıza gönderilen ve 10 dakika geçerli olan bir onay kodu. Sunucu tarafında, istisnasız olarak zorunlu kılınır.

Kapsamlar sıralıdır, bu yüzden şunu gerektiren bir araç: paper şunu reddeder: read şuna sahip anahtarı: insufficient_scope. Simüle edilmiş para ile gerçek para arasındaki sınır bu nedenle bir promptun, bir ayarın ya da modelin kararının değil, anahtarın kendisinin bir özelliğidir.

Araç referansı — 20 aracın tamamı

Bunlar asistanınızın gördüğü tam araçlardır. Okuma araçlarını önce size sormadan çağırmak güvenlidir; altı yazma aracı ise bunu destekleyen istemcilerde bir onay tetikler ve bunlardan üçü — place_order, close_position ve cancel_order — açıklamalarında ayrıca yıkıcı (destructive) olarak işaretlenmiştir.

Araç Kapsam Tür Amaç
get_portfolio_contextreadsalt okunurTek bir çağrıda bağlı her hesap
get_market_pricereadsalt okunurTazelik bilgisiyle birlikte canlı fiyat
simulate_orderreadsalt okunurPolitika kararını da içeren kuru deneme (dry-run)
place_orderpaper / liveyıkıcıBir pozisyon açar
close_positionpaper / liveyıkıcıTamamen veya kısmen kapatır
modify_positionpaper / livewriteStop-loss ve take-profit'i taşır
list_open_ordersreadsalt okunurBekleyen limit emirleri
cancel_orderpaper / liveyıkıcıBekleyen bir emri iptal eder
compile_policyreadsalt okunurSade dille yazılmış kuralları bir politika önizlemesine dönüştürür
verify_receiptreadsalt okunurİmzayı ve özet (hash) zincirini kontrol eder
replay_channelreadsalt okunurBir Telegram kanalını kurallarınıza karşı geriye dönük test eder
get_trade_historyreadsalt okunurKripto, MT5 ve paper genelinde kapanmış işlemler ve performans
compare_venuesreadsalt okunurBağlı borsaları ölçülen fiyat ve spread'e göre sıralar
list_strategiesreadsalt okunurTradingView stratejileri; webhook URL'si asla döndürülmez
create_strategypaper / livewriteYeni strateji, her zaman gerçek para yürütmesi kapalı
update_strategypaper / livewriteStrateji ayarları; auto_trade reddedilir
backtest_my_signalsreadread-onlyKendi geçmiş sinyallerinizi farklı ayarlarla yeniden oynatır (kuyruğa alınan iş)
simulate_policyreadread-onlyBir risk politikasını gerçekten kapattığınız işlemlere uygular (kuyruğa alınan iş)
import_tradingview_backtestreadread-onlyTradingView işlem dökümünü gerçek komisyon ve slipajla yeniden hesaplar (kuyruğa alınan iş)
get_job_statusreadread-onlyKuyruktaki bir işin ilerlemesi ve sonucu

get_portfolio_context

Hiçbir parametre almaz. Kimlik doğrulaması yapılmış anahtara ait her borsa hesabının, her MetaTrader 5 hesabının ve kağıt (paper) hesabının normalize edilmiş bir görünümünü döndürür — başka hiçbir şey değil. “Nasıl gidiyorum?” sorusunu on altı yerine tek bir soru haline getiren çağrı budur.

İki alan diğerlerinden daha önemlidir. Kripto hesapları için, balance ve equity şunu tanımlar: yalnızca vadeli işlemler (futures) cüzdanı; spot para ayrı olarak şurada raporlanır: spot_balance, bu yüzden yalnızca şunu okuyan bir asistan: balance hiçbir şeyiniz olmadığı yanlış sonucuna varabilir. MetaTrader 5 hesapları için, positions_source ya şudur: live_ea, yani pozisyon listesi terminale karşı doğrulanmıştır, ya da unavailable, yani terminale ulaşılamamıştır. Şu durumda: unavailable boş bir pozisyon listesi asla “açık pozisyon yok” anlamına gelmez — bilinmiyor anlamına gelir ve araç açıklaması, modele sizi rahatlatmak yerine bunu söylemesi talimatını verir.

get_market_price

Parametreler: venue, symbol. Şunu döndürür: {ok, venue, symbol, last, bid, ask, ts, source, age_sec}. Fiyatlar, yaklaşık her saniye yenilenen paylaşımlı bir önbellekten gelir; önbellekte bulunamazsa sunucu borsaya tek bir canlı REST çağrısı yapar. Değer 10 saniyeden eskiyse veya hiç alınamıyorsa bu açıkça belirtilir — bayat bir fiyat asla canlıymış gibi sunulmaz. Sembol bağlı hiçbir borsada yoksa, bilgi amaçlı bir DEX fiyatı, bağlı venue'lerinizde bunu işlem yapamayacağınıza dair açık bir uyarıyla birlikte döndürülebilir.

simulate_order

Zorunlu: venue, symbol, side, order_type, idempotency_key. Hiçbir emir göndermez. Beklenen dolum (fill), marj etkisini ve politika kararını, artı sunucunun türettiği mutlak stop-loss ve take-profit fiyatlarını döndürür. Bu bir okuma işlemidir, bu yüzden düzgün davranan bir asistan izin sormadan onu çağırır, size bir özet gösterir ve herhangi bir şey yerleştirmeden önce tam olarak bir kez onay ister.

place_order

Zorunlu: venue, symbol, side, order_type, idempotency_key. İsteğe bağlı: account, market, size_usd, margin_usd, risk_pct, lots, leverage, sl, tp, sl_pct, tp_pct, take_profits, entry_price.

Şu idempotency_key , süs değildir. Aynı anahtar aynı kullanıcı için iki kez gelirse, saklanan yanıt yeniden oynatılır ve ikinci bir emir açılmaz — bu da bir istemci zaman aşımından sonra tekrar denediğinde, bir telefon onay sırasında sinyali kaybettiğinde veya bir model bir aracı iki kez çağırdığında sizi koruyan şeydir.

Boyutlandırma kasıtlı olarak açıktır. Kripto için üç alandan tam olarak birini geçirirsiniz ve bunlar farklı anlamlara gelir:

Alan Anlam 5x'te örnek
size_usdPozisyon değeri (nominal)size_usd=100 → 100 $'lık bir pozisyon, kendi paranızdan 20 $
margin_usdKendi cebinizden teminatmargin_usd=20 → 100 $'lık bir pozisyon
risk_pctKullanılan serbest bakiyenin yüzdesi marj olarak. Bu, stop mesafesine dayalı risk boyutlandırması değildir; stop-loss mesafesi hesaplamaya dahil olmaz.risk_pct=1 2.000 $'lık bir bakiyede → 20 $ marj → 100 $'lık bir pozisyon

Forex ve MetaTrader 5 için boyut şu şekilde verilir: lots , bunun yerine, ve leverage hiç gönderilmez — ürün kaldıraçsızdır ve boyutlandırma lot hacminden gelir. Belirttiğiniz lot boyutu tam olarak kullanılır ve asla uygun bir değere yuvarlanmaz; brokerinizin sınırlarının dışına düşerse emir reddedilir ve izin verilen aralık geri bildirilir.

Emir boyutu toleransı. Borsalar yalnızca belirli lot artışlarını kabul eder, bu yüzden istenen miktar en yakın geçerli adıma eşleştirilir. Sapma %20 içinde kalırsa emir devam eder ve tam sapma size geri bildirilir; %20'nin ötesinde emir asla açılmaz ve size, hangi yakın miktarların işe yarayacağı rakamlarla bildirilir. Bu eşik, boyutlandırma fonksiyonundan bugüne kadar verilmiş her gerçek emrin yeniden çalıştırılmasıyla seçildi, sezgiyle seçilmedi.

Belirtilmeyen alanlar, kaydedilmiş ayarlarınıza döner. Bir stop-loss, take-profit veya kaldıraç belirtmezseniz, asistana bu alanları boş bırakması talimatı verilir ve sunucu bunları panelinizde kayıtlı tercihlerden doldurur — manuel panelin ve Telegram botunun kullandığı tamamen aynı değerler. Yanıt, hangi alanların kaydedilmiş ayarlardan geldiğini şurada bildirir: prefs_used. Bu, ölçülmüş bir başarısızlık nedeniyle vardır: bu alanlar zorunlu olduğunda model değerler uydurmak zorunda kalıyordu ve beş emrin beşi de müşterinin kendi yapılandırmasını geçersiz kılıyordu.

close_position

Zorunlu: venue, symbol, side, idempotency_key. İsteğe bağlı: fraction (0 ile 1 arası, 0 hariç], account, ticket. Kripto ve MetaTrader 5 için çalışır. Kapatmak riski azaltır, bu yüzden politika duvarı bunu asla engellemez — yalnızca kill switch engeller. Aynı idempotency anahtarıyla yapılan on çağrı tam olarak bir kapatma gerçekleştirir. Eşleşen bir pozisyon yoksa şunu alırsınız: POSITION_NOT_FOUND artı şu pozisyonlarla birlikte: olan o venue'de açık olan pozisyonlar, böylece asistan tahmin etmek yerine kendini düzeltebilir.

MetaTrader 5'te kısmi kapatma yoktur — Expert Advisor tamamen kapatır — bu yüzden şunu kullanın: fraction=1 orada. Aynı sembolde birden fazla MT5 pozisyonu açıkken, ticket zorunlu hale gelir ve hedef belirsizken hiçbir şey kapatılmaz.

modify_position

Zorunlu: venue, symbol, side, idempotency_key, artı şunlardan en az biri: new_sl / new_tp. Stop-loss kaldırılamaz — zorunlu SL kuralı burada da geçerlidir. Sıralama doğrulanır: bir long için gereken: new_sl < mark < new_tp, bir short için ise tersi. Yalnızca bir tarafı göndermek, diğerini silmek yerine mevcut değerinde bırakır. Kapatmada olduğu gibi, belirsiz bir MT5 bileti hiçbir şeyin değiştirilmediği anlamına gelir.

list_open_orders

İsteğe bağlı: venue. Bekleyen limit emirlerini şununla birlikte listeler: order_ref, venue, sembol, yön, giriş fiyatı, boyut ve oluşturulma zamanı.

Bir asistandan açık emirlerinizi incelemesini istemeden önce bilmeniz gereken bir nokta var: bu aracın izlediği bekleyen emirler, paper (deneme) defterinde tutulur. MCP üzerinden canlı bir borsada verilen emirler piyasa emri olarak gönderilir, bu yüzden beklemede kalmak yerine hemen gerçekleşir; canlı bir hesapta boş bir liste görmeniz, bir şeyin kaybolduğu değil, bekleyen hiçbir emrin olmadığı anlamına gelir.

cancel_order

Zorunlu: venue, order_ref, idempotency_key. Referans size ait değilse yanıt şudur: NOT_FOUND — asla başka birinin emrinin var olduğuna dair bir ipucu değil. Kapatma gibi, riski azaltır ve politika duvarı bunu engellemez.

compile_policy

Zorunlu: natural_text. Sade dille bir kural yazarsınız — “tek bir işlemde asla %2'den fazla risk alma, 10'un üzerinde kaldıraç yok, yalnızca BTC ve ETH” — ve bu bir JSON politikasına derlenir, şu şekilde döndürülür: önizleme. Derlemek asla hiçbir şeyi etkinleştirmez. Etkinleştirme, panelden veya şu yolla yapılan ayrı, bilinçli bir adımdır: POST /api/mcp/policies/{policy_id}/activate, bu da bir modelin kurallarınız hakkında konuşarak onları gevşetemeyeceği anlamına gelir.

verify_receipt

Zorunlu: receipt_id. Şunu döndürür: signature_valid ve chain_valid; bir eylem yalnızca ikisi de doğruysa doğrulanmış sayılır. Makbuzlar kullanıcı başına ed25519 ile imzalanmış ve özet (hash) zincirine bağlanmıştır, bu yüzden daha önceki bir makbuzu değiştirmek sonraki her makbuzu bozar ve chain_valid false değerini alır. Genel anahtar şu adreste sunulur: /mcp/receipts/pubkey, böylece bu uç noktaya güvenmeden bağımsız olarak doğrulayabilirsiniz. Daha eski HMAC dönemi makbuzları şunu döndürür: legacy=true.

replay_channel

Zorunlu: channel_ref. İsteğe bağlı: days (en fazla 90, varsayılan 30), policy_override. “Bu Telegram kanalını kurallarım altında son X gün boyunca takip etseydim ne olurdu?” sorusunu, geçmiş sinyallerini kağıt (paper) tarzında yeniden oynatarak yanıtlar; her sinyal politika duvarından geçer, böylece reddedilenler asla açılmaz. İlerleme şu şekilde gelir: replay_progress olayları. Sonuçlar 24 saat önbelleğe alınır ve araç saatte 5 tekrarla sınırlıdır. Çıktı: {trades:[...], summary:{total_pnl, win_rate, max_drawdown, avg_rr, policy_rejections}}.

get_trade_history

İsteğe bağlı: venue, symbol, days (1–365, varsayılan 30), limit (1–200, varsayılan 50), market (crypto / forex / paper). Üç kaynakın tamamından kapanmış işlemleri tek bir listede, en yeniden en eskiye doğru, artı bir summary ile döndürür. Özet kasıtlı olarak muhafazakârdır: avg_rr yalnızca giriş, stop-loss ve çıkışın tamamının bilindiği işlemlerden hesaplanır ve rr_sample bunun kaç işlem olduğunu bildirir; birden fazla hesap para birimi karıştığında total_pnl null olur, onun yerine pnl_by_currency verilir; komisyon hiçbir yerde kaydedilmez, bu yüzden fee null kalır ve kripto PnL'i brüttür. Bir kaynak okunamazsa, sanki eksiksizmiş gibi kısa bir liste döndürmek yerine incomplete_sources onu adlandırır.

compare_venues

Zorunlu: symbol. İsteğe bağlı: market (varsayılan futures, veya spot), side. Bağlı her kripto borsası için canlı fiyatı ve — alış/satış (bid/ask) yayınlayan borsalarda — baz puan cinsinden spread'i, artı borsalar arasındaki fiyat farkını döndürür. Bir borsa seçmez: emriniz yine de bir tanesini adlandırır. İşlem ücretleri, emir defteri derinliği ve slipaj basis.not_measured altında listelenir ve asla tahmin edilmez; bid/ask yayınlamayan bir borsa, spread'i sıfırmış gibi sıralanmak yerine not_comparable_on_spread içinde görünür. Bu yüzden cheapest_measured, “ölçülen en düşük spread” anlamına gelir, “genel olarak en ucuz” değil.

list_strategies

Parametre yok. TradingView stratejilerinizi ayarlarıyla, plan_limit ve can_create_more ile birlikte döndürür. auto_trade her strateji için raporlanır, böylece asistan hangilerinin canlı olduğunu söyleyebilir. Webhook URL'si, demo URL'si ve HMAC gizli anahtarı yanıttan çıkarılır — yalnızca webhook_url_configured ve has_hmac_secret ifşa edilir, çünkü URL'nin kendisi bir kimlik bilgisidir.

create_strategy

İsteğe bağlı: name. Zorunlu: idempotency_key. auto_trade kapalı bir TradingView stratejisi oluşturur; alan MCP üzerinden yazılabilir değildir, bu yüzden yeni oluşturulan bir strateji, siz panelde kendiniz silahlandırana kadar gerçek emir açamaz. Paketinizin strateji kotasına tabidir — limitin üzerinde, sessizce hiçbir şey yapmak yerine kodlanmış bir plan-limiti hatası döner.

update_strategy

Zorunlu: strategy_id, changes, idempotency_key. Kaldıracı (1–20 ile sınırlı), risk yüzdesini (0.1–50), stop-loss ve take-profit yüzdelerini, trailing ve break-even ayarlarını, izin verilen sembolleri, hedef hesabı ve stratejinin sinyal kabul edip etmediğini değiştirir. auto_trade, status ve ip_allowlist reddedilir ve refused_fields içinde döndürülür; silme yalnızca panelden yapılabilir. reverse_enabled'ı açmak bir warning döndürür, çünkü o andan itibaren bir BUY sinyali bir SHORT açar.

backtest_my_signals

İsteğe bağlı: days (1–90), source, symbols, margin_usd, leverage, sl_pct, tp_pct, max_hold_minutes, taker_fee_bps, partial_tp. Gerçekten aldığınız sinyalleri gerçek geçmiş 1 dakikalık mainnet barları üzerinde iki kez oynatır: bir kez sinyalin kendi SL/TP ve kaldıracıyla, bir kez sizin ayarlarınızla. Hemen bir job_ref döner; sonucu get_job_status ile alırsınız. Her sonuç coverage (kaç sinyal gerçekten simüle edildi, kalanı neden edilemedi) ve assumptions (komisyon, slipaj, kısmi TP, modellenmeyenler) taşır. SL'siz, SL'si girişin ters tarafında olan veya geçmiş fiyat verisi bulunmayan sinyaller tahmin edilmez; sayılır ve atlanır.

simulate_policy

İsteğe bağlı: policy_text (gündelik dil), rules (derlenmiş), days (1–365). Bir risk politikasını gerçekten kapattığınız işlemlere uygular; hangilerinin hangi kuralla reddedileceğini ve PnL farkını bildirir. Bir job_ref döner. İki sınır her sonuçta yazılıdır: emir anındaki hesap durumuna bağlı kurallar (açık pozisyon sayısı, günlük zarar, bakiye) sıfırla değerlendirilir — bu durum kapanmış işlemlerden yeniden kurulamaz, dolayısıyla o kurallar olduğundan AZ sayılır; ve PnL kayıtlı gerçekleşmiş sonuçlarınızdan gelir, para birimine göre ayrı raporlanır ve farklı birimler TOPLANMAZ.

import_tradingview_backtest

Zorunlu: csv_text. İsteğe bağlı: taker_fee_bps, slippage_bps, leverage. TradingView Strategy Tester'dan dışa aktardığınız işlem listesini alır ve gerçek maliyetlerle yeniden hesaplar: giriş ve çıkışın ikisinde de taker komisyonu ve ölçülmüş slipaj. Pine Script asla çalıştırılmaz veya yorumlanmaz — yalnızca dışa aktardığınız işlem listesi yeniden hesaplanır ve fiyatlar TradingView'ın bildirdiği gibi kalır. Miktar sütunu olmayan satırlara komisyon uygulanamaz; bunlar iyimser kalır ve sayıları raporlanır. Bir job_ref döner.

get_job_status

İsteğe bağlı: job_ref. Referans verilirse o işin durumunu, bittiyse sonucunu döner; argümansız çağrılırsa son işlerinizi listeler. status şunlardan biridir: PENDING, RUNNING (progress yüzdesiyle), DONE, FAILED (yeniden deneme planlandı), DEAD veya CANCELLED. İşler sırayla koşar, bu yüzden queue_position önünüzde kaç iş olduğunu söyler. Size ait olmayan bir referans, var olmayan bir referansla AYNI “bulunamadı” cevabını alır; böylece iş referansları numaralandırılamaz.

Sonuçlar sonsuza kadar yaşamaz, bu yüzden üzerlerine bir şey inşa etmeden önce sınırları bilmekte fayda var. Yalnızca en son biten 20 iş tam sonucunu korur; daha eskileri özetlerine indirgenir ve result_pruned: true ile döner — bu, ayrıntılı satırların artık olmadığı ve onları yeniden üretmek için işin tekrar çalıştırılması gerektiği anlamına gelir. Her şey 30 gün sonra silinir. Backtest ve policy koşuları da hesabınızın backtest geçmişine yazılır ve sonuç, saklandıkları run_id'yi taşır.

Politika duvarı

Araçları bir dil modeline vermeyi savunulabilir kılan kısım burasıdır. Kurallarınız bir kez JSON'a derlenir, sabit bir şemaya karşı doğrulanır ve ardından şu şekilde değerlendirilir: sunucu tarafında ve deterministik olarak her emirde. Model bunları asla değerlendirmez, etrafından dolanmanın bir yolunu asla görmez ve onları gevşetmesi için ikna edilemez — ne sabırsızlık anınızda siz tarafından, ne de tesadüfen okuduğu bir web sayfası veya Telegram mesajı üzerinden enjekte edilen bir prompt tarafından. Bir ihlal, denetim kaydıyla birlikte kesin bir reddir.

Kural Tür Anlam
max_risk_per_trade_pctsayı, 0–100Tek bir işlemin hesaptaki payının üst sınırı
max_order_size_usdsayı > 0Emir değerinde mutlak üst sınır
max_daily_loss_usdsayı > 0Bu zararın ötesinde o gün işlem yapmayı durdur
max_open_positionstam sayıEşzamanlılık sınırı
leverage_capsayı, 1–1000Kendi kaldıraç üst sınırınız
venue_scopediziYapay zekayı belirtilen venue'lerle sınırla
symbol_whitelistdiziYalnızca bu semboller işlem görebilir
symbol_blacklistdiziBu semboller asla işlem görmez
allowed_sidesdiziYalnızca long, yalnızca short veya ikisi de
notesmetinKendi notunuz

Şema doğrulamasını geçemeyen derlenmiş bir politika hiçbir şekilde etkinleştirilemez. Kısmen geçerli bir politika yoktur.

Güvenlik modeli

Varsayılan olarak kağıt (paper)Her yeni anahtar şu kapsamda başlar: paper 5.000 $'lık sanal bir bakiye ile. Gerçek paraya ulaşmak, açık ve ayrı bir eylemdir.
Stop-loss zorunludurNe açık bir stop-loss ne de kaydedilmiş bir varsayılan mevcutsa, emir reddedilir. Daha sonra da kaldırılamaz.
IdempotencyHer yazma aracı, istemci tarafından üretilmiş en az 8 karakterlik bir anahtar gerektirir. Tekrarlar, iki kez işlem yapmak yerine saklanan yanıtı yeniden oynatır.
Kill switchPOST /api/mcp/freeze her şeyi bir anda durdurur; ardından her araç şunu döndürür: user_frozen. /unfreeze bunu tersine çevirir.
Anahtar başına iptalDiğerlerine dokunmadan bir istemciyi iptal edin. Açık olay akışları saniyeler içinde düşer.
İmzalı makbuzlarHer eylemde ed25519 imzası artı kullanıcı başına bir özet (hash) zinciri, bir genel anahtara karşı doğrulanabilir.
Denetim kaydıHer çağrı, araç adı, argümanlar, sonuç ve gecikme ile kaydedilir, şurada okunabilir: GET /api/mcp/audit ve panelde.
Kiracı izolasyonuAraçlar bir kullanıcı kimliği kabul edemez; kimlik yalnızca kimlik doğrulaması yapılmış bağlantıdan gelir.
Yalnızca-işlem anahtarlarıBorsa API anahtarlarınız çekim izni olmadan oluşturulur ve AES-256 ile şifrelenmiş olarak saklanır. Emirler, borsada izin listesine (allowlist) aldığınız sabit AlgoVesta işlem IP'lerinden gönderilir.

Kaldıraç konusunda, açıkça: AlgoVesta kendi hesabınıza bir kaldıraç üst sınırı dayatmaz — bunu borsanız yapar ve kendi üst sınırınızı şununla belirleyebilirsiniz: leverage_cap politika kuralı. MetaTrader 5 üzerinden forex bu yolda kaldıraçsızdır ve lotlarla boyutlandırılır. Bir platformun burada “kaldıracı 20x ile sınırladığını” söyleyen herkes var olmayan bir şeyi anlatıyordur.

Hatalar

Kod HTTP Ne zaman oluşur
unauthorized401Eksik, geçersiz veya iptal edilmiş anahtar
insufficient_scope401Araç, anahtarın sahip olduğundan daha yüksek bir kapsam gerektiriyor
forbidden403Bu hesap için izin verilmiyor
user_frozen403Kill switch etkin
policy_violation403Bir kural emri reddetti; yanıt hangisi olduğunu listeler
idempotency_conflict409Aynı anahtar farklı argümanlarla yeniden kullanıldı
validation_failed422Hatalı biçimlendirilmiş veya çelişkili argümanlar
rate_limited429Çok fazla çağrı; retry_after dahil edilir

Alan düzeyindeki reddedişler, taşıma hataları yerine yapılandırılmış sonuçlar olarak gelir, böylece asistan bunlar üzerinde işlem yapabilir: VENUE_NOT_CONNECTED, ACCOUNT_REQUIRED, ACCOUNT_AMBIGUOUS, ACCOUNT_NOT_FOUND, POSITION_NOT_FOUND, MISSING_FIELDS, INVALID_SIDE, SL_REMOVAL_FORBIDDEN. Hata mesajları asla iç ayrıntı sızdırmaz ve başka bir hesap hakkında hiçbir şey ifşa etmez.

Hız sınırları

Sınırın kapsamı Sınır
Anahtar başına tüm araç çağrılarıdakikada 60
place_orderdakikada 10
replay_channelsaatte 5 (sonuçlar 24 saat önbelleğe alınır)
Canlı kapsam onay e-postasıdakikada 1

Canlı olaylar

Kiracı bazında izole edilmiş, sunucu tarafından gönderilen bir olay akışı şurada mevcuttur: /mcp/events (OAuth) ve /u/<key>/events (gizli bağlantı), şu ile: Last-Event-ID yeniden bağlanma, böylece düşen bir bağlantı yeniden başlamak yerine devam eder. Olay türleri: fill, policy_rejected, position_closed, sl_hit, tp_hit, ve replay_progress bir kanal tekrarı sırasında.

Venue'ler — 16 borsa ve MetaTrader 5

Tek bir bağlantı hepsine ulaşır. Bir venue, yapay zekaya yalnızca onu AlgoVesta'da bağladıktan sonra kullanılabilir hale gelir; bağlamadığınız bir tanesini istemek şunu döndürür: VENUE_NOT_CONNECTED bir tahmin yerine.

Borsa venue değer Piyasalar Parola gerekli
BinancebinanceSpot, vadeli işlemlerHayır
BybitbybitSpot, vadeli işlemlerHayır
OKXokxSpot, vadeli işlemlerEvet
KuCoinkucoinSpot, vadeli işlemlerEvet
Gate.iogateioSpot, vadeli işlemlerHayır
BitgetbitgetSpot, vadeli işlemlerEvet
KrakenkrakenSpot, vadeli işlemlerHayır
CoinbasecoinbaseSpotHayır
BingXbingxSpot, vadeli işlemlerHayır
HyperliquidhyperliquidVadeli işlemlerHayır
BackpackbackpackSpot, vadeli işlemlerHayır
HTXhtxSpot, vadeli işlemlerHayır
BloFinblofinSpot, vadeli işlemlerEvet
PhemexphemexSpot, vadeli işlemlerHayır
WOO XwooSpot, vadeli işlemlerEvet (Application ID)
CoinExcoinexSpot, vadeli işlemlerHayır
MetaTrader 5 (forex, metaller, endeksler)mt5Lot, kaldıraçsız yolBroker girişi
Kağıt (paper) motorupaper5.000 $ sanal

Bunlardan altısı — Binance, Bybit, OKX, Gate.io, KuCoin ve Bitget — hem vadeli işlemlerde hem de spotta gerçek parayla uçtan uca doğrulanmıştır; stop-loss ve take-profit'in borsanın kendisinde gerçekten var olduğu ve kaydedilen değerlerle birebir eşleştiği teyit edilmiştir. Her borsanın kendine özgü tuhaflıkları vardır ve bu farklar eksiklik değil kasıtlıdır: Bybit ve Bitget spotta ikinci bir take-profit bacağını kabul etmez, OKX spot, bir nakit hesabın sessizce bir marj hesabına dönüşmesini önlemek için ham API üzerinden yönlendirilir, Binance spot alım öncesinde bir minimum nominal değeri zorunlu kılar ve KuCoin piyasa alımları maliyet (cost) modunda verilir.

Spot ve vadeli işlemler her zaman birbirinden ayrı tutulur. İki piyasadaki aynı sembol ayrı bir satır, ayrı bir fiyat akışı ve ayrı bir anahtardır — biri asla diğerine karışmaz.

Sıfır kurulumla MetaTrader 5

Forex için hiçbir şey kurmazsınız. Kiralanacak bir VPS, kendi makinenizde canlı tutulacak bir MetaTrader terminali, ekleyeceğiniz bir Expert Advisor veya satın alınacak bir üçüncü taraf köprü hesabı yoktur. AlgoVesta, MetaTrader 5 terminallerini kendi yönetilen sunucularında çalıştırır ve bunları brokerinize kesintisiz bağlı tutar. Hesap kimlik bilgilerinizi bir kez girersiniz ve yapay zeka asistanınız o andan itibaren o hesapta işlem yapabilir. Asistana döndürülen pozisyon verisi terminale karşı doğrulanır ve doğrulanamadığında araç, boş bir hesabı ima etmek yerine bunu söyler.

Yol haritası — küresel hisse senetleri

Planlandı — henüz kullanılamıyor

Interactive Brokers (IBKR) üzerinden küresel hisse senedi işlemleri planlanıyor, hedef: 170 küresel hisse senedi kripto ve forex ile aynı MCP bağlantısından ulaşılabilir olması. Bu bir yol haritası maddesidir ve bugün canlı değildir; bu sayfada bu paragraf dışında hiçbir şey onu tanımlamaz ve mevcut hiçbir araç hisse senedi işlemi yapamaz. Yayınlandığında, ek venue değerler olarak, aynı araçlar, aynı politika duvarı ve aynı makbuzlar altında görünecektir.

Ölçülen gecikme

Bunlar pazarlama rakamları değil, ölçümlerdir.

Aşama Ölçülen
İsteğin alınması ve ayrıştırılması17–67 ms (medyan 38 ms)
MetaTrader 5'te uçtan ucaYaklaşık 1 saniye (849 ms ölçüldü; kapatma için 702 ms)
Bir kripto borsasında uçtan ucaYaklaşık 3 saniye (2.785 ms ölçüldü)
Kağıt (paper) motoruMedyan 318 ms — borsaya gidiş-dönüş yok

Yapay zeka istemcinizin içinde geçen süre — modelin düşünmesi ve sizin onaylamanız — dahil değildir ve genellikle baskın olacaktır. Bu sunucu düşük gecikmeli bir yürütme venue'si değildir ve öyle satılmaz.

Panel REST uç noktaları

Yapay zekanın kendi başına yapamayacağı ve yapmaması gereken her şey, normal oturum açmış bağlantınızın arkasında yer alır.

POST   /api/mcp/keys                            create a key (live requires 2FA)
GET    /api/mcp/keys                            list keys
DELETE /api/mcp/keys/{key_id}                   revoke a key
POST   /api/mcp/live-code                       send the live-scope confirmation code
POST   /api/mcp/freeze  |  /api/mcp/unfreeze    kill switch
GET    /api/mcp/status                          connection status
GET    /api/mcp/policies                        list policies
POST   /api/mcp/policies/compile                compile without activating
POST   /api/mcp/policies/{id}/activate          activate
POST   /api/mcp/policies/{id}/deactivate        deactivate
GET    /api/mcp/audit                           audit log
GET    /api/mcp/receipts                        receipts
GET    /api/mcp/receipts/{receipt_id}/verify    verify one receipt
GET    /api/mcp/pubkey                          receipt public key
GET    /api/mcp/paper  |  POST /api/mcp/paper/reset

Sahip olmanız gereken

MCP bağlantısının kendisi ürünün bir parçasıdır ve ayrı satılmaz. Pratikte sizi sınırlayan şey, yapay zekanın ulaşması gereken şeydir: kağıt (paper) işlem yalnızca bir hesap gerektirirken, canlı işlem aktif bir ücretli plan ve o planın izin verdiği bağlı hesapları gerektirir — ayrıca gerçek parayla canlı MetaTrader 5 işlemleri, o hesap için ayrıca açıkça onay vermenizi (opt-in) gerektirir. Borsa anahtarı ve MetaTrader hesabı sayısındaki plan sınırları şurada listelenmiştir: fiyatlandırma sayfası. Bunların hiçbiri önem kazanmadan önce her şeyi 5.000 $'lık kağıt (paper) bakiye üzerinde deneyebilirsiniz.

Sıkça sorulan sorular

Evet, ona şu kapsama sahip bir anahtar verdiğinizde: live kapsamı, ve bu kapsam yalnızca bir ikinci faktörden sonra verilir. O ana kadar aynı asistan, aynı araçlarla 5.000 $'lık kağıt (paper) bakiyeye karşı çalışır, böylece herhangi bir gerçek paraya ulaşılabilir olmadan önce tüm iş akışını prova edebilirsiniz.
Hayır, ve bunu hiçbir araçla asla yapmamalısınız. API anahtarlarınız AlgoVesta içinde, şifrelenmiş ve çekim izni olmadan oluşturulmuş şekilde kalır. Asistan yalnızca kapsamı belirlenmiş, hız sınırlı, politika kontrollü, ayrı ayrı iptal edilebilir ve bir borsadan para çıkarmak için işe yaramaz bir MCP bağlantısına sahip olur.
Modelin denemesini sağlayabilir. Denemenin başarılı olmasını sağlayamaz. Kurallar JSON'a derlenir ve istek modelden çıktıktan sonra sunucu tarafında değerlendirilir, bu yüzden ikna etmenin üzerinde çalışabileceği bir yüzey yoktur. Bir ihlal reddedilir ve tam olarak neyin denendiğini görebileceğiniz denetim kaydına yazılır.
Hiçbir şey iki kez gerçekleşmez. Her yazma aracı bir idempotency anahtarı gerektirir ve aynı anahtarın tekrarı, yeniden işlem yapmak yerine saklanan yanıtı döndürür. Bu, ayrıca bir ağ zaman aşımından sonra istemcinin tekrar denemesini de güvenli kılan şeydir.
Evet. Amacı da budur. Tek bir bağlantı, bağladığınız her borsa hesabını ve her MetaTrader 5 hesabını kapsar ve get_portfolio_context hepsini tek bir çağrıda döndürür. Aynı piyasada birden fazla hesabınız olduğunda, account parametresi zorunlu hale gelir ve belirsiz bir istek, bir varsayılana gönderilmek yerine reddedilir.
Artık değil ve bu varsayımsal değil gerçek bir hataydı. Bu alanlar eskiden zorunluydu, bu da modeli değerler uydurmaya zorluyordu ve ölçümler müşteri ayarlarının sessizce üzerine yazıldığını gösterdi. Şimdi asistana belirtilmeyen alanları boş bırakması talimatı verilir ve sunucu bunları kaydedilmiş panel ayarlarınızdan doldurur, hangilerini kullandığını bildirir.
Hiçbirine. AlgoVesta, MetaTrader 5'i kendi yönetilen sunucularında, brokerinize 7/24 bağlı olarak çalıştırır. Hesap bilgilerinizi bir kez girersiniz; kurulacak, kiralanacak veya yeniden başlatılacak hiçbir şey yoktur.
Hayır. Kimseden hiçbir şey yansıtılmaz. Kendi asistanınızı siz yönlendirirsiniz, her emir kendi kurallarınıza karşı kontrol edilir ve daha sonra her eylemi denetim kaydı ve imzalı makbuz zinciri üzerinden inceleyip doğrulayabilirsiniz.
Paneldeki kill switch'i kullanın veya POST /api/mcp/freeze. Ardından her araç şunu döndürür: user_frozen siz dondurmayı kaldırana kadar. Bunun yerine tek bir istemciyi kesmek için yalnızca o anahtarı iptal edin — diğerleri çalışmaya devam eder.
Çünkü bu ürünler özel MCP bağlayıcıları sunmuyor. Gemini bunları yalnızca CLI'da destekler ve ChatGPT bunları ücretli planlarda geliştirici modu üzerinden sunar. İkisi de yapay zeka ürününün kısıtlamalarıdır ve yalnızca bu sunucuya değil her MCP sunucusuna uygulanır. Claude, Claude Code ve Cursor'da böyle bir sınırlama yoktur.
Evet. Her eylem, bir öncekine özet (hash) zinciriyle bağlı, ed25519 ile imzalanmış bir makbuz döndürür. Şununla doğrulayın: verify_receipt aracı, veya şu adresteki genel anahtara karşı bağımsız olarak: /mcp/receipts/pubkey. Eski bir makbuzu düzenlemek, ondan sonraki her makbuz için zinciri bozar; kurcalamayı tespit edilebilir kılan tam olarak budur.
Hayır, ve bu, yanlış yapılandırılabilecek bir izin kontrolü sayesinde de değil. Araçların kimlik için hiçbir parametresi yoktur — hesap, kimlik doğrulaması yapılmış bağlantının kendisinden türetilir, bu yüzden bir saldırganın veya kafası karışmış bir modelin başka birine ulaşmak için sağlayabileceği hiçbir argüman yoktur.
Bugün değil. Kripto ve MetaTrader 5 forex şu anda canlıdır. Interactive Brokers üzerinden, 170 hisseyi hedefleyen küresel hisse senetleri planlanmaktadır ve aynı araçlar ile aynı politika duvarı altında ek venue değerleri olarak gelecektir.

Bir yapay zeka asistanını hesaplarınıza bağlayın

5.000 $'lık kağıt (paper) bakiye ile başlayın. Kart yok, kurulacak bir şey yok ve canlı sınır, siz bilinçli olarak açana kadar kapalı kalır.

Ücretsiz hesap oluştur Genel bakışı gör

İlgili: Yapay zeka asistanları için MCP · MCP Trading Sunucusu: Claude & ChatGPT ile 16 Borsa + MT5 · desteklenen borsalar · MetaTrader 5 forex · TradingView otomasyonu · bir MCP işlem sunucusunun ne olduğu · güvenlik · fiyatlandırma.

İşlem yapmak risk taşır. Otomasyon bu riski ortadan kaldırmaz ve bir yapay zeka asistanı yatırım tavsiyesi değildir. Kağıt (paper) ile başlayın.