# hehrmann.com ยท developers > How to read hehrmann.com by machine: MCP server, REST endpoints, Markdown for every page, RFC 9457 errors, rate limits, versioning. No authentication anywhere; everything is read-only. ## Docs - [Developer guide](https://hehrmann.com/developers/): endpoints, errors, rate limits, versioning and deprecation policy - [Developer guide as Markdown](https://hehrmann.com/developers/index.md): the same page for agents - [Access model (auth.md)](https://hehrmann.com/auth.md): why there is no registration, token, or OAuth metadata - [Site guide (llms.txt)](https://hehrmann.com/llms.txt): who Erik Hehrmann is and when to use the site ## MCP - [MCP endpoint](https://hehrmann.com/mcp): Streamable HTTP, POST JSON-RPC 2.0; tools list_pages (optional section), get_page (path), search_site (query, limit), contact_instructions (optional purpose) - [Server card](https://hehrmann.com/.well-known/mcp/server-card.json): name, tools with schemas, protocol versions, icon - [Agent skills index](https://hehrmann.com/.well-known/agent-skills/index.json): use-hehrmann-com, contact-erik-hehrmann - [Skills and plugin manifest on GitHub](https://github.com/ehehrmann/hehrmann-agent-skills): `npx skills add ehehrmann/hehrmann-agent-skills` ## REST - [OpenAPI 3.1](https://hehrmann.com/api/openapi.json): every endpoint, response schema, and problem type - [API catalog (RFC 9727)](https://hehrmann.com/.well-known/api-catalog): linkset naming the content API and the MCP server - [Capability manifest (ARD)](https://hehrmann.com/.well-known/ai-catalog.json) - [Health](https://hehrmann.com/api/health): liveness, JSON ## Content - [Every page in one file](https://hehrmann.com/llms-full.txt) - [Pricing as Markdown](https://hehrmann.com/pricing.md): the seven engagements with fees - [Site map](https://hehrmann.com/sitemap.xml) - Any page URL returns Markdown for `Accept: text/markdown`, for `?mode=agent`, with `index.md` appended, or with `.md` appended (`/services.md`); each Markdown document opens with title, description, canonical, last-updated frontmatter - Machine documents take `.md` too: [/api/openapi.json.md](https://hehrmann.com/api/openapi.json.md), [/api/health.md](https://hehrmann.com/api/health.md), [/.well-known/api-catalog.md](https://hehrmann.com/.well-known/api-catalog.md) - Scoped indexes: [services/llms.txt](https://hehrmann.com/services/llms.txt) for engagements and fees, [notes/llms.txt](https://hehrmann.com/notes/llms.txt) for the case studies ## Rules - Rate limit on /api/* and /mcp: 100 requests per minute per client IP, counted by the edge instance serving the connection; read `RateLimit-Policy` and `RateLimit`, treat a 429 with `Retry-After` as authoritative - Errors on the machine paths are `application/problem+json` (RFC 9457) with a stable `type` URI under https://hehrmann.com/developers/#errors - Breaking changes get a new path and 180 days of `Deprecation` and `Sunset` headers on the old one