Learn and build with the agent you already use
No need to work through a course in a fixed order. Right in the conversation, your agent finds and reads lessons, builds a course just for you, applies 200Lab lessons and skills to the project you are working on, then presents the result as an HTML page, flash cards or slides.
You confirm with your 200Lab account right inside the agent. Nothing else to install on the web.
- Claude App
- Claude Code
- Codex CLI
- ChatGPT App
I want to understand how an agent calls tools. Which lesson should I start with?
- Agent Loop: act, observe, then move on
- From tool request to real action
- Wrap an internal API as a tool and run one agent loop
- Which jobs really need an LLM?
- The agent called the wrong tool: retrace the run and find the break
The Agent Loop lesson is the best place to start. Its key points:
- Each turn, the model picks one step to take, and sometimes that step is a tool call.
- Your harness runs that step and hands what it observed back to the model.
- Only after observing does the agent decide whether to continue or stop.
Once you finish it, move on to From tool request to real action, then do the lab that wraps an API as a tool. I'll work through it with you.
AI Tutor
AI Tutor builds a course just for you
Tell it your goal. The agent asks a few questions, then lays out a roadmap from actual 200Lab lessons. Where 200Lab has no lesson yet, the agent says whether it wrote that part itself or it comes from an outside source, and never mixes the two.
Answer three questions
The agent reads the
ai_tutorrules, then asks one question at a time: what you want to be able to do, what you already know, and how many hours a week you can study.The agent gets the knowledge map
One call to
ai_tutor_recommendreturns the 200Lab courses and lessons that fit you, along with the topics the catalog does not cover yet.A roadmap that fits your hours
Foundations come first. For a course you do not own yet, you start with its free preview lesson. Reading lessons, labs, challenges and kits all have their place; every step is labelled 200Lab, agent-written or external, and saved as a markdown file on your machine.
Learn step by step, right in the chat
The agent reads each lesson with
getand teaches it through your own project. When a lesson has a kit, the agent gets the link withget_artifact_download_url, downloads it and runs it with you. Ask about your progress and the agent openslearning_dashboard: your study streak, your weekly goal and the lesson to take next. When you finish reading, you mark the lesson complete in the learning app.
Help me build a roadmap so I can write my own agent in Go.
What do you want to be able to do when you finish?
A Go agent that can call my company's internal APIs.
Which languages or tools do you already know, and how well?
Basic Go, I've written REST APIs, never touched LLMs.
About how many hours a week can you spend studying?
Around 6 hours.
- Free preview: Before you start building an agent
- Agent Loop and From tool request to real action
- Wrap an internal API as a tool and run one agent loop
- The agent called the wrong tool: retrace the run and find the break
- Write an agent loop in Go for your company's API
- MCP specification: tools and transports
Week 1 has 2 reading lessons, 1 lab and 1 challenge from 200Lab, 1 part I wrote for you and 1 outside resource, exactly 6 hours. I've saved it to roadmap.md in your folder. Shall we start with the free preview lesson?
Apply
Bring 200Lab lessons into the project you are working on
Describe the problem you are stuck on. The agent finds the 200Lab lessons that solve exactly that and applies them straight to your code. Every answer says which lesson it comes from.
Describe the problem you are stuck on
The agent reads the
ai_tutorrules and, if needed, asks you at most one question about your stack or context.The agent finds the right lesson
One call to
ai_tutor_recommendwith your actual problem returns the best-matching 200Lab lessons. For a lesson in a course you do not own, the agent says so and links to the course.Applied to your code
The agent reads the whole lesson with
get, then applies it to the code you have open. Every answer states its source.
My payment service charges customers twice when it retries after a timeout. Does 200Lab have a lesson that handles exactly this?
- An idempotency key lets you retry without charging the customer twice
- A database write and an external service call never share one transaction
- Keep the payment state right when the gateway times out or a webhook arrives twice or early
- After a timeout or a crash, did the command sent to the external service run?
The bug is in chargeCustomer: when http.Client times out, the code resends the same request, so the gateway sees two different charges. Following An idempotency key lets you retry without charging the customer twice:
- Generate an idempotency key from
orderIdwhen the charge is created and send it as a header on every attempt. - Store the key and its result in the
payment_attemptstable before calling the gateway; retry only when the key has no result yet. - A timeout does not mean failure: query the status by key before retrying. Lesson 12 covers this in depth.
Shall I write the patch for charge.go following this lesson? After that, read A database write and an external service call never share one transaction so the confirmation email never gets lost.
200Lab skills
200Lab skills for the work in front of you
When you design, build, review, debug or harden part of your project, the agent finds the 200Lab skill for that kind of work and follows the way 200Lab grades it: which criteria must pass, what to verify before calling it done, which lessons back it up. When the work is done, the agent presents the result the way you choose.
Say what you are working on
Designing, building, reviewing, debugging or hardening part of your project: an agent harness, the architecture of a system or a feature, backend code facing timeouts and retries, a bug with no clear cause, or practising a technical interview round.
The agent finds the 200Lab skill
skill_findfinds the 200Lab skill for that kind of work, andskill_getreads how 200Lab grades it: which criteria must pass and what to verify before calling it done.Follow the skill on your code
The agent finds the related lessons with
ai_tutor_recommend, reads them withget, then grades each criterion with evidence from your code and names the lesson behind it.Choose how to see it
When the result is long, the agent asks how you want to see it: an interactive HTML page, slides for presenting, flash cards for revision, or a page that animates how a mechanism works. The review page filters by status, and opening an item shows the evidence, the fix and the 200Lab lesson behind it. The file lands in your folder, or as an artifact right in the chat.
Review the harness of the customer support agent in this repo against the Agent Harness Foundations course before it goes to production.
- Valid is not the same as permitted
- Guardrails are in place, but is the action really blocked?
- Allowed to run does not mean allowed to touch everything
- The demo works, but is the agent stable?
Following 200Lab's Agent harness skill, I checked your repo criterion by criterion:
- Pass: every loop turn hands the tool result back to the model before moving on (
agent/loop.go). - Fail: the
refund_ordertool runs as soon as the model asks, with no permission check before the refund (tools/refund.go). - Fail: there is no eval set that replays failed runs, so you cannot tell yet whether the agent is stable.
Fix refund_order first; the lesson Valid is not the same as permitted covers exactly this.
This report is fairly long. How would you like me to present it?
- Interactive HTML page(selected)
- Slides for your team
- Flash cards to revise
- Keep it in the chat
Interactive HTML page
I've saved docs/200lab/harness-review.html in your folder; open it in a browser: filter by status and open each item to see the evidence, the fix and the 200Lab lesson.
Harness review against Agent Harness Foundations
refund_orderrefunds without a permission checktools/refund.go- No eval set that replays failed runs
A few 200Lab skills
- Agent harnessDesign, build or review the harness of an AI agent: loop, tools, guardrails, state, evals and traces.
- System designDesign and scale the architecture of a system or a feature: load estimates, choosing a database, queues, caches, when to shard.
- Backend reliability reviewCheck running backend code against timeouts, retries, duplicate processing, races, database locks and crashes halfway through.
- Systematic debuggingFind and prove the cause of a bug, a failing test or a flaky error, then fix it at the root with a regression test.
- Mock interviewA mock technical interview, round by round, with follow-up questions like a real interviewer and scoring against a rubric.
- Diagram DirectorDraw animated system design diagrams you can open and watch in a browser.
These are just a few highlights. For the full list, ask your agent "What skills does 200Lab have?" and it lists every skill with a one-line description.
Diagram Director
System design diagrams that move
The Diagram Director skill helps your agent turn your design into a self-running HTML/SVG file: packets travel along the paths, queues fill up, bottlenecks change colour. Nothing to install: open the file in a browser and watch.
How the agent works
- Solve the problem firstThe agent asks the questions that change the architecture (load, guarantees, constraints) and settles the design with you before drawing anything.
- StoryboardThe story is split into scenes, one idea each; every caption has to match the agreed design.
- DrawThe agent builds the nodes, arrows, labels and motion in a single file.
- Check before handing overThe agent opens the file, replays every scene and checks every number and label against the design before giving it to you.
What the agent can draw
- The life of a request, from the browser to the database and back
- Event-driven pipelines: publish, fan-out, retry, dead letter queue
- A scaling story, one architecture step at a time
- Two designs for the same problem, side by side
Free kit for agents with a terminal
With Claude Code, Codex or Cursor, the agent downloads the free diagram-director-kit through 200Lab MCP and runs it right on your machine; all it needs is Python 3. In chat apps like Claude App or ChatGPT, the agent follows the skill's lighter method, no kit needed.
Why AI-native
The courses are the same. The way you learn has changed AI-native pioneer
200Lab is a pioneer in bringing AI-native learning to programming courses: all of its content is open to your agent through MCP. 200Lab content is written and reviewed by agents and experienced mentors together. The difference is that you no longer juggle videos, browser tabs and Q&A groups: the agent you already use reads the whole lesson, teaches it through your own project and builds a roadmap for exactly one person.
How you learn
Watch videos in a fixed orderWatch videos, sometimes with a chatbot giving generic answers in a web tabThe agent reads the whole lesson, then teaches it through the project you are working onRoadmap
One roadmap for everyoneCatalog suggestions that do not know who you areBuilt around your goal, your background and the hours you have; the agent writes or finds what is missingWhen you get stuck
Post in a group and wait for an answerThe chatbot cannot see your codeAsk right in your agent, which already has both the lesson and your codeWhere you learn
Open the course tab and leave what you were doingStill a separate web tabRight in the Claude, Codex or ChatGPT you already have openMaterials
PDFs and slides you download and forgetDownload and forgetLessons, kits and download links through your agent, with the source stated on every lesson
You still learn 200Lab's lessons. Now there is a tutor sitting next to you who knows what you are working on.
Setup
Connect in a few minutes
All four options confirm through OAuth: the client opens a browser and you approve with your 200Lab account. You never paste a password into your agent.
Add it on claude.ai or in Claude Desktop.
- Open Settings and go to Connectors.
- Choose Add custom connector.
- Paste this address into the URL field and give it any name:
https://mcp.200lab.io/mcp/learner - Sign in and approve access with your 200Lab account.
Add custom connector
Run it in your machine's terminal.
- Add the server:
claude mcp add --transport http 200lab-ai-tutor \ https://mcp.200lab.io/mcp/learner - Open Claude Code, type
/mcp, choose 200lab-ai-tutor, then approve the sign-in in the browser that opens.
$ claude mcp add --transport http 200lab-ai-tutor \ https://mcp.200lab.io/mcp/learner $ claude > /mcp
Run it in your machine's terminal.
- Add the server:
codex mcp add 200lab-ai-tutor \ --url https://mcp.200lab.io/mcp/learner - Sign in, then approve in the browser that opens:
codex mcp login 200lab-ai-tutor
$ codex mcp add 200lab-ai-tutor \ --url https://mcp.200lab.io/mcp/learner $ codex mcp login 200lab-ai-tutor
Codex in the ChatGPT app on your computer.
- Open Settings, go to MCP servers and choose Add server.
- Name it
200lab-ai-tutor, choose Streamable HTTP, then paste this address into the URL field:https://mcp.200lab.io/mcp/learner - Press Save, then choose Restart.
- Choose Authenticate and sign in with your 200Lab account.
Add server
Grant access
Review the details below before you approve.
The app Claude wants to access your account with learner rights.
The client opens this page for you. If you are already signed in to 200Lab in your browser, just press Approve.
Once you approve, the agent can
- Search courses, learning paths, posts and lessons
- Read whole lessons in the courses you own and the free lessons
- Find and read the 200Lab skill for the work you are doing
- See your learning progress and certificates, and get download links for the kits you own
The agent never completes a lesson for you, never buys a course, never takes a quiz and never changes your account details.
Grant access
Review the details below before you approve.
The app Claude Code wants to access your account with learner rights.
The client opens this page for you. If you are already signed in to 200Lab in your browser, just press Approve.
Once you approve, the agent can
- Search courses, learning paths, posts and lessons
- Read whole lessons in the courses you own and the free lessons
- Find and read the 200Lab skill for the work you are doing
- See your learning progress and certificates, and get download links for the kits you own
The agent never completes a lesson for you, never buys a course, never takes a quiz and never changes your account details.
Grant access
Review the details below before you approve.
The app Codex wants to access your account with learner rights.
The client opens this page for you. If you are already signed in to 200Lab in your browser, just press Approve.
Once you approve, the agent can
- Search courses, learning paths, posts and lessons
- Read whole lessons in the courses you own and the free lessons
- Find and read the 200Lab skill for the work you are doing
- See your learning progress and certificates, and get download links for the kits you own
The agent never completes a lesson for you, never buys a course, never takes a quiz and never changes your account details.
Grant access
Review the details below before you approve.
The app ChatGPT wants to access your account with learner rights.
The client opens this page for you. If you are already signed in to 200Lab in your browser, just press Approve.
Once you approve, the agent can
- Search courses, learning paths, posts and lessons
- Read whole lessons in the courses you own and the free lessons
- Find and read the 200Lab skill for the work you are doing
- See your learning progress and certificates, and get download links for the kits you own
The agent never completes a lesson for you, never buys a course, never takes a quiz and never changes your account details.
Every lesson the agent reads carries its 200Lab source and states that it was issued to you.
Get started
Connect your agent to 200Lab
Add the server, confirm once, then ask your agent which lesson to take next, describe the problem you are stuck on, or tell it what you are working on in your project.
You confirm with your 200Lab account right inside the agent. Nothing else to install on the web.
FAQ
Frequently asked questions
Does 200Lab MCP cost anything?
No. All you need is a 200Lab account. The agent can read exactly what that account can read.
Can the agent read lessons in a course I have not bought?
No. The agent can read free lessons, course pages and public blog posts. Lessons inside a course open only when your account owns that course, exactly as when you study on the web.
I already own a course. How does the agent help me study it?
Name the course or the lesson you are on, and the agent reads it with you and explains it using your own code. When a lesson has a kit, the agent gets the download link, then runs it and works through the exercises with you. Ask about your progress and the agent shows your study streak, your weekly goal and the lesson to take next. Quizzes and completing lessons happen in the 200Lab learning app.
What is a 200Lab skill?
A guide 200Lab writes for agents about one kind of work: designing or reviewing an agent harness, designing and scaling an architecture, checking a backend against timeouts and retries, finding the cause of a bug, running a mock technical interview, or drawing animated system design diagrams. When you do that kind of work, the agent finds the right skill on its own, follows 200Lab's criteria and verification steps, and points to the related lessons. For the full list, ask your agent "What skills does 200Lab have?". There is nothing extra to install; only Diagram Director adds a free kit for agents that have a terminal.
Can the agent present the result as HTML, flash cards or slides?
Yes. After a roadmap, course advice, a plan for your project or a review, the agent asks how you want to see it: an interactive HTML page, flash cards for revision, slides for presenting, or a page that animates how a mechanism works. The result is saved as a file in your folder or as an artifact in the chat, depending on your client. You can also keep everything in the chat.
Which projects does 200Lab MCP support?
200Lab MCP is for learning and for building lawful projects. The agent does not help with attacking other people's systems, gambling, fraud or content that breaks Vietnamese law. Securing your own systems is fine: hardening, secure code review or testing in your own lab.
Where does my data go?
Your agent calls 200Lab directly to fetch content. 200Lab does not receive your chat history, only the content of each tool call, such as the keywords you search or the lesson you open, along with the name of your client and the model name when the agent provides it. The conversation stays with your client, under that client provider's policy.
How do I disconnect?
In Claude App, remove the connector under Settings, Connectors. In Claude Code, run claude mcp remove 200lab-ai-tutor. Codex CLI and ChatGPT App share one configuration, so run codex mcp remove 200lab-ai-tutor. Once it is removed, the agent can no longer call 200Lab.
Can I use Codex Desktop or another client?
Yes. The ChatGPT desktop app, Codex CLI and the IDE extension share one MCP configuration, so adding the server in one place makes it work in all three. Any other client only needs to support MCP servers over Streamable HTTP with OAuth sign-in: add a server pointing to the address in the Setup section, then sign in as in the steps above.