# Whitelabel > Cloudflare starter with a local-first authenticated workspace and server-rendered public landing pages. Whitelabel has a public site, an HTTP API described by OpenAPI, an OAuth 2.1 authorization server and a Model Context Protocol (MCP) endpoint. Every public page has a Markdown twin: append `.md` to its path, or send `Accept: text/markdown`. ## When to use Whitelabel Use it to: - Read or change the profile of the person who authorized you, through the MCP tools or the HTTP API. - Check that the deployment is reachable and which environment answered, without any credentials. - Read the public guides and documentation as Markdown instead of scraping HTML. - Try the whole OAuth 2.1 flow against a live sandbox before pointing anything at production. Not for: - Acting for a person who has not signed in and approved your client: every call is scoped to one authorized account. - Bulk or anonymous data access: there is no public dataset behind the API. ## How to call it - MCP endpoint: https://whitelabel.krasnoperov.me/mcp (Streamable HTTP). Server card: https://whitelabel.krasnoperov.me/mcp/server-card. Tools act on the person who authorized the token: - `get_profile`: Read the signed-in user's profile: id, email and display name. Read-only. - `health_check`: Report whether the service is reachable and which environment answered. Read-only. - `update_profile`: Change the signed-in user's display name. - HTTP API: OpenAPI 3.1 at https://whitelabel.krasnoperov.me/openapi.json, index at https://whitelabel.krasnoperov.me/api. No token is needed for https://whitelabel.krasnoperov.me/api/health. - Authorization: OAuth 2.1 authorization code with PKCE. Metadata: https://whitelabel.krasnoperov.me/.well-known/oauth-authorization-server. Register a client at https://whitelabel.krasnoperov.me/api/oauth/register (open, immediate, no sales contact) or present a Client ID Metadata Document. Scopes: openid, profile, email, read, write. - Sandbox: https://whitelabel-stage.krasnoperov.me runs the same code against its own data. Register clients and test there first. - Versioning: by date, current 2026-09-10; send `API-Version: 2026-09-10` to pin, omit it for the current version. Every /api response names the version that answered. - Rate limits: 1200 requests per minute per address for the API, tighter on the OAuth endpoints; every /api response carries RateLimit-Policy, a refusal is 429 with Retry-After. - Errors: JSON with `error` and, when there is more to say, `error_description`. Unknown paths answer 404 with a Markdown body that says where to look next. ## Documentation - [Whitelabel](https://whitelabel.krasnoperov.me/index.md): Cloudflare starter with a local-first authenticated workspace and server-rendered public landing pages. - [About Whitelabel](https://whitelabel.krasnoperov.me/about.md): What this service is, who runs it, and how it treats the people who use it. - [Contact](https://whitelabel.krasnoperov.me/contact.md): How to reach the people behind the service, report a security issue, or ask about your data. - [Privacy](https://whitelabel.krasnoperov.me/privacy.md): What the service stores about you, where it lives, how long it is kept, and how to remove it. - [Developers](https://whitelabel.krasnoperov.me/developers.md): The HTTP API, the MCP endpoint and the OAuth 2.1 authorization server: how to discover, authorize and call them. ## Guides - [Guides](https://whitelabel.krasnoperov.me/guides.md): Independent landing pages and starter guides, published from markdown. - [Local-First Workspace](https://whitelabel.krasnoperov.me/guides/local-first-workspace.md): Start with on-device drafts and optional sync so the product remains useful before backend complexity arrives. - [Public Content System](https://whitelabel.krasnoperov.me/guides/public-content-system.md): Publish SSR-friendly guides and landing pages without coupling them to the authenticated app shell. - [Deployment Prerequisites](https://whitelabel.krasnoperov.me/guides/deployment-prerequisites.md): Create Cloudflare resources, secrets, and domains in the right order before the first deploy. - [Customization Checklist](https://whitelabel.krasnoperov.me/guides/customization-checklist.md): Track the project-specific values you must replace before calling the starter production-ready. ## Optional - [Everything in one file](https://whitelabel.krasnoperov.me/llms-full.txt): every public page, concatenated. - [Sitemap](https://whitelabel.krasnoperov.me/sitemap.xml): every public page with the date it last changed. - [API catalog](https://whitelabel.krasnoperov.me/.well-known/api-catalog): RFC 9727 links from the API and the MCP endpoint to their descriptions and OAuth metadata.