Skip navigation
200Lab MCP - AI Tutor

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.

Connect your agent

You confirm with your 200Lab account right inside the agent. Nothing else to install on the web.

Works with
  • Claude App
  • Claude Code
  • Codex CLI
  • ChatGPT App
Your agentconnected to 200Lab AI TutorDemo

I want to understand how an agent calls tools. Which lesson should I start with?

search query: "agent tool call" · types: lesson

  • Agent Harness Foundations · Lesson 7Agent Loop: act, observe, then move on15 min readOwned
  • Agent Harness Foundations · Lesson 8From tool request to real action12 min readOwned
  • Agent Harness Foundations · LabWrap an internal API as a tool and run one agent loopLab · 45 min · Go kit includedOwned
  • Building well-scoped LLM features · Lesson 2Which jobs really need an LLM?16 min readFree
  • Agent Harness Foundations · ChallengeThe agent called the wrong tool: retrace the run and find the breakChallenge · mentor-gradedOwned

get entity: lesson · courseId · slug: p1-v3-05-agent-loop

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.

Source: course "Agent Harness Foundations" · lesson "Agent Loop: act, observe, then move on" · https://learn.200lab.io/courses/agent-harness-foundations/lessons/p1-v3-05-agent-loop · Licensed to [Learner name] · do not redistribute.

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.

  1. Answer three questions

    The agent reads the ai_tutor rules, 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.

  2. The agent gets the knowledge map

    One call to ai_tutor_recommend returns the 200Lab courses and lessons that fit you, along with the topics the catalog does not cover yet.

  3. 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.

  4. Learn step by step, right in the chat

    The agent reads each lesson with get and teaches it through your own project. When a lesson has a kit, the agent gets the link with get_artifact_download_url, downloads it and runs it with you. Ask about your progress and the agent opens learning_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.

AI Tutorbuilt on 200LabDemo

Help me build a roadmap so I can write my own agent in Go.

ai_tutor

1/3What do you want to be able to do when you finish?

A Go agent that can call my company's internal APIs.

2/3Which languages or tools do you already know, and how well?

Basic Go, I've written REST APIs, never touched LLMs.

3/3About how many hours a week can you spend studying?

Around 6 hours.

ai_tutor_recommend goal · queries · known · weeklyHours: 6

Week 1 roadmaproadmap.md

Planned6 of 6 h/week

  1. 200LabFree preview: Before you start building an agentAgent Harness Foundations · the course's free opening lesson1 h
  2. 200LabAgent Loop and From tool request to real actionAgent Harness Foundations · Lessons 7 and 81.5 h
  3. 200LabWrap an internal API as a tool and run one agent loopAgent Harness Foundations · Lab · Go kit included1 h
  4. 200LabThe agent called the wrong tool: retrace the run and find the breakAgent Harness Foundations · Challenge · mentor-graded0.5 h
  5. agent-writtenWrite an agent loop in Go for your company's APIWritten by the agent for your repo1 h
  6. externalMCP specification: tools and transportsmodelcontextprotocol.io1 h

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.

  1. Describe the problem you are stuck on

    The agent reads the ai_tutor rules and, if needed, asks you at most one question about your stack or context.

  2. The agent finds the right lesson

    One call to ai_tutor_recommend with 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.

  3. 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.

Your agentconnected to 200Lab AI TutorDemo

My payment service charges customers twice when it retries after a timeout. Does 200Lab have a lesson that handles exactly this?

ai_tutor

ai_tutor_recommend goal: "retry after timeout charges twice" · queries: "idempotency for payment retries" · build: Go payment service

  • Timeouts, retries and crashes · Lesson 5An idempotency key lets you retry without charging the customer twice21 min readOwned
  • Timeouts, retries and crashes · Lesson 7A database write and an external service call never share one transaction20 min read · kit includedOwned
  • Timeouts, retries and crashes · Lesson 15Keep the payment state right when the gateway times out or a webhook arrives twice or early22 min read · kit includedOwned
  • Timeouts, retries and crashes · Opening lessonAfter a timeout or a crash, did the command sent to the external service run?13 min readFree

get entity: lesson · courseId · slug: sd2-05

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 orderId when the charge is created and send it as a header on every attempt.
  • Store the key and its result in the payment_attempts table 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.

Source: course "Handling timeouts, retries and crashes: idempotency, outbox, lease and reconciliation" · lesson "An idempotency key lets you retry without charging the customer twice" · https://learn.200lab.io/courses/xu-ly-timeout-retry-va-crash-idempotency-outbox-lease-va-reconciliation/lessons/sd2-05 · Licensed to [Learner name] · do not redistribute.

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.

  1. 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.

  2. The agent finds the 200Lab skill

    skill_find finds the 200Lab skill for that kind of work, and skill_get reads how 200Lab grades it: which criteria must pass and what to verify before calling it done.

  3. Follow the skill on your code

    The agent finds the related lessons with ai_tutor_recommend, reads them with get, then grades each criterion with evidence from your code and names the lesson behind it.

  4. 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.

Your agentconnected to 200Lab AI TutorDemo

Review the harness of the customer support agent in this repo against the Agent Harness Foundations course before it goes to production.

ai_tutor

skill_find need: "review customer support agent harness before production"

skill_get slug: agent-harness

ai_tutor_recommend goal · queries · skill: agent-harness

  • Agent Harness Foundations · Lesson 13Valid is not the same as permitted16 min readOwned
  • Agent Harness Foundations · Lesson 14Guardrails are in place, but is the action really blocked?9 min readOwned
  • Agent Harness Foundations · Lesson 15Allowed to run does not mean allowed to touch everything13 min readOwned
  • Agent Harness Foundations · Lesson 23The demo works, but is the agent stable?15 min readOwned

get entity: lesson · courseId · slug: p1-v3-09-validation-authorization-gates

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_order tool 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.

Source: course "Agent Harness Foundations" · lesson "Valid is not the same as permitted" · https://learn.200lab.io/courses/agent-harness-foundations/lessons/p1-v3-09-validation-authorization-gates · Licensed to [Learner name] · do not redistribute.

This report is fairly long. How would you like me to present it?

  1. Interactive HTML pageFilter by status, open each item to see the evidence(selected)
  2. Slides for your teamOne slide per criterion, with the fix
  3. Flash cards to reviseRevise the lessons behind each criterion
  4. Keep it in the chatNo file created

Interactive HTML page

skill_get slug: html-presentation · part: review-report

Write docs/200lab/harness-review.html

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.

docs/200lab/harness-review.html

Review report · 200Lab AI Tutor

Harness review against Agent Harness Foundations

Pass 1Fail 2

AllFail (filtering)Pass

  • Criticalrefund_order refunds without a permission checktools/refund.go

    Fix: Check the session's permissions in code before refunding.

    200LabValid is not the same as permitted

  • HighNo eval set that replays failed runs

Source: 200Lab AI Tutor

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.

Animated diagram: a system scaling to 500K concurrent users across five architectures, from a monolith through scale-out, read/write split and microservices to sharded writes.
An example drawn by Diagram Director: a system growing from 0 to 500K concurrent users across five architectures, each step fixing exactly where the previous one choked.

How the agent works

  1. Solve the problem firstThe agent asks the questions that change the architecture (load, guarantees, constraints) and settles the design with you before drawing anything.
  2. StoryboardThe story is split into scenes, one idea each; every caption has to match the agreed design.
  3. DrawThe agent builds the nodes, arrows, labels and motion in a single file.
  4. 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.

Connect your agent to use the kit

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.

  1. How you learn

    Traditional learningWatch videos in a fixed order
    Typical course platformWatch videos, sometimes with a chatbot giving generic answers in a web tab
    200Lab AI-nativeThe agent reads the whole lesson, then teaches it through the project you are working on
  2. Roadmap

    Traditional learningOne roadmap for everyone
    Typical course platformCatalog suggestions that do not know who you are
    200Lab AI-nativeBuilt around your goal, your background and the hours you have; the agent writes or finds what is missing
  3. When you get stuck

    Traditional learningPost in a group and wait for an answer
    Typical course platformThe chatbot cannot see your code
    200Lab AI-nativeAsk right in your agent, which already has both the lesson and your code
  4. Where you learn

    Traditional learningOpen the course tab and leave what you were doing
    Typical course platformStill a separate web tab
    200Lab AI-nativeRight in the Claude, Codex or ChatGPT you already have open
  5. Materials

    Traditional learningPDFs and slides you download and forget
    Typical course platformDownload and forget
    200Lab AI-nativeLessons, 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.

  1. Open Settings and go to Connectors.
  2. Choose Add custom connector.
  3. Paste this address into the URL field and give it any name:https://mcp.200lab.io/mcp/learner
  4. Sign in and approve access with your 200Lab account.
claude.ai · Claude Desktop
Settings › Connectors

Add custom connector

Name200lab-ai-tutor
Remote MCP server URLhttps://mcp.200lab.io/mcp/learner
CancelAdd
OAuth

Grant access

Review the details below before you approve.

[Learner name]Signed in to 200Lab

The app Claude wants to access your account with learner rights.

Scope
learner
Callback
claude.ai

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.

Source: course "Agent Harness Foundations" · lesson "Agent Loop: act, observe, then move on" · https://learn.200lab.io/courses/agent-harness-foundations/lessons/p1-v3-05-agent-loop · Licensed to [Learner name] · do not redistribute.

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.

Connect your agent

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.