Capstone. Publish your first MCP server
Build a small MCP server that solves a real problem from your life and make it installable for others.
Level 6 taught you how an MCP server is built, deployed, distributed, and secured with OAuth. Plus how multi-agent setups orchestrate the whole thing. Now you build your own server, make it installable for others, and write a mini doc.
Whoever finishes the capstone has officially arrived at operator level six: you build tools others can use, not just tools you use yourself.
The task
Pick a small, unambiguous use case from your own life or work. Examples small enough:
- An MCP server that queries Wikipedia in your language and returns it cleanly formatted.
- An MCP server that fetches weather data and answers tailored to a specific region.
- An MCP server that searches your notes from Obsidian, Notion, or a Markdown folder.
- An MCP server connecting to a specific API you need at work (Bookwize, Cal.com, an industry tool).
- An MCP server that wraps a recurring workflow (e.g. "create new lead in CRM plus confirmation email").
Important: not too big. Three to five tools are enough. If you plan fifteen tools, the capstone is too big and you'll quit frustrated.
Mandatory components
At least three tools. Each with a clear description, typed parameter definition (Zod or JSON schema), and meaningful output.
Validation and error handling. Tools must abort cleanly if parameters don't fit, instead of dying with cryptic stack traces.
Rate limiting. If your server calls an external API, it has to respect quotas. That's a hard rule, not a "nice to have".
Health endpoint if you build HTTP transport, or a clearly documented --version output in stdio mode.
README. Three sections: what does the server do, install in 30 seconds, example prompts.
Tests. At least three Vitest tests per tool. Happy path, edge case, error case. Without tests, you didn't pass the capstone, no matter how pretty the code.
Distribution
Pick one of three distribution options:
- npm publish as stdio server. Simplest path, anyone can wire it in with
npx -y your-server. - MCPize Cloud Run as HTTP transport with bearer auth. If you want SaaS experience.
- Own Docker container on a server (e.g. Hetzner). If you want full control and no external platforms.
Publish it. Really. Make it real. Even if you yourself are the first user.
The output
A repo (public on GitHub or, if the use case is private, in your studio account).
At least one successful install test from a different machine than the one you developed on. If you only start the server locally and call it "done", you didn't understand distribution.
A mini demo (screen recording or screenshots) where you use the tool in Claude Code, Claude Desktop, or Cursor, and the answer comes through.
A short Reddit or LinkedIn post (300-500 words) that explains: why did you build the server, how does it work from a user perspective, where was the hardest part. You don't have to publish, but you should write it, because writing forces you to explain what you built from a user perspective.
Self-grading criteria
- Does the install work on a new machine without you helping?
- Are the tool descriptions clear enough that Claude or another agent picks the right tool for the right job without prompt assistance from you?
- Are your tests real tests or did you just write expect(true).toBe(true)?
- Did you really go through with distribution, or is the code "almost ready to publish"? The latter doesn't count.
What you have after
You have a public MCP server in your name, a repo you can link in applications, a post you can share in communities, and a piece of software you use yourself. Four proofs at once that you've arrived at operator level six.
If you want to register the server in the arena (you remember the arena from Levels 5 and 6), you can now build bots that use exactly your server and reproduce your own workflows. That's the next stage, not a capstone-mandatory part.
What comes next
There's no Level 7. Once you finish Level 6, you're at a point where you decide what comes next: your own SaaS around your MCP server, a specialization in an industry, your own multi-agent platform for a concrete market, or simply getting better at what you already do. The academy ends here, because from here on the field is too big for a course.
What you can do: keep fighting in the arena with your own bots, write your own playbooks (also for the academy itself), and report in the Discord community what you build. Operator identity stops being an end state here and becomes a habit.