Skip to main content

Welcome to TheMCPGuy

The definitive learning resource for Model Context Protocol, the open standard that connects AI to the real world.

Version Baseline (checked 2026-09)

Code, API references and version pins across this site target the versions below. These numbers move every few weeks, so the last column links the page that carries the live one.

ComponentWhat this site pinsCurrent releaseWhere to check
MCP specification2025-11-252026-07-28MCP versioning
Java MCP SDK, io.modelcontextprotocol.sdk:mcp2.0.x, which implements 2025-11-252.0.1, with 1.1.4 and 1.0.2 still patched on the older linesSDK releases
Spring AI2.0.x, which supports Spring Boot 4.0.x and 4.1.x2.0.1, with 1.1.8 and 1.0.9 on the older linesSpring AI
Spring Boot4.1.x, which brings Spring Framework 7, Jakarta EE 11 (Servlet 6.1), Spring Security 7 and Jackson 34.1.1, and 3.5.16 is still patched for projects on the previous stackSpring Boot system requirements
Spring Security7.x, which was 6.5.x on the Boot 3.5 stackfollows the Spring Boot lineSpring Security reference
Java17 minimum, 21 recommendedJava 25 is the current LTS (long-term support) release, and Spring Boot 4.1.1 runs on anything up to Java 26Oracle Java SE support roadmap
Claude modelsthe model each lesson namesOpus 5, Fable 5.1, Sonnet 5 and Haiku 4.5, with Opus 4.8, Opus 4.7 and Sonnet 4.6 still activeClaude models overview

The SDK follows SemVer; the project does not officially designate any "LTS" line.

A revision of the specification is a dated release of the document, named after the last backwards-incompatible change made to it. 2026-07-28 is the current revision. The code on this site targets 2025-11-25, because the Java MCP SDK 2.0.x implements that revision and has not yet shipped 2026-07-28 support. This is a deliberate choice: we pin to what the SDK can actually run.

2026-07-28 is a large revision. These changes alter how a server is written:

Mechanism2025-11-25, what the code here runs2026-07-28, the current revision
State across callsthe Mcp-Session-Id header on the Streamable HTTP transportremoved. A server that needs state mints its own handle and takes it back as an ordinary tool argument
Opening a connectionthe initialize request and the notifications/initialized reply that follows itremoved. Each request stands on its own
Server asking the client for somethingthe server sends roots/list, sampling/createMessage or elicitation/create back to the clientMulti Round-Trip Requests. The server answers the original call by asking for input, and the client retries the call carrying the answer
Roots, Sampling and Loggingactive featuresdeprecated, with a minimum twelve-month window before removal
Client registrationDynamic Client Registration (RFC 7591)Client ID Metadata Documents, with Dynamic Client Registration kept for authorization servers that do not support them yet

Courses are being revised against 2026-07-28, and lessons that teach a changed mechanism will say so. Before starting a project, check Maven Central, docs.spring.io and platform.claude.com for current versions, and rerun any version-pinned snippets against them.

Why TheMCPGuy?

Anthropic introduced MCP. The specification is now maintained by the Model Context Protocol project under LF Projects, where no seats in the technical governance are reserved for companies. GitHub, Cursor (an AI code editor), and Zed (a modern code editor) adopted it. Hundreds of community servers appeared overnight. The educational material has not kept up: most of it shows how to wire a server together and skips the why.

Courses That Explain the Why

Every tutorial here covers why a design decision exists, not just how to implement it. Protocol design involves trade-offs, and understanding them makes you a better MCP server author and a better engineer.

Technology-Agnostic Foundations

Before you touch code, understand the protocol. The MCP Fundamentals course is language-agnostic: it teaches the spec, the architecture, and the primitives, which are Tools, Resources and Prompts. Come back to it every time you're confused about why something works the way it does.

Java-First Practical Courses

The Java ecosystem is underrepresented in the MCP world, where most examples are Python or TypeScript. Our Java SDK course covers everything from Hello, MCP to production deployment, with Spring Boot, real tooling, and tests.


Who Is This For?

This site is for you if:
  • You're a backend developer curious about AI integration
  • You want to understand MCP before you start writing servers
  • You're a Java developer tired of Python-only examples
  • You want depth, not just copy-paste code snippets

Available Now

