Server name
sanjibani/foreup-mcp
Repository
https://github.com/sanjibani/foreup-mcp
Description
First MCP server for foreUP - the leading cloud-based golf course management platform for public and semi-private courses (tee sheet, POS, online booking). 13 tools: search tee times, list/create/cancel bookings, search customers, list price classes / seasons / time frames. JWT auth via POST /auth/login (username + password). JSON:API spec compliant. 30 tests, ruff + mypy --strict clean. isError-compliance (Blackwell audit pattern), JSONL audit logging per tool call, typed exception hierarchy (AuthError / NotFoundError / RateLimitError / APIError / ConnectionError), application-level retry with exponential backoff honoring Retry-After, shared httpx.AsyncClient with connection pooling + 3 transport retries. py.typed marker (PEP 561).
Tools exposed
13
Connection info
- Installation: see repo README
- Transport: stdio (default)
- Auth: env vars (FOREUP_USERNAME (required unless FOREUP_TOKEN is set) + FOREUP_PASSWORD (required unless FOREUP_TOKEN is set) + FOREUP_TOKEN (optional, pre-minted JWT) + FOREUP_BASE_URL (optional override, defaults to https://api.foreupgolf.com) + FOREUP_AUDIT_LOG (optional JSONL audit log file path; else stderr))
Self-check
Server name
sanjibani/foreup-mcp
Repository
https://github.com/sanjibani/foreup-mcp
Description
First MCP server for foreUP - the leading cloud-based golf course management platform for public and semi-private courses (tee sheet, POS, online booking). 13 tools: search tee times, list/create/cancel bookings, search customers, list price classes / seasons / time frames. JWT auth via POST /auth/login (username + password). JSON:API spec compliant. 30 tests, ruff + mypy --strict clean. isError-compliance (Blackwell audit pattern), JSONL audit logging per tool call, typed exception hierarchy (AuthError / NotFoundError / RateLimitError / APIError / ConnectionError), application-level retry with exponential backoff honoring Retry-After, shared httpx.AsyncClient with connection pooling + 3 transport retries. py.typed marker (PEP 561).
Tools exposed
13
Connection info
Self-check