Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Polymarket Gamma MCP Server

MCP Server для работы с Polymarket Gamma Markets API - получение данных о рынках предсказаний, событиях и аналитике.

🚀 Возможности

📊 Основные функции:

  • Трендовые рынки - получение популярных рынков с высоким объёмом
  • Поиск рынков - поиск по тексту в вопросах и описаниях
  • Фильтрация по категориям - рынки по тегам (Politics, Sports, Crypto)
  • Детали рынков - полная информация о конкретном рынке
  • События - получение событий с связанными рынками
  • API Usage - отслеживание использования запросов

🔧 Технические особенности:

  • Без ключей API - публичный доступ к Gamma API
  • TypeScript - строгая типизация и валидация данных
  • Retry логика - автоматические повторы при сетевых ошибках
  • Форматированный вывод - удобное отображение данных на русском языке
  • Отслеживание лимитов - мониторинг использования API

📦 Установка

# Клонировать и установить зависимости
npm install

# Собрать проект
npm run build

# Запустить тесты
npm test

🛠️ Доступные инструменты

1. get_trending_markets

Получение трендовых рынков с высоким объёмом торгов.

Параметры:

  • limit (число, по умолчанию: 20) - количество рынков

Пример ответа:

{
  "summary": "Найдено 5 трендовых рынков",
  "apiUsage": "4/1000 запросов использовано, 996 осталось",
  "markets": "1. Will Joe Biden get Coronavirus before the election?\n   💰 Объём: $32,257 | 💧 Ликвидность: $0\n   🏷️ Теги: US-current-affairs\n   📊 Цены: Yes: 0.0% | No: 0.0%",
  "rawData": [...]
}

2. get_markets_by_category

Получение рынков по категориям/тегам.

Параметры:

  • tags (массив строк, обязательно) - категории для фильтрации
  • limit (число, по умолчанию: 50) - количество рынков

Пример:

{
  "tags": ["Politics", "US Election"],
  "limit": 20
}

3. search_markets

Поиск рынков по текстовому запросу.

Параметры:

  • query (строка, обязательно) - поисковый запрос
  • limit (число, по умолчанию: 30) - количество результатов

4. get_market_details

Получение детальной информации о конкретном рынке.

Параметры:

  • marketId (строка, обязательно) - ID рынка

5. get_events

Получение событий с связанными рынками.

Параметры:

  • limit (число, по умолчанию: 20) - количество событий
  • active (булево, по умолчанию: true) - только активные события
  • orderBy (строка) - сортировка: volume, liquidity, endDate, createdAt

6. get_event_details

Получение детальной информации о событии.

Параметры:

  • eventId (строка, обязательно) - ID события

7. get_api_usage

Получение статистики использования API.

🔗 API Endpoints

Сервер использует следующие эндпоинты Gamma API:

  • GET /markets - список рынков
  • GET /markets/{id} - детали рынка
  • GET /events - список событий
  • GET /events/{id} - детали события

Базовый URL: https://gamma-api.polymarket.com

📊 Структура данных

ProcessedMarket

{
  id: string;
  question: string;
  description?: string;
  outcomes: string[];
  prices: number[];
  volume: number;
  liquidity: number;
  endDate: string;
  tags: string[];
  active: boolean;
  closed: boolean;
  resolved: boolean;
  negRisk: boolean;
  spread?: number;
  slug: string;
  tokens: Array<{
    id: string;
    outcome: string;
    price: number;
    winner?: boolean;
  }>;
}

ProcessedEvent

{
  id: string;
  title: string;
  description?: string;
  slug: string;
  tags: string[];
  startDate?: string;
  endDate?: string;
  active: boolean;
  closed: boolean;
  volume?: number;
  liquidity?: number;
  marketsCount: number;
  topMarkets?: ProcessedMarket[];
}

🧪 Тестирование

# Основные тесты
npm test

# Отладка API структуры
node test/debug-api.js

⚠️ Ограничения

  1. Публичный API - без ключей, но с разумными лимитами
  2. Только чтение - нельзя размещать ордера (для этого нужен CLOB API)
  3. Упрощённый поиск - пока без полнотекстового поиска
  4. Данные с задержкой - не real-time котировки

🔄 Интеграция с Windsurf

Добавьте в mcp_config.json:

{
  "mcpServers": {
    "polymarket-gamma": {
      "command": "node",
      "args": ["C:/Users/pavelk/Desktop/Projects/my_own/Bet/polymarket/mcp-servers/polymarket-gamma-server/dist/index.js"],
      "cwd": "C:/Users/pavelk/Desktop/Projects/my_own/Bet/polymarket/mcp-servers/polymarket-gamma-server"
    }
  }
}

📈 Использование

Этот сервер идеально подходит для:

  • Аналитики рынков - исследование трендов и объёмов
  • Мониторинга событий - отслеживание новых рынков
  • Исследований - сбор данных для анализа
  • Скрининга возможностей - поиск интересных рынков

Для реальной торговли используйте отдельный CLOB MCP Server.

🚀 Следующие шаги

  1. Gamma API Server - готов и протестирован
  2. 🔄 CLOB API Server - для торговых операций
  3. 🔄 WebSocket Server - для real-time данных
  4. 🔄 Unified Server - объединение всех возможностей

About

MCP server for the Polymarket Gamma Markets API: prediction-market discovery and analytics. TypeScript.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages