Open Lab is built on ATProto and the open site.standard.* lexicons, so most of it is already machine-readable. Everything below requires no API key.
For agents
- Send
Accept: text/markdownwith any page request to get the markdown variant (responses carryVary: Accept, Accept-Encoding). - Agent instructions / when-to-use: /llms.txt
- MCP server (Streamable HTTP JSON-RPC):
/.well-known/mcp— toolsget_frontpage,get_post,list_concepts.
HTTP API
Full machine-readable description in the OpenAPI spec (/openapi.json).
| GET | /api/v1/posts?limit=25 | Public JSON list of indexed posts with karma and comment counts. |
| GET | /api/v1/markdown?path=/… | Markdown variant of any site page (same as Accept: text/markdown). |
| POST | /api/v1/backfill | Index an actor's ATProto records. Body: {"actor": "handle-or-did"}. |
| POST | /api/v1/posts | Create a post (OAuth session; writes site.standard.document to your PDS). |
| POST | /api/v1/comments | Create a comment or named reaction (OAuth session). |
| POST | /api/v1/votes | Recommend a post. Karma equals the recommend count (OAuth session). |
| POST | /api/v1/subscriptions | Follow an author/publication (OAuth session). |
Other resources
- /sitemap.xml — all indexable URLs
- Lexicons:
site.standard.document,site.standard.publication,site.standard.graph.recommend,site.standard.graph.subscription(published by leaflet.pub; legacypub.leaflet.*still indexed) - Source & issues: the forum is a Next.js app porting LessWrong’s design