---
title: "m4t.tf developers | Matt Fehrenbach"
description: "The machine-readable interface of m4t.tf: retrieval, errors, versioning, rate limits, and the MCP server."
canonical: https://m4t.tf/developers
---

[![](/favicon.png)](/)

[](/cv "CV")

![](https://cdn.m4t.tf/about/about-bg-hexagons.webp)![](https://cdn.m4t.tf/about/about-bg-chevrons.webp)![](https://cdn.m4t.tf/about/about-bg-zigzag.webp)![](https://cdn.m4t.tf/about/about-bg-table-pedestal.webp)![](https://cdn.m4t.tf/about/about-bg-table-top.webp)![](https://cdn.m4t.tf/about/about-bg-arrows.webp)

m4t.tf developers
=================

Scroll down

m4t.tf is machine-readable. Every page is served as HTML or markdown, and every resource below is an unauthenticated GET — there are no API keys. An MCP server is also published at [/mcp](/mcp).

Resources
---------

*   [/.well-known/agent-skills/index.json](/.well-known/agent-skills/index.json) — application/json — Agent Skills index
*   [/.well-known/ai-catalog.json](/.well-known/ai-catalog.json) — application/json — AI catalog
*   [/.well-known/api-catalog](/.well-known/api-catalog) — application/linkset+json — API catalog
*   [/.well-known/ard.json](/.well-known/ard.json) — application/ard+json — ARD catalogue
*   [/api/llms.txt](/api/llms.txt) — text/plain — API section guide
*   [/blog/llms.txt](/blog/llms.txt) — text/plain — Blog section guide
*   [/cv/llms.txt](/cv/llms.txt) — text/plain — CV section guide
*   [/developers/llms.txt](/developers/llms.txt) — text/plain — Developers section guide
*   [/llms-full.txt](/llms-full.txt) — text/plain — Full content archive
*   [/llms.txt](/llms.txt) — text/plain — Agent site guide
*   [/openapi.json](/openapi.json) — application/vnd.oai.openapi+json — OpenAPI document
*   [/robots.txt](/robots.txt) — text/plain — Robots exclusion policy
*   [/rss.xml](/rss.xml) — application/rss+xml — Blog RSS feed
*   [/schemamap.xml](/schemamap.xml) — application/xml — Schema map
*   [/server.json](/server.json) — application/json — MCP registry manifest
*   [/sitemap.xml](/sitemap.xml) — application/xml — Sitemap

Resources
---------

*   [/.well-known/agent-skills/index.json](/.well-known/agent-skills/index.json) — application/json — Agent Skills index
*   [/.well-known/ai-catalog.json](/.well-known/ai-catalog.json) — application/json — AI catalog
*   [/.well-known/api-catalog](/.well-known/api-catalog) — application/linkset+json — API catalog
*   [/.well-known/ard.json](/.well-known/ard.json) — application/ard+json — ARD catalogue
*   [/api/llms.txt](/api/llms.txt) — text/plain — API section guide
*   [/blog/llms.txt](/blog/llms.txt) — text/plain — Blog section guide
*   [/cv/llms.txt](/cv/llms.txt) — text/plain — CV section guide
*   [/developers/llms.txt](/developers/llms.txt) — text/plain — Developers section guide
*   [/llms-full.txt](/llms-full.txt) — text/plain — Full content archive
*   [/llms.txt](/llms.txt) — text/plain — Agent site guide
*   [/openapi.json](/openapi.json) — application/vnd.oai.openapi+json — OpenAPI document
*   [/robots.txt](/robots.txt) — text/plain — Robots exclusion policy
*   [/rss.xml](/rss.xml) — application/rss+xml — Blog RSS feed
*   [/schemamap.xml](/schemamap.xml) — application/xml — Schema map
*   [/server.json](/server.json) — application/json — MCP registry manifest
*   [/sitemap.xml](/sitemap.xml) — application/xml — Sitemap

Rate limits
-----------

Every page and resource is unmetered. `POST /ask` and the `ask` tool on `POST /mcp` are metered at `20` requests per minute per client and return `429 Too Many Requests` with `Retry-After` once past it. Metered responses carry `RateLimit`, `RateLimit-Policy`, `RateLimit-Limit`, `RateLimit-Remaining`, and `RateLimit-Reset` headers; a `429` adds `Retry-After`.

Errors
------

Failures follow your `Accept` header as `application/problem+json`, markdown, or HTML, and carry a stable `code` and `resolution`.

Versioning
----------

Send `API-Version` to declare the compatibility version you expect; the current version is `1`. Deprecated resources carry `Deprecation` and `Sunset` headers until they retire.

The OpenAPI 3.1 document at [/openapi.json](/openapi.json) describes the whole interface, and [/llms.txt](/llms.txt) indexes everything the site publishes.

Explore[Blog](/blog)[Photography](/photography)[Graphics](/graphics)[Music](/music)[Vignettes](/vignettes)

Site[About](/about)[Contact](/contact)[Privacy](/privacy)

Resources[Developers](/developers)

Back to top