mcpField
P
prophetx

prophetx

github.com/machina-sportsOther261127 installsUpdated today
Repository

About prophetx

A read-only skill for querying public ProphetX exchange sports markets through sports-skills. It helps users explore events, market catalogs, and available top-of-book odds while distinguishing missing order books from actual prices.

Key features

  1. 01Search sports markets and events
  2. 02List tournaments and schedules
  3. 03Retrieve market catalogs and player props
  4. 04Show odds where public books exist
  5. 05Preserve raw provider records
  6. 06Read-only requests with retries

Use cases

  1. 01Finding markets for a named team
  2. 02Reviewing today's sports schedule
  3. 03Exploring event lines and player props
  4. 04Checking whether public odds are available

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/machina-sports/sports-skills --skill prophetx

After installing, type/prophetxin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
api-reference.md
api.md
commands.md

Details

From the project README

ProphetX — Public Exchange Markets (read-only)

Before writing queries, consult references/api-reference.md for sport codes and command parameters.

Read this first — what this skill can and cannot return:

  • ✅ Tournaments (leagues), events (with home/away, schedule, status), market catalog (moneyline/spread/total, alt lines, player props on v2), matched stake (total_stake), primary-line flag (favourite).
  • ✅ Exchange odds (American) with derived implied probability — but ONLY on markets where a public order book is exposed. Check selections_available per market; availability varies (pre-game core markets usually have books; in-play and low-activity markets often come back [null, null]).
  • ❌ Guaranteed odds on every market, or full order-book depth/liquidity. When selections_available is False, only structure and matched stake exist — never invent odds. Complete odds coverage lives behind the authenticated ProphetX Affiliate API, a separate credentialed Machina connector — never wire tokens into this skill.

Quick Start

Prefer the CLI — it avoids Python import path issues:

sports-skills prophetx get_sports_config
sports-skills prophetx search_markets --sport=nfl --query="Eagles"
sports-skills prophetx get_todays_events --sport=mlb
sports-skills prophetx get_tournaments --sport=soccer
sports-skills prophetx get_markets --event_id=19742 --api_version=v2

Python SDK (alternative):

from sports_skills import prophetx

prophetx.get_sports_config()
prophetx.search_markets(sport="nfl", query="Eagles")
prophetx.get_todays_events(sport="mlb")
prophetx.get_events(109)                      # tournament_id
prophetx.get_markets(19742, api_version="v2") # event_id
prophetx.get_market(19742, 219)               # market id or "19742:219"

CRITICAL: Before Any Query

  • Market id is the market-TYPE id (219 = Moneyline on ANY event) — the stable per-event key is market_key ("<event_id>:<market_id>").
  • api_version="v2" adds category, subType, alt lines (market_lines) and player props; default v1 is the lean catalog. v2 automatically falls back to v1 on failure.
  • Check selections_available before reading odds fields — odds exist only where a public order book does; never present total_stake (matched volume) as odds or liquidity.
  • Sport codes: soccer, tennis, basketball, baseball, ice-hockey, american-football + aliases (nfl, nba, mlb, nhl, epl, mls, worldcup, ...).

Workflows

Market discovery for a game
  1. search_markets --sport=nfl --query="Eagles" — soonest matching events with their markets.
  2. Present market names/types/lines; quote odds only from markets with selections_available: true, and say explicitly when a market's public book is empty.
Today's slate
  1. get_todays_events --sport=mlb — today's events (UTC) with home/away and schedule.
  2. Follow with get_markets --event_id=<id> --api_version=v2 for the full catalog (player props, alt lines).
Explore the exchange
  1. get_sports_config — sports and live tournaments.
  2. get_tournaments --sport=soccer → get_events --tournament_id=<id>.

Important Notes

  • Read-only by design: no login, no cookies, no browser automation, only GETs; conservative throttling + caching + retries with backoff; fails closed on 403/WAF and on schema drift.
  • Event status values observed: not_started, live.
  • _raw preserves the full provider payload on every normalized record.
  • Unified cross-venue discovery: sports-skills markets search_entity --query="Yankees" includes a prophetx section (top-of-book odds per outcome when a public book exists; events without any exposed book are flagged with a note).

Comments

Markdown supported