ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Puntersedge

โดย Propertyscout001รุ่น 0.6.0i★ –iบนเครื่องหรือคลาวด์
ชื่อใน registryio.github.Propertyscout001/puntersedge

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

AU/NZ racing and Australian sports odds for AI agents: 36 read-only tools, each stating its cost.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: บนเครื่องหรือคลาวด์
  • ช่องทาง (transport): stdio, Streamable HTTP
  • หมวด: เกม กีฬา อาหาร และการเรียน
  • ต้องใส่ค่าเหล่านี้: PUNTERSEDGE_API_KEY, X-API-Key

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย
  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน

หรือรันในเครื่องคุณ

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "puntersedge": {
      "command": "uvx",
      "args": [
        "puntersedge-mcp"
      ],
      "env": {
        "PUNTERSEDGE_API_KEY": "ใส่ค่าของคุณ",
        "PUNTERSEDGE_BASE_URL": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add --transport http puntersedge https://api.puntersedge.online/mcp --header 'X-API-Key: ใส่ค่าของคุณ'

หรือรันในเครื่องคุณ

claude mcp add puntersedge --env PUNTERSEDGE_API_KEY='ใส่ค่าของคุณ' --env PUNTERSEDGE_BASE_URL='ใส่ค่าของคุณ' -- uvx puntersedge-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "puntersedge": {
      "url": "https://api.puntersedge.online/mcp",
      "headers": {
        "X-API-Key": "ใส่ค่าของคุณ"
      }
    }
  }
}

หรือรันในเครื่องคุณ

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "puntersedge": {
      "command": "uvx",
      "args": [
        "puntersedge-mcp"
      ],
      "env": {
        "PUNTERSEDGE_API_KEY": "ใส่ค่าของคุณ",
        "PUNTERSEDGE_BASE_URL": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "puntersedge": {
      "type": "http",
      "url": "https://api.puntersedge.online/mcp",
      "headers": {
        "X-API-Key": "ใส่ค่าของคุณ"
      }
    }
  }
}

