Skip to content
Dirk Schulenburg
All Articles

12 Servers, One Protocol: How MCP Transformed My Teaching

5 min read
mcpdockeraieducation
Share
12 Servers, One Protocol: How MCP Transformed My Teaching

It all started with a problem: I was sitting in front of Moodle on a Sunday evening, clicking through menus. Create a course. Add a section. Set up a quiz. Enter questions. A single course took hours. Five classes took half a Sunday.

At some point I thought: There has to be a better way.

One Server, One Problem

The first MCP server was simple. A small Node.js service that talked to the Moodle Web Services API. Three endpoints: create a course, create a quiz, add questions. Behind Traefik as a reverse proxy, Let's Encrypt for HTTPS, done.

The evening I first typed "Create a quiz on breach of contract" and had a finished quiz in Moodle 30 seconds later, I knew: This is going to get bigger.

The beginning was simple

Three API endpoints, one Docker container, one free Sunday evening. That's all it takes to get started.

From 3 to 73 Tools

Today the Moodle MCP server alone has 73 tools. Courses, sections, quizzes, H5P activities, enrolments, grades, assessments, labels, pages, URLs, resources, folders — all via API. On top of that, bulk operations: moodle_bulk_add_questions creates any number of questions in a single call. moodle_import_gift imports Moodle's GIFT format directly.

But the Moodle server was just the beginning.

The Ecosystem

Twelve servers. Over a hundred tools. One protocol.

ServerWhat it does
Moodle-MCP73 tools for complete Moodle administration
WordPress-MCPCreate blog posts, upload media
SharePoint-MCPManage internal school documents and pages
Teams-MCPMessages, meetings, calendar
IMAP-MCPRead, sort, and reply to emails
Voice-MCPSpeech to text (Whisper) and text to speech (Kokoro)
H5P-PreviewRender interactive learning modules
React-FactoryGenerate React components on the fly
EduGrow-MCPManage the cannabis education platform

Each server is its own Docker container. Each speaks MCP — the Model Context Protocol. Each can be deployed independently, scaled independently, replaced independently.

MCP Server Infrastructure
12 containers, one protocol — the MCP infrastructure behind my teaching.

The Architecture Philosophy: Many Small Independent Servers

Why not one big server with everything? Because small servers are better. In every way.

Fault tolerance. If the Voice server crashes, Moodle keeps working. If SharePoint needs an update, the rest keeps running.

Development speed. I can rewrite the IMAP server in an hour without touching anything else.

Simplicity. Each server has one job. The Moodle server talks to Moodle. The Teams server talks to Teams. No server needs to know what the others are doing.

This isn't accidental. It's stigmergy — the principle that ants work by. No central coordinator. Each actor responds to its environment and leaves traces that others can build on.

The Sunday Evening Workflow

Here's what it looks like in practice. Sunday evening, 8 PM. Tomorrow starts a new learning scenario on "Procurement Processes in Wholesale".

In the old days, I would have spent three hours in front of Moodle. Today:

  1. I describe the learning scenario in natural language
  2. Claude creates the Moodle course section via the Moodle-MCP
  3. Quiz questions are generated and imported — 71 questions in under a minute
  4. H5P activities are created and uploaded — H5P pipeline
  5. Everything gets formatted as a worksheet in my school's corporate design
  6. A brief summary goes to my department via IMAP-MCP

8:45 PM. Done. Not "draft done". Everything live in Moodle.

71 questions in under a minute

That's not a typo. The Moodle MCP's bulk API creates multiple-choice, true/false, and free-text questions in a single call. What used to take an entire afternoon now happens while you grab a coffee.

The rest of the evening is mine. Or I use it to build the next MCP server.

The Stigmergy Principle

What sets this system apart from classic software architecture is the principle behind it. In traditional systems, there's a central coordinator — an orchestrator that dictates who does what and when.

My system doesn't have that. Each server exists on its own. It offers tools. It waits for requests. It knows nothing about the others.

The intelligence doesn't live in the infrastructure. It lives in the LLM that uses the servers. Claude decides which tools it needs for a task, calls them in the right order, and combines the results.

That's stigmergy. The environment — the available servers — structures the behaviour. Not a plan. Not an org chart. The tools themselves.

What I've Learned

A year with MCP servers has taught me a few things:

Automation isn't a luxury. It's a moral obligation. Every hour I spend clicking through Moodle is an hour I don't have for my students.

Perfect is the enemy of done. The first Moodle server had three endpoints and was more useful than any commercial tool I'd seen up to that point.

Open protocols win. MCP isn't a proprietary format. Anyone can build an MCP server. Anyone can use one. That's what makes the ecosystem robust.

But be careful

MCP servers have full access to the systems they're connected to. A misconfigured server can delete courses, overwrite grades, or send emails. Rate limiting and API key management are mandatory, not optional.

The best documentation is a working server. Nobody reads documentation. But if you can type "Create a course" and it works, nobody needs a manual.

What's Next?

More servers. More tools. More automation. The next step is an MCP server for Microsoft 365 administration — managing users, assigning licences, everything a school IT admin has to do.

And eventually, when the ecosystem is big enough, it might not even need me anymore.

But until then, I'll be sitting at my computer on Sunday evenings. No longer to click through Moodle menus. But to build the next server.

Related Articles

I'm Automating My Own Job — and Nobody Notices

12 MCP servers, 73 Moodle tools, 16 H5P content types: How a teacher automated his entire content creation — and why the school system doesn't even notice.

aieducationautomationmcp
5 min read
Three Barriers That No Longer Exist

78% of commercial job tasks are automatable. 184 hours of development per hour of e-learning. And we only attempt things we believe we’re capable of. — Three barriers that AI is blowing apart right now, and what it means for education.

aieducationstigmergypost-workedtech
12 min read
The Last Teacher — Why My Profession Has No Future

A teacher who set out to digitize education reaches a radical conclusion after four years: AI makes the teaching profession obsolete.

educationaifuture
6 min read

Comments