Free course

Build with MCP

Build, inspect, secure, and deploy a useful MCP server with TypeScript.

4 modules · 26 lessons · No signup

Prerequisites: MCP, TypeScript, Node.js and HTTP

~~~

Your progress

of lessons completed.

Course completed.

What you'll learn

Build a project-notes MCP server with two tools, one resource, one prompt, local Inspector tests, a remote endpoint, and a practical security review.

Course contents

  1. Build a local TypeScript server

    Create a typed stdio server with useful tools, errors, and logs.

    1. ✓ Set up the TypeScript project
    2. ✓ Create the notes data
    3. ✓ Create the server factory
    4. ✓ Add the search_notes tool
    5. ✓ Add the get_note tool
    6. ✓ Keep errors useful
    7. ✓ Log without breaking stdio
    8. ✓ Serve and inspect the local server
    9. ✓ Check your understanding: build a stdio server
  2. Add resources and prompts

    Expose readable context and reusable prompt workflows deliberately.

    1. ✓ Add a notes resource
    2. ✓ Add a project review prompt
    3. ✓ Design useful capability boundaries
    4. ✓ Check your understanding: resources and prompts
  3. Move to remote HTTP safely

    Use the stateless protocol, authorization, and defensive boundaries.

    1. ✓ Turn the factory into an HTTP handler
    2. ✓ Understand stateless MCP
    3. ✓ Authenticate and authorize requests
    4. ✓ Protect secrets and limit access
    5. ✓ Treat returned text as untrusted
    6. ✓ Write a threat checklist
    7. ✓ Check your understanding: remote HTTP and security
  4. Deploy and review

    Deploy the server, document both transports, and complete a security review.

    1. ✓ Deploy to a web-standard runtime
    2. ✓ Document local and remote setup
    3. ✓ Run the final test matrix
    4. ✓ Review the security boundary
    5. ✓ Complete the project-notes server
    6. ✓ Final check: deploy and review