npm sports-context-protocolstdioMITupdated 3mo ago
The context, safety, and memory layer for sports agents. Golf first.
¿Qué puedes hacer con Sports Context Protocol?
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.
- Protocol-level spec:
docs/SCP_CORE_SPEC.md - The profile system:
docs/SCP_PROFILES.md - This profile:
docs/SCP_GOLF_PROFILE.md
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
| Tool | What it does |
|---|---|
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
docs/SCP_CORE_SPEC.md— the protocol, sport-agnostic.docs/SCP_PROFILES.md— the profile system and roadmap.docs/SCP_GOLF_PROFILE.md— Profile 001 primitive mapping.docs/SCP_GOLF_SPEC.md— golf implementation detail.docs/QUICKSTART.md— run and test locally.docs/DEMO_PROMPTS.md— 10 demo prompts.docs/LEARNING_LOOP.md— how the learning works.docs/ROADMAP.md— phases beyond the alpha.
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
Instalación
Añade Sports Context Protocol a tu cliente. Elige el que uses.
claude mcp add sports-context-protocol -- npx -y sports-context-protocolcodex mcp add sports-context-protocol -- npx -y sports-context-protocolamp mcp add sports-context-protocol -- npx -y sports-context-protocol{
"mcpServers": {
"sports-context-protocol": {
"command": "npx",
"args": [
"-y",
"sports-context-protocol"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"sports-context-protocol": {
"command": "npx",
"args": [
"-y",
"sports-context-protocol"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"sports-context-protocol","command":"npx","args":["-y","sports-context-protocol"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"sports-context-protocol": {
"command": "npx",
"args": [
"-y",
"sports-context-protocol"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"sports-context-protocol": {
"command": "npx",
"args": [
"-y",
"sports-context-protocol"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"sports-context-protocol": {
"command": "npx",
"args": [
"-y",
"sports-context-protocol"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"sports-context-protocol": {
"type": "local",
"command": "npx",
"args": [
"-y",
"sports-context-protocol"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"sports-context-protocol": {
"command": {
"path": "npx",
"args": [
"-y",
"sports-context-protocol"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y sports-context-protocolRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Puntuación
39 / 100
Incompleta
- Documentación16/25
- Mantenimiento13/25
- Confianza13/20
- Capacidad0/15
- Instalación12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 101 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Historial de versiones
| Versiones | Publicada |
|---|---|
| 0.1.2Última | 22 may 2026 |