Odel
Sports Context Protocol

Sports Context Protocol

Local
@dswaneTypeScriptMITUpdated 3mo ago

Self-learning operational context layer for AI sports agents. Profile 001: golf.

SCP Golf — Profile 001 of the Sports Context Protocol

The context, safety, and memory layer for sports agents. Golf first.

Before a sports agent acts, it checks SCP. Then SCP learns from what happened.

SCP — Sports Context Protocol — is an open context layer for AI agents operating in sports. Every sport venue has the same five things underneath: inventory, rules, actions, consequences, and memory. SCP is the standard way an agent reads those before it acts, and learns from the outcome after.

SCP Golf is Profile 001 — the first working profile. Golf is the cleanest wedge because an agent cannot safely book, price, move, or recommend anything at a course without understanding tee-sheet state, protected inventory, pricing policy, pace risk, events, and operator memory. Golf makes the problem impossible to ignore.

This repository is SCP Golf Alpha: a synthetic demo course, a local MCP server, booking and pricing safety checks, soft holds, a decision ledger, and a self-learning memory. No real course data, no integrations, no database.

Why golf agents need this

AI golf agents are coming — answering calls, booking tee times, quoting prices, moving reservations. The problem: most agents only know the conversation. They do not know the course: the tee-sheet state, the member protections, the league blocks, the pricing floor, the pace risk, the operator's preferences, and what happened the last time a similar decision was made.

SCP Golf gives them that, and then it learns.

What the alpha does

  • Models one synthetic course — Harbor Ridge Golf Club — for Saturday, June 6, 2026: a 67-slot tee sheet with member, league, and outing blocks.
  • Exposes the course as 11 MCP resources (read-only context).
  • Exposes 9 MCP tools for safe booking, pricing, soft holds, decision logging, outcome feedback, and learning insights.
  • Exposes 4 MCP prompts (reusable workflows).
  • Logs every decision to a ledger and learns from outcomes — operator overrides, pace issues, price rejections — so the next similar decision is better.

Install

npm install
npm run build
npm run typecheck
npm run test

Run

npm run dev      # runs the MCP server on stdio (tsx, no build needed)
npm start        # runs the compiled server from dist/

Test it interactively with the MCP Inspector:

npx @modelcontextprotocol/inspector npm run dev

The tools

ToolWhat it does
get_course_contextFull operating context — read this before acting.
get_available_inventoryAvailable tee times near a preferred time.
check_booking_actionIs a booking allowed, blocked, risky? Writes a decision.
check_pricing_actionIs a quoted/discounted price allowed? Writes a decision.
create_soft_holdTemporary hold on a tee time before confirmation.
write_decision_eventLog a decision directly.
submit_outcome_feedbackThe learning tool. Feed an outcome back to SCP.
get_learning_insightsWhat SCP has learned.
explain_actionExplain a result for golfer / operator / developer.

The resources

scp://course/demo and its children: context, tee-sheet, booking-policy, pricing-policy, events, weather, pace, decision-ledger, learning-memory, soft-holds.

The self-learning loop

This is the heart of SCP. It is operational learning — no model training.

  1. An agent calls a tool. SCP builds a decision fingerprint (a bucketed, deterministic description of the kind of decision).
  2. SCP checks rules and learned memory keyed on that fingerprint.
  3. SCP recommends a safe action and logs a decision event.
  4. Feedback arrives via submit_outcome_feedback.
  5. SCP scores the outcome and updates its learning memory.
  6. The next decision with a matching fingerprint is shaped by that memory.

The demo moment: ask for Saturday ~09:00, have an operator override the result once, ask again — SCP now recommends the operator's preferred time. See docs/LEARNING_LOOP.md.

Docs

Status

Alpha. Synthetic data. Booking safety first. Self-learning from decision outcomes. Not partnered with any course, not integrated with any provider, not live with any operator.

License

MIT