The three published courses build on each other, and the groups below them are in preparation.

Start at MCP Fundamentals even if you already write Java every day. Every later course assumes you know what a tool, a resource and a prompt are, and that course defines them.

1. MCP Fundamentals (Start Here)

Technology-agnostic. Eight classes covering the protocol spec from first principles, what problem MCP solves, how the architecture works, what Tools/Resources/Prompts really mean, how transports work, and how the security model is designed.

→ Start MCP Fundamentals

2. Building MCP Servers in Java

Nine hands-on modules. You'll build real MCP servers using the official Java SDK, implement all three primitives, handle errors properly, write tests, and deploy to production.

→ Start the Java SDK Course

3. Spring AI + MCP Integration

Seventeen hands-on classes building one application. Turn an existing Spring Boot service into an MCP server with tools, resources and prompts, build an agent that consumes it alongside servers you did not write, handle progress and confirmations travelling back from the server, and ship the result.

→ Start the Spring AI + MCP Course


In Preparation

These courses are written and are being re-verified against the current spec and SDK releases before they go live. They will be published one at a time.

4. MCP Architecture Patterns

Eight design-focused modules for senior engineers. Server composition, tool granularity, primitive selection, multi-tenant architecture, caching, versioning, and resilience. The patterns that separate "writing an MCP server" from "designing an MCP system".

Coming soon.

5. Building Remote MCP Servers

Eight classes on taking MCP beyond stdio. Streamable HTTP in depth, explicit state handles in place of sessions, routing and horizontal scaling, rate limiting, Kubernetes deployment, migrating an existing session-bound server, and operating the result. Stateless-first throughout, because the 2026-07-28 spec removed protocol-level sessions. Authorisation has its own course.

Coming soon.

6. Securing Production MCP

Eight security-focused modules. The MCP threat model, authentication beyond OAuth, authorisation patterns (RBAC/ABAC/ReBAC), sandboxing, prompt injection defenses, supply chain controls, and audit/incident response.

Coming soon.

7. Testing & Observability

Eight classes on testing AI applications without burning API credits and observing them once they ship. Unit tests, Testcontainers, protocol-level testing, ChatModel mocking, contract testing, structured observability, and production debugging.

Coming soon.

8. MCP in Agentic Workflows

Eight classes on building genuine agents on top of MCP. Planning, memory, tool composition, human-in-the-loop approval, multi-agent orchestration, evaluation, and the cost levers that make agents affordable in production.

Coming soon.

9. Context Engineering for MCP

Ten classes on the token economics of MCP. Why your context window fills up before the user even types, how code execution and progressive disclosure shrink it by an order of magnitude, and how to measure the savings honestly. Backed by a runnable Java project.

Coming soon.

10. MCP Client & Host Development

Eight classes on building the other half of MCP: the host and client that negotiate capabilities, drive sampling and elicitation, render MCP Apps, and discover servers. Includes a runnable Java host capstone. Sampling is covered because clients on 2025-11-25 still implement it; 2026-07-28 deprecates it with a twelve-month minimum before removal.

Coming soon.

11. Building MCP Apps (Interactive UI)

Thirteen classes building one project on MCP's first official extension. The Support Desk order service from the Spring AI course gets a user interface: a refund confirmation card you click, and a sortable orders table, both rendering inside Claude. Spring AI serves the UI resource and the tool metadata. The widget runs in a sandboxed iframe, talks to the host only through postMessage, and names the outside origins it may reach in _meta.ui.csp. We write it in plain JavaScript to keep the code small; the extension itself accepts any framework.

Coming soon.

12. Authorization for MCP (OAuth 2.1 / OIDC)

Nine classes covering the whole OAuth story for MCP in one place. The resource-server model, the grant flows and PKCE, Protected Resource Metadata, and authorization server discovery. Then Client ID Metadata Documents in place of the now-deprecated Dynamic Client Registration, which stays available for authorization servers that do not support the newer mechanism yet. Finally the Spring Security 7 implementation, scopes and incremental consent, enterprise IdPs, and stateless JWT validation.

Coming soon.


The MCP Spec

Everything taught here aligns with the official MCP specification at modelcontextprotocol.io/specification. When in doubt, the spec is authoritative. This site provides the context that makes the spec readable.


Let's build things that actually work.

Further Reading

Sources