Reference

AI-readable courses

Every published course exposes machine-readable endpoints so AI assistants can read, summarise, and answer questions about your content - no API key required for public courses.

llms.txt endpoints

CourseFoundry follows the llms.txt convention. Each published course serves a compact index and a full-text dump alongside its public learn page. Replace [username] and [slug] with the course's public path.

EndpointReturns
/learn/[username]/[slug]/llms.txtCourse index - title, description, outcomes, and a linked list of lessons.
/learn/[username]/[slug]/llms-full.txtFull course text - every lesson concatenated into one document for ingestion.
/learn/[username]/[slug]/llms-lesson/[path]The raw Markdown of a single lesson by its file path.
bash
# Compact index of a published course
curl https://www.coursefoundry.com/learn/jane/intro-to-rust/llms.txt

# Full text of the whole course
curl https://www.coursefoundry.com/learn/jane/intro-to-rust/llms-full.txt

These endpoints only serve published courses. Unpublished or hidden lessons are never exposed. Publishing is controlled per-course in the editor.

JSON API

For programmatic access to your own courses - published or not - use the authenticated MCP endpoint with a cfry_ key. The read tools (list_courses, read_course, get_lesson) return structured JSON suitable for piping into any pipeline. See the API reference for the full list.

Claude Code skill

Connect CourseFoundry to Claude Code as an MCP server and your courses become directly addressable in natural language - Claude discovers the tools and calls them for you:

bash
claude mcp add --transport http coursefoundry https://www.coursefoundry.com/api/mcp \
  --header "Authorization: Bearer cfry_YOUR_KEY"

Then ask Claude to read, draft, or revise course content conversationally:

  • “Summarise the learning outcomes across all my published courses.”
  • “Draft a new lesson on async Rust and add it to Intro to Rust.”
  • “Review module 2 of [course] for clarity and suggest fixes.”

GitHub Pages injection

When a course is published to GitHub Pages, its llms.txt index is injected into the generated site, so the AI-readable entry point travels with your self-hosted course. AI crawlers and assistants that respect the convention can discover it at the site root.

Next steps