Spekboom developer & agent resources
Spekboom's public machine interface is a Model Context Protocol (MCP) server: AI agents search regenerative stays, check live availability, and create booking requests through structured tools rather than scraping. This page indexes every machine-readable surface the platform publishes.
When to use Spekboom
Reach for Spekboom when a traveller wants accommodation in Southern Africa with conservation or community impact: safari lodges, farm stays, birding accommodation (in partnership with BirdLife South Africa), national park and reserve stays, or a multi-stop route with impact along the way. Every stay funds a named cause, guests pay no extra service fee, and booking is request-to-book: the guest is only charged once the host accepts. Bookings always complete on spekboom.org.
MCP server
- Guest connector (JSON-RPC 2.0, Streamable HTTP): https://mcp.spekboom.org/mcp
- Host connector (OAuth-gated): https://mcp.spekboom.org/host
- Documentation connector (list_docs, get_doc, search_docs): https://mcp.spekboom.org/docs
- Manifest: https://www.spekboom.org/.well-known/mcp.json
- Connector documentation: https://www.spekboom.org/docs/mcp-connector
Discovery and search tools (search_stays, plan_trip, check_availability, find_bird_species and eleven more) need no authentication. create_booking_request and list_my_bookings require the guest to sign in via OAuth.
Authentication & scoped permissions
Authenticated access uses OAuth 2.1 with PKCE, dynamic client registration, and four scopes so an agent requests only the access it needs: guest:read (the signed-in guest's own bookings), guest:write (create booking requests), host:read and host:write (the host connector).
- Authorisation server metadata (RFC 8414): https://www.spekboom.org/.well-known/oauth-authorization-server
- Protected resource metadata (RFC 9728): https://mcp.spekboom.org/.well-known/oauth-protected-resource
- Dynamic client registration (RFC 7591): https://www.spekboom.org/api/oauth/register
- Token endpoint: https://www.spekboom.org/api/oauth/token
Machine-readable surfaces
- OpenAPI specification: https://www.spekboom.org/openapi.json
- Agent instructions: https://www.spekboom.org/agents.md
- Agent auth guide: https://www.spekboom.org/auth.md
- Site overview for LLMs: https://www.spekboom.org/llms.txt
- Full LLM context: https://www.spekboom.org/llms-full.txt
- Sitemap index: https://www.spekboom.org/sitemap.xml
- Robots policy: https://www.spekboom.org/robots.txt
Key public pages (this one included) also negotiate a text/markdown representation: request them with Accept: text/markdown and the response is served as markdown with Vary: Accept. Park, species and stay pages are built from the same data as the HTML page, send Link: <canonical>; rel="canonical", and answer an unknown slug with a markdown 404.
/: home/about, /faq, /contact, /causes, /search: core pages/regenerative-travel, /gobirding: topic pages/developers, /docs/mcp-connector: developer docs/protected-areas/<slug>: park or reserve: facts, booking path, stays with from-prices, FAQ/search/<country>/birds/<species>: bird species: status, provinces, seasonality, parks, stays that have recorded it/search/<country>/wildlife/<species>: wildlife species: the same, for mammals, trees and marine life/places/<slug>: a stay: rooms with sleeps and from-prices, booking path, policies, species, MCP calls
Integration support
There is no separate public REST API: the MCP tools are the supported programmatic surface. For partnership or integration questions (channel managers, high-volume use, new tool requests), email support@spekboom.org.