خادم MCP لأسواق التنبؤ من Kalshi وPolymarket
خادم Model Context Protocol أصلي لأسواق Kalshi وPolymarket المطابَقة، وفوارق الأسعار، والفرص المباشرة. مجاني على كل خطة.
الـ API هي أيضًا خادم Model Context Protocol أصلي. يستطيع وكيل برمجي مثل Claude أو Cursor استدعاء التغذية المطابَقة والفرص وبقية الكتالوج كأدوات، دون أي كود عميل. تتوفر كل أدوات MCP الموثَّقة الثماني لكل خطة نشطة، بما فيها Free. الوصول إلى قنوات WebSocket يختلف حسب الخطة.
يعمل الخادم عبر Streamable HTTP على https://api.dino.markets/v2/mcp/ (لاحظ الشرطة المائلة الختامية — عملاء/فاحصو MCP الصارمون قد يواجهون 502 عند إعادة التوجيه من /v2/mcp بلا شرطة إلى /v2/mcp/).
الاتصال
صادق بمفتاح API الخاص بك كرمز bearer، وهو المفتاح نفسه الذي تستخدمه REST API. يتصل معظم عملاء MCP عبر mcp-remote، الذي يربط عميلك المحلي بنقطة نهاية HTTP:
{
"mcpServers": {
"dino-markets": {
"command": "npx",
"args": [
"mcp-remote",
"https://api.dino.markets/v2/mcp/",
"--header",
"Authorization:Bearer ${DINO_API_KEY}"
],
"env": { "DINO_API_KEY": "sk_live_..." }
}
}
}
يمكن لعميل يتحدث Streamable HTTP مباشرة أن يشير إلى العنوان ويرسل Authorization: Bearer sk_live_... بنفسه، دون mcp-remote.
الأدوات
تعكس كل أداة نقطة نهاية REST. تتوفر كل الأدوات الموثَّقة الثماني لأي مفتاح نشط. تصدر watch_markets تذكرة بث على كل خطة؛ تحصل Free على قناتَي sample وstatus المنسَّقتين، بينما تحصل Basic وPremium وPro على تغذية markets:* الكاملة. لا توجد أداة منفصلة لقائمة الأزواج في v2؛ تفصيل الزوج مدمج في get_market.
| الأداة | تفعل | الخطة |
|---|---|---|
find_markets | بحث نصي حر بالفريق أو البطولة أو السياق الصريح أو عنوان السوق. استدعِ هذه أولًا لتحويل اسم مثل Yankees أو EPL إلى معرّف سوق. تعيد كائنات Market موحَّدة، مقتصرة على الهوية فقط، وتعكس GET /v2/search. | أي مفتاح نشط |
list_markets | الكتالوج المطابَق بين المنصتين كائنات Market موحَّدة، قابل للتصفية حسب الفئة، والسياق الصالح للفئة، والحالة، وعرضَي spread/candidates. تعكس GET /v2/markets؛ استخدم find_arbitrage من أجل Opportunities. | أي مفتاح نشط |
find_arbitrage | كائنات Opportunity مؤكدة بين المنصتين، قابلة للتصفية حسب الرياضة. تعيد أرجل لقطة مختارة بدقة، وقيمتَي edge_pct/roi_pct بعد الرسوم بشكل متحفظ، وfee_model، وتقدير رأس مال بالدولار، وحداثة as_of. fee_model: "conservative_per_contract" تعني أن التقريب على مستوى الحجم بين المنصتين قد يختلف. تعكس GET /v2/arbitrage. | أي مفتاح نشط |
get_market | كائن Market الموحَّد لسوق واحدة بمعرّفها (dino_<uuid> أو UUID مجرد، من list_markets، أو market_id الذي تعيده find_arbitrage)، مع إفصاح التسوية ومعرّفات المنصتين والعمق. اقرأ هذه قبل التداول. تعكس GET /v2/pairs/{market_id}. | أي مفتاح نشط |
get_spreads | فوارق الأسعار بين المنصتين على الأزواج المطابَقة المصنَّفة spread، بثقة EXACT أو HIGH موثَّقة. صفِّ حسب الفئة أو سياقها الصريح أو min_gap. تعكس GET /v2/spreads. | أي مفتاح نشط |
list_categories | الفئات الموحَّدة وأنواع الأسواق والسياقات الجانبية الصالحة لكل فئة. تعكس GET /v2/categories. | أي مفتاح نشط |
report_bad_arb | الإبلاغ عن Opportunity تبدو خاطئة. يأخذ opp_id معرّف Opportunity الذي تعيده find_arbitrage. تعكس POST /v2/report-bad-arb. | أي مفتاح نشط |
watch_markets | إصدار تذكرة لِـبث WebSocket في الوقت الفعلي، وإعادة ws_url مع القنوات المسموح بها لخطتك. اعتبر allowed.channels في النتيجة هو مصدر الحقيقة؛ تحصل Free على قناتَي sample وstatus المنسَّقتين، بينما تحصل Basic وPremium وPro على قنوات markets:* المطابَقة في v2. تعكس POST /v1/stream/token (لم تتغير في v2). | كل خطة |
تطابق البيانات التي تعيدها الأداة نقطة نهاية REST المقابلة تمامًا. تعيد list_markets كائنات Market؛ وتعيد find_arbitrage مغلَّف /v2/arbitrage وكائنات Opportunity بأرجل لقطة مختارة بدقة وحقول مالية نموذجية مُفصَح عنها. استخدم market_id الخاص بـ Opportunity مع get_market (أو REST عبر /v2/pairs/{market_id}) لفحص إفصاح التسوية الكامل لدى المنصتين قبل التنفيذ.
الوصول إلى WebSocket حسب الخطة
كل خطة نشطة، بما فيها Free، تحصل على تذكرة حقيقية من watch_markets. تحصل Free على قناتَي sample وstatus المنسَّقتين. تحصل Basic وPremium وPro على قنوات markets:* الكاملة. مفتاح منتهي الصلاحية أو من خطة غير معروفة يتلقى 402 مع رابط ترقية في نتيجة الأداة.
للحصول على نظرة عامة قابلة لقراءة الوكلاء عن المنتج كاملًا، وجّه وكيلك إلى /llms.txt.