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
npm start
Test it interactively with the MCP Inspector:
npx @modelcontextprotocol/inspector npm run dev
The tools
get_course_context | Full operating context — read this before acting. |
get_available_inventory | Available tee times near a preferred time. |
check_booking_action | Is a booking allowed, blocked, risky? Writes a decision. |
check_pricing_action | Is a quoted/discounted price allowed? Writes a decision. |
create_soft_hold | Temporary hold on a tee time before confirmation. |
write_decision_event | Log a decision directly. |
submit_outcome_feedback | The learning tool. Feed an outcome back to SCP. |
get_learning_insights | What SCP has learned. |
explain_action | Explain 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.
- An agent calls a tool. SCP builds a decision fingerprint (a bucketed,
deterministic description of the kind of decision).
- SCP checks rules and learned memory keyed on that fingerprint.
- SCP recommends a safe action and logs a decision event.
- Feedback arrives via
submit_outcome_feedback.
- SCP scores the outcome and updates its learning memory.
- 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