AI Instructor Live Labs Included

Building MCP Servers for Claude Code: From Zero to Production

Go from zero to production MCP server developer for Claude Code. Master tools, resources, prompts, sampling, roots, elicitation, Streamable HTTP, OAuth 2.1, observability, and registry publishing in TypeScript.

Intermediate
1d 9h 40m
20 Lessons
SMU-MCP-CC
MCP Server Developer for Claude Code Badge

View badge details

About This Course

A comprehensive, hands-on TypeScript course that takes you from zero MCP knowledge to shipping production-grade Model Context Protocol servers for Claude Code. You'll build a learning server (Track 1) covering tools, resources, prompts, sampling, roots, and elicitation, then a production server (Track 2) covering Streamable HTTP, OAuth 2.1 + PKCE, real-world API/database integration, observability, packaging (MCPB), and registry publishing. Every lab uses the DotNetClaude container with Node.js 22 and the Claude Code CLI pre-installed so you build, register, and use your own MCP servers inside Claude Code from day one. Capstone: design, document, and prepare your own MCP server for publication, choosing from a DevOps, Knowledge, or Data track.

Course Curriculum

20 Lessons
01
AI Lesson
AI Lesson

MCP Foundations & The Claude Code Integration Model

1h 15m

Teaching lesson: Learn what MCP is, why it exists, the host/client/server architecture, the three primitives (tools, resources, prompts), how Skills compare to MCP, transports at a glance, and the 2026 state of the protocol.

02
Lab Exercise
Lab Exercise

MCP Foundations - Lab Exercises

1h 30m 1 Exercises

Hands-on exercises: connect the official filesystem MCP server in Claude Code, inspect protocol traffic with MCP Inspector, and explore @-resource and /-prompt discovery.

Connect and Inspect an Existing MCP Server Add the official filesystem MCP server to Claude Code, list registered servers, discover @-resources and /-prompts, then inspect protocol traffic with MCP Inspector. ~45 min
03
AI Lesson
AI Lesson

Building Your First MCP Server

1h 20m

Teaching lesson: Anatomy of a TypeScript MCP server project, the McpServer class, registerTool, StdioServerTransport, the critical stdio-stdout rule, MCP Inspector, and adding your server to Claude Code.

04
Lab Exercise
Lab Exercise

Building Your First MCP Server - Lab Exercises

1h 45m 1 Exercises

Hands-on exercises: build a hello-world MCP server with greet and add_numbers tools, test with MCP Inspector, and register it in Claude Code.

Build and Test a Hello-World MCP Server Implement the greet and add_numbers tools, build the TypeScript project, test with MCP Inspector, and register the server in Claude Code. ~60 min
05
AI Lesson
AI Lesson

Tools In Depth: Schemas, Validation, and Structured Output

1h 20m

Teaching lesson: tool definition anatomy, Zod schema patterns, description-driven discovery, structured output with outputSchema, multi-modal content, tool annotations, and isError vs throwing.

06
Lab Exercise
Lab Exercise

Tools In Depth - Lab Exercises

2h 0m 1 Exercises

Hands-on exercises: build a multi-tool utility server with fetch_url, format_json, and calculate tools using full Zod input AND output schemas.

Build a Multi-Tool Utility Server Implement fetch_url, format_json, and calculate tools with full Zod input AND output schemas, structured error handling, and validation refinements. ~75 min
07
AI Lesson
AI Lesson

Resources, URI Templates, and Prompt Templates

1h 15m

Teaching lesson: resources vs tools, static resources, URI-templated resources, list_changed notifications, prompt templates, and embedded resources in tool results.

08
Lab Exercise
Lab Exercise

Resources and Prompts - Lab Exercises

2h 0m 1 Exercises

Hands-on exercises: expose project knowledge via static resources, URI-templated resources (wiki://{slug}), and a prompt template (incident-triage) registered as a Claude Code slash command.

Expose Project Knowledge via Resources and Prompts Register a static resource (playbook://outage), a templated resource (wiki://{slug}), and a prompt template (incident-triage). Wire up dynamic list_changed notifications. ~75 min
09
AI Lesson
AI Lesson

Advanced Capabilities: Sampling, Roots, and Elicitation

1h 30m

Teaching lesson: sampling (servers asking the client to run completions), roots (filesystem boundaries), and elicitation (pausing for user input mid-task).

10
Lab Exercise
Lab Exercise

Sampling, Roots, and Elicitation - Lab Exercises

2h 15m 1 Exercises

Hands-on exercises: build an interactive MCP server using sampling, roots enforcement, and elicitation for structured user input. Includes summarize_file and generate_commit_message tools.

Build an Interactive Server with Sampling, Roots, and Elicitation Implement summarize_file using roots enforcement and sampling. Implement generate_commit_message using elicitation and sampling. Verify root enforcement and elicitation cancellation. ~90 min
11
AI Lesson
AI Lesson

Transports: stdio vs Streamable HTTP for Remote Servers

1h 10m

Teaching lesson: stdio recap, Streamable HTTP, Express + StreamableHTTPServerTransport, stateful vs stateless mode, CORS and origin validation, and adding HTTP servers to Claude Code.

12
Lab Exercise
Lab Exercise

Streamable HTTP - Lab Exercises

1h 45m 1 Exercises

Hands-on exercises: convert your stdio server to Streamable HTTP with Express, session management, origin allowlists, and concurrent client testing.

Convert Your Server to Streamable HTTP Replace StdioServerTransport with Express + StreamableHTTPServerTransport, implement session management and origin allowlist middleware, bind to 127.0.0.1, and test concurrent sessions. ~60 min
13
AI Lesson
AI Lesson

Authentication, OAuth 2.1, and Production Security

1h 30m

Teaching lesson: MCP server threat model, OAuth 2.1 + PKCE, resource indicators (RFC 8707), JWT validation, separating authorization and resource servers, CIMD, short-lived tokens, secrets hygiene, and authenticated servers in Claude Code.

14
Lab Exercise
Lab Exercise

OAuth 2.1 with PKCE - Lab Exercises

2h 15m 1 Exercises

Hands-on exercises: add OAuth 2.1 + PKCE bearer-token middleware to your Streamable HTTP server, implement .well-known/oauth-protected-resource, and verify forged/expired token rejection.

Add OAuth 2.1 with PKCE to Your Server Configure the stub authorization server, implement bearer-token middleware with jose JWKS validation (iss, aud, exp), serve .well-known/oauth-protected-resource, and verify forged and expired token rejection. ~90 min
15
AI Lesson
AI Lesson

Real-World Integration Patterns

1h 20m

Teaching lesson: auth-aware tool implementation (per-user data scoping, token forwarding, scope enforcement), API-wrapper pattern, read-only database pattern, vendor-proxy pattern, dynamic tools, pagination, cost-aware design, and idempotency.

16
Lab Exercise
Lab Exercise

API-Wrapper Server - Lab Exercises

2h 15m 1 Exercises

Hands-on exercises: build an authenticated API-wrapper MCP server with JWT-scoped REST and SQLite tools, per-user cache keys, scope-required write tools, and cross-tenant isolation tests.

Build an Authenticated API-Wrapper Server Wire JWT context through to tool handlers with AsyncLocalStorage. Implement search_shipments, get_shipment_history, and record_delivery with per-user data scoping, scope enforcement, and per-user cache keys. Test cross-tenant isolation. ~90 min
17
AI Lesson
AI Lesson

Error Handling, Observability, and Production Readiness

1h 10m

Teaching lesson: protocol errors vs tool errors, structured logging via notifications/message, stderr logging for stdio, OpenTelemetry integration, graceful shutdown, health checks, AbortSignal cancellation, and self-healing schema errors.

18
Lab Exercise
Lab Exercise

Observability and Error Recovery - Lab Exercises

2h 0m 1 Exercises

Hands-on exercises: harden the API-wrapper server with pino structured logging, OpenTelemetry tracing, /healthz and /livez endpoints, graceful shutdown, and chaos-tested error recovery.

Harden Your Server with Logging and Error Recovery Add pino structured logging, OpenTelemetry tracing, /healthz and /livez endpoints, graceful shutdown, and chaos-test the upstream-failure path. ~75 min
19
AI Lesson
AI Lesson

Packaging, Distribution, and the 2026 MCP Frontier

1h 20m

Teaching lesson: npm packaging for stdio servers, MCPB (the new DXT) bundles, building with @anthropic-ai/dxt, the official MCP Registry, Server Cards, the Tasks primitive, MCP Apps (SEP-1865), and a Python/FastMCP comparison.

20
Lab Exercise
Lab Exercise

Capstone Project - Build, Document, and Publish Your Own MCP Server

2h 45m 1 Exercises

Capstone exercise: design and ship your own production-grade MCP server. Choose one of three tracks (DevOps, Knowledge, or Data) and deliver a fully tested, documented, and packaged server ready for the MCP Registry.

Capstone - Build Your Own MCP Server Choose Track A (DevOps/Kubernetes), Track B (Knowledge/Wiki), or Track C (Data/Postgres). Build, test, document, and prepare your server for MCPB packaging and MCP Registry submission. ~120 min

This course includes:

  • 24/7 AI Instructor Support
  • Live Lab Environments
  • 10 Hands-on Lessons
  • Completion Badge
MCP Server Developer for Claude Code Badge

Earn Your Badge

Complete all lessons to unlock the MCP Server Developer for Claude Code achievement badge.

Skill Level Intermediate
Total Duration 1d 9h 40m
MCP Server Developer for Claude Code Badge
Achievement Badge

MCP Server Developer for Claude Code

Awarded for completing Building MCP Servers for Claude Code: From Zero to Production. Demonstrates fluency with the Model Context Protocol — designing tools and resources, authentication, transports, deployment, and integration with Claude Code.

Course Building MCP Servers for Claude Code: From Zero to Production
Criteria Complete all lessons and hands-on lab exercises in the Building MCP Servers for Claude Code: From Zero to Production course on SkillMeUp.ai.
Valid For 730 days

Skills You'll Earn

Model Context Protocol (MCP) MCP Server Authoring Tool Design Resource Design MCP Transports (stdio, HTTP) Authentication TypeScript / Python MCP SDK Claude Code Integration Production Deployment Schema Design with Zod

Complete all lessons in this course to earn this badge