From zero to your own server.
From an empty folder to Jotter, a real MCP server with tools, resources, prompts, tests and two transports. Every chapter is short, hands-on, and ends with a way to check it worked.
- 01Why MCP, and what we buildMCP is a standard plug between AI clients and your tools and data, and today you build one.10 minutes
- 02Set up and meet the InspectorClone the repo, run the tests, and call your first tool by hand in MCP Inspector.15 minutes
- 03Your first toolRegister a tool with a name, a description and a handler, and return content the model can read.20 minutes
- 04Validating inputDescribe every argument with zod, so bad input is refused with a clear message before your code runs.15 minutes
- 05ResourcesExpose read-only data at a URI, with a static resource for all notes and a template for one note.15 minutes
- 06PromptsGive users a ready-made prompt, filled with real data from your server.10 minutes
- 07State and storageStore notes in a JSON file that survives restarts, overlapping calls and crashes.15 minutes
- 08Testing with an in-memory clientTest the real server through a real MCP client, with no processes, ports or mocks.20 minutes
- 09Transports: stdio and Streamable HTTPRun the same server over stdio for local clients and over Streamable HTTP for remote ones.20 minutes
- 10Connect to Claude Code, Cursor and VS CodePlug your server into real clients and watch a model use your tools.15 minutes
- 11Security and shippingLock the server down, then package it so anyone can run it with one command.20 minutes