หรือรันในเครื่องคุณ

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "puntersedge": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "puntersedge-mcp"
      ],
      "env": {
        "PUNTERSEDGE_API_KEY": "ใส่ค่าของคุณ",
        "PUNTERSEDGE_BASE_URL": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • PUNTERSEDGE_API_KEY ความลับ จำเป็น env
    PuntersEdge API key. Free tier is 3,000 credits/month with no card required — get one at https://puntersedge.online/api. The two demo tools work without a key.
  • PUNTERSEDGE_BASE_URL env
    Override the API base URL. Defaults to https://api.puntersedge.online — you should not normally set this.
  • X-API-Key ความลับ จำเป็น HTTP header
    PuntersEdge API key (Authorization: Bearer also works). Free tier is 3,000 credits/month with no card required: https://puntersedge.online/api

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 7 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน

  • odds_board

    The next races to run with EVERY bookmaker's current win and place price for every runner, as a compact matrix: each race lists its bookmakers (with the age of each book's quote) and each runner carries price arrays in that order. The fastest way to see the whole live market. For

  • race_odds

    One upcoming race in full: every runner with every bookmaker's win, place and (where offered) top 2/3/4 price, each book's quote age, scratchings and race conditions. Give the venue plus race_number or race_id; with only a venue you get that venue's next race. The call is billed

  • race_markets

    Every bookmaker's prices for one race across win, place and top 2/3/4, plus exotic dividends once settled. Live prices before the jump, each book's closing price after it. Give race_id, or venue + meeting_date + race_number. Costs 2 credits. Plan: Plus and above.

  • race_card

    Upcoming races without prices: race_id, venue, race number, start time, distance, track condition, status, runners and scratchings. The cheapest way to find race_ids for the other tools. Costs 1 credit. Every plan.

  • best_odds

    The best available win and place price for every runner in upcoming races and which bookmaker has it, after PuntersEdge's guards (books pricing under 100%, quotes read before a scratching and placeholder prices never win). Also how many books quote each runner, the best-vs-worst

  • odds_changes

    Only the racing prices that moved since your last call, so an agent or pipeline can follow the whole market cheaply. First call: omit cursor (covers the last 60 seconds). Every reply has next_cursor; pass it back as cursor on the next call, within 30 minutes. Delivery is at-least

  • market_movers

    Runners whose price has moved across several bookmakers since they opened (steam and drift), with the consensus open and current price and how many books confirm the move. Costs 3 credits. Every plan.

  • price_history

    Every bookmaker's price path for each runner in one race: open, close, high and low, and optionally the time series. Give race_id, or venue + race_number + date. Costs 5 credits. Plan: Every plan for races in the last 24 hours; Standard and above for older races.

  • consensus_price

    Each runner's consensus probability and fair price for one race, built by removing every bookmaker's margin and combining the books, with the books included and excluded and why. Costs 3 credits. Every plan.

  • race_intelligence

    A one-race market read: consensus at each mark, how the market has moved, which books lead or lag, and the signals PuntersEdge derives from them. Costs 3 credits. Every plan.

  • market_summary

    Per-runner market summary for past races: opening and closing consensus, the move between them and its signal class (strong_firm, firm, steady, drift, strong_drift). Costs 5 credits. Plan: Standard and above (last 90 days); Plus and above for the full archive.

  • race_results

    Settled results: placings with settled prices, starting prices where published, and dividends. Use date for a past day or hours_back for the latest. Costs 2 credits. Every plan.

  • us_tote

    TVG's live tote odds for US and Canadian races: per runner the morning line and the current win odds (odds-to-1 and decimal) with the WIN pool behind them. Pari-mutuel, so a pre-race price is an estimate of what the pool will pay; settled payoffs are on race_results with country

  • closing_lines

    Each bookmaker's closing price per runner from the archive, for model building, CLV and settlement checks. Closing-only rows by default (last quote within 5 minutes of the jump). Costs 5 credits. Plan: Standard and above (last 90 days); Plus and above for the full archive.

  • evaluate_clv

    Grade up to 200 bets against the closing line: for each bet, the closing price (that book's, or the market best/median), CLV percent and P&L line. Name each race by race_id or venue + meeting_date + race_number, and each runner by runner_number or runner_name. Costs 5 credits per

  • race_form

    Recent runs and form stats for every runner in one race. Give race_id, or venue + meeting_date + race_number. Costs 3 credits. Every plan.

  • horse_form

    A thoroughbred's recent starts and statistics, by name or the pe:/ra: reference other tools return. Costs 3 credits. Every plan.

  • horse_runs

    Every run one thoroughbred has in PuntersEdge's own settled results, newest first: venue, date, distance, barrier, jockey, weight, finishing position, margin and starting price. Built from our results rather than Racing Australia, so it answers when horse_form cannot. Name the ho

  • greyhound_field

    Every dog in one greyhound race with its recent runs and record, from PuntersEdge's own results. Australian races, and British and Irish ones from 12 October 2026. Give race_id, or venue + meeting_date + race_number. Costs 3 credits. Every plan.

  • greyhound_form

    One dog's runs from PuntersEdge's own results, newest first: track, distance, box, grade, finishing position, time and margin. By name or the grv:/grsa: reference other tools return (those persist). Costs 3 credits. Every plan.

  • greyhound_stats

    One dog's starts, wins and placings grouped the way you ask: by track, distance, box or grade, or a combination such as track and distance. Costs 3 credits. Every plan.

  • jockey_stats

    Racing Australia jockey premiership tables: wins, placings, prize money and strike rate for the current or previous season (1 August to 31 July), nationally or by state and scope. Give name to find one jockey across every table. Costs 2 credits. Every plan.

  • trainer_stats

    Racing Australia trainer premiership tables, the same shape as jockey_stats. Costs 2 credits. Every plan.

  • track_conditions

    Track rating, rail, weather and every logged change for a meeting day (defaults to today). Costs 1 credit. Every plan.

  • venues

    Every venue PuntersEdge carries: venue_id, display name, physical site, country and the codes raced there. Spelling variants of one track share a venue_id, so join on it rather than on the venue string. Costs 1 credit. Every plan.

  • acceptances

    Accepted fields for upcoming Australian meetings: runners, barriers, jockeys, trainers and weights, before the markets open. Costs 2 credits. Every plan.

  • sports_list

    Every sport and league with live odds, its sport_key and how many events and bookmakers it has. Costs 1 credit. Every plan.

  • sports_odds

    Every bookmaker's head-to-head, line and total prices for a sport's upcoming events. Costs 1 credit per market requested. Every plan.

  • sports_best_odds

    The best price for each outcome of a sport's upcoming events and which bookmaker has it. Costs 3 credits. Every plan.

  • sports_movements

    How a sport's prices have moved since a time (default the last 24 hours), per bookmaker and outcome. Costs 5 credits. Plan: Standard and above.

  • sports_results

    Final scores from the league's own record for AFL, AFLW, NRL and NRLW, with event_id tying each result to the fixture you hold prices for (null when it could not be matched with certainty). Another sport is refused free of charge. Costs 1 credit. Every plan.

  • sports_closing_lines

    Each bookmaker's last head-to-head price, handicap line and total before the start of every match in a range (default the last 7 days, at most 92), with the consensus close. For CLV and model training. Costs 5 credits. Plan: Standard and above.

  • feed_health

    Live health of every bookmaker feed: seconds since its last good poll, whether it is stale or degraded. For operations teams deciding whether to trust a price right now. Costs 1 credit. Every plan.

  • account_status

    This API key's plan, credits used and remaining this month, burn rate, projected run-out date, requests-per-minute limit and the endpoints using the most credits. Call it before a large job. Free. Every plan.

  • bulk_datasets

    The downloadable Parquet/CSV datasets (closing lines, price paths, results) and which days and months exist. Files are downloaded over REST with your key, never through MCP: GET https://api.puntersedge.online/v1/bulk/{dataset}/{period} (20 credits per day file, 100 per month file

  • racing_sample

    A small live sample of the next races with a few bookmakers' win prices, to see the data before you connect a key. Free. Needs no API key.

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub Propertyscout001 ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • ✓ ผ่าน

    endpoint ตอบ

    ตอบกลับใน 2067 ms (HTTP 200)

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ไม่ต้องล็อกอิน

  • ✓ ผ่าน

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    อ่านคำอธิบายเครื่องมือ 36 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI

เทียบกับตัวอื่นในหมวด เกม กีฬา อาหาร และการเรียนi

  • ดาวมากกว่า 0% ของอีก 1290 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 73% ของอีก 1290 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 1290 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Puntersedge ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: PUNTERSEDGE_API_KEY, X-API-Key

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.6.0) เข้า registry 11 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี CareerMode.xyz, Esavendors, Datingcoaches

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

CareerMode.xyz

โดย careermode.xyz

Log and read your EA SPORTS FC / FIFA career mode save: squad, matches, transfers, stats.

รันบนคลาวด์อัปเดต วันนี้
ติดตั้ง

Esavendors

โดย itsryanarmani

Find learning vendors your education fund reimburses.

รันบนคลาวด์อัปเดต วันนี้
ติดตั้ง

Datingcoaches

โดย itsryanarmani

Compare dating coaches and matchmakers by city and price.

รันบนคลาวด์อัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

Australian Racing and Sports Odds MCP Server

A Model Context Protocol server for Australian horse racing, greyhound, harness and sports odds. Point Claude Desktop, Claude Code, Cursor, Windsurf or any MCP client at a live Australian odds feed and ask it what is racing next, what every bookmaker is paying, which runners are firming, and who won.

Racing data MCP · sports odds MCP server · horse racing MCP server · Australian odds for Claude · sports data for Cursor.

You: What's the next race at Randwick and who's favourite?

→ racing_next_to_go(num_races=3, country="AU") ← Wiesners Maiden Plate R1 — 11 runners, 8 bookmakers, data 38s old Favourite: at $2.40 (sportsbet) / $2.55 (tab) / $2.35 (neds)

15 Australian bookmakers on racing (measured 19 Oct 2026; live count at https://puntersedge.online/coverage-report.json). AU thoroughbred, greyhound and harness; NZ thoroughbred and harness; British, Irish and South African racing on smaller panels. AFL, NRL, NBA, NFL, tennis, cricket and more on sports. Free tier: 3,000 credits a month, no card.


There are two PuntersEdge MCP servers. You probably want the Python one.

Being straight about this, because the difference is large.

`puntersedge-mcp` on PyPI (Python)This repo (TypeScript)
Tools269
Credit cost stated per toolyes, all 26no
Works before you have an API keyyes — two keyless demo toolsno
Form, premierships, closing lines, track conditions, feed healthyesno
Installuvx puntersedge-mcpnpx -y github:Propertyscout001/puntersedge-mcp
Docshttps://puntersedge.online/developers/mcp-serverthis file

If you just want the odds inside your assistant, use the Python server. It is the fuller server, it is the one the documentation describes, and it will show you live prices before you sign up for anything.

This TypeScript server is a smaller, dependency-light implementation of the five core racing tools and four sports tools. It is real and it works — the install below is verified — but it is a subset.

Python server config, if you came here for that

{

"mcpServers": { "puntersedge": { "command": "uvx", "args": ["puntersedge-mcp"], "env": { "PUNTERSEDGE_API_KEY": "your_key_here" } } } }

Full instructions: https://puntersedge.online/developers/mcp-server?utm_source=github&utm_medium=readme


Install this server

Not published to npm. There is no npm package called puntersedge-mcp — install straight from this repo, which builds itself on install:

npx -y github:Propertyscout001/puntersedge-mcp

First run clones the repo and compiles it with tsc, so it takes a while and needs git plus a working Node toolchain. Node ≥18.

Get a free API key at https://puntersedge.online/api?utm_source=github&utm_medium=readme — 3,000 credits a month, no credit card.

Claude Desktop

Edit claude_desktop_config.json, then fully quit and reopen Claude Desktop:

OSPath
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json
{

"mcpServers": { "puntersedge": { "command": "npx", "args": ["-y", "github:Propertyscout001/puntersedge-mcp"], "env": { "PUNTERSEDGE_API_KEY": "your_key_here" } } } }

Claude Code

One command, from the project directory:

claude mcp add puntersedge \

-e PUNTERSEDGE_API_KEY=your_key_here \ -- npx -y github:Propertyscout001/puntersedge-mcp

Add -s user to make it available in every project instead of just this one. Claude Code writes project servers to .mcp.json in the project root, which you can commit and edit by hand — keep the key out of it and use an environment variable if you do.

Cursor

.cursor/mcp.json for one project, ~/.cursor/mcp.json for all of them:

{

"mcpServers": { "puntersedge": { "command": "npx", "args": ["-y", "github:Propertyscout001/puntersedge-mcp"], "env": { "PUNTERSEDGE_API_KEY": "your_key_here" } } } }

Windsurf

~/.codeium/windsurf/mcp_config.json — same mcpServers shape as Cursor.

VS Code / GitHub Copilot

.vscode/mcp.json in the workspace. VS Code uses a servers key rather than mcpServers:

{

"servers": { "puntersedge": { "type": "stdio", "command": "npx", "args": ["-y", "github:Propertyscout001/puntersedge-mcp"], "env": { "PUNTERSEDGE_API_KEY": "your_key_here" } } } }

Anything else

Any host that accepts a stdio server takes the same three facts: a command, its arguments, and an env block carrying PUNTERSEDGE_API_KEY. Keep the key in the environment, not in a prompt — the server reads it once at start-up and never echoes it in a tool result.


Tools

Nine tools, all read-only. Costs are in API credits and are what the API bills for the underlying endpoint — they are not this server's invention. Figures below were read from https://api.puntersedge.online/openapi.json on 2026-09-15.

Racing
ToolWhat it returnsCost
racing_next_to_goThe next AU races about to jump, with every bookmaker's price per runner. The primary tool.2 credits
racing_best_oddsJust the best available price per runner, and which book is offering it.3 credits
racing_eventsThe upcoming schedule — venues, race numbers, jump times. No prices, so cheaper.1 credit
racing_resultsSettled results and dividends for races already run.2 credits
racing_moversRunners firming or drifting sharply across the market. min_books guards against reading one book's reprice as a market move.3 credits
Sports
ToolWhat it returnsCost
list_sportsEvery sport and sport_key currently covered. Call this first if unsure.1 credit
get_sports_oddsOdds for one sport across the bookmakers covering it.1 credit per market requested — h2h is 1, h2h,spreads,totals is 3
get_best_oddsBest price per selection for one sport.3 credits
Account
ToolWhat it returnsCost
account_usageCredits used and remaining this month.free

Every response also carries the live X-Credits-* headers through to the tool result, so an assistant can read its remaining balance without spending a call to find out. A 402 means the monthly allowance is spent — a hard stop, no overage billing — and the tool result says so rather than failing quietly.

There is no `horse-racing` sport key. Racing lives under the racing_* tools. Passing sport_key="horse-racing" to a sports tool is an error.


What an assistant can and cannot do with this

Worth being explicit, because "betting odds" and "AI agent" in one sentence invites the wrong assumption.

It can:

  • read a live odds feed — current per-bookmaker prices, the upcoming schedule, settled results, and which runners are firming or drifting
  • tell you how fresh each number is, per price, not per page
  • state what each call costs in credits before it makes it, and report the balance after

It cannot:

  • place a bet. There is no tool here that places, stakes, cancels or settles anything. Every tool is an HTTP GET against a read-only endpoint.
  • hold or use bookmaker credentials. This server has no bookmaker account, no login, no session with any bookmaker. It reads published prices. The only secret it touches is your PuntersEdge API key, read from the environment and never written to a tool result.
  • change your PuntersEdge account. Key rotation, billing and webhook registration are all deliberately left out, so a chat turn cannot rotate your credentials, change what you are billed, or register a URL that then receives your data. Those endpoints exist; reach them from application code or the dashboard, on purpose.
  • predict a result. Prices are what bookmakers published. Nothing here forecasts outcomes, rates a runner, or tells you what to back.

It will sometimes be wrong about the market, and the data says so. A stalled scraper does not error — it keeps serving its last value, which looks exactly like a live price. Every quote carries its own age_seconds and a stale flag for that reason. A large apparent edge on a market only one bookmaker is quoting is a data artefact, not an opportunity; check how many books stand behind a price before treating a gap as real.


What comes back

Racing responses carry the full market per runner:

{

"race_name": "Wiesners Maiden Plate", "race_number": 1, "venue": "...", "category": "horse", "country": "AU", "distance_m": 1200, "track_condition": "...", "weather": "...", "places_paid": 3, "data_age_seconds": 38, "stale": false, "stale_bookmakers": [], "scratchings": [], "runners": [{ "name": "...", "number": 1, "barrier": 4, "jockey": "...", "trainer": "...", "weight": 58.0, "form": "11521", "bookmakers": [ { "key": "tabtouch", "win_price": 126.0, "place_price": 12.0, "tote_win": {"PROV": 60.6}, "last_update": "2026-08-17T02:55:3...", "source_url": "https://www.tabtouch.com.au/racing/..." } ] }] }

Every response tells you its own age. data_age_seconds is race-level, each bookmaker entry carries its own last_update, and stale_bookmakers names the specific legs that have gone quiet rather than condemning the whole race. That matters when an assistant is about to state a price as fact — it can say how fresh the number is instead of implying it is live to the second.


Coverage, stated honestly

Racing: 15 Australian bookmakers (measured 19 Oct 2026) — BetRight, Sportsbet, Betr, TAB, Ladbrokes, Neds, Unibet, PointsBet, NextBet, TABtouch, Palmerbet, BetDeluxe, bet365, BetGold and BoostBet, which are 13 independent price sources (BetGold/BoostBet and Ladbrokes/Neds close at the same price on 85%+ of runners). The live count and per-book freshness are published at https://puntersedge.online/coverage-report?utm_source=github&utm_medium=readme.

Betfair and Pinnacle are not in this feed. The Betfair Exchange is ingested but its prices are withheld from customer responses pending a Betfair data licence, so it is not counted above and you will never see a Betfair price through this server. If you need exchange prices, this is not the feed for you.

Bookmaker keys in the API are not always the brand: NextBet is returned as playup, its name before rebranding. Filter on the key, not the display name.

Near the jump, coverage is broad and fairly even. In an earlier measurement, before bet365 joined the panel, over 13 days of captured snapshots — 3,339 Australian races, each within 30 minutes of jumping — every one of the fourteen sources quoted between 75% and 97% of them: TABtouch 97%, PointsBet 96%, then Sportsbet, Neds, Palmerbet, Ladbrokes, BetRight, Betr and TAB all clustered at 80–82%, Unibet 79% and NextBet 75%.

Books publish markets at different times, so a race several hours out often carries only two or three prices where more appear closer to the jump. Every response names the books that actually quoted, so you can read the real depth per race rather than trusting an average.

Sports: fewer again. On 19 Oct 2026 a quoted fixture averaged between 1 and 5 bookmakers depending on the sport, and on some competitions it is usually 1; the live per-sport figures are at https://puntersedge.online/api/coverage. That is a connector-coverage limit, not an outage. Racing is where this feed is strongest, and the tools say so rather than implying a uniform market.

Pass country=AU for racing (GB,IE for Britain and Ireland, ZA for South Africa — the code

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx