Welcome to TheMCPGuy
The definitive learning resource for Model Context Protocol, the open standard that connects AI to the real world.
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.
| Component | What this site pins | Current release | Where to check |
|---|---|---|---|
| MCP specification | 2025-11-25 | 2026-07-28 | MCP versioning |
Java MCP SDK, io.modelcontextprotocol.sdk:mcp | 2.0.x, which implements 2025-11-25 | 2.0.1, with 1.1.4 and 1.0.2 still patched on the older lines | SDK releases |
| Spring AI | 2.0.x, which supports Spring Boot 4.0.x and 4.1.x | 2.0.1, with 1.1.8 and 1.0.9 on the older lines | Spring AI |
| Spring Boot | 4.1.x, which brings Spring Framework 7, Jakarta EE 11 (Servlet 6.1), Spring Security 7 and Jackson 3 | 4.1.1, and 3.5.16 is still patched for projects on the previous stack | Spring Boot system requirements |
| Spring Security | 7.x, which was 6.5.x on the Boot 3.5 stack | follows the Spring Boot line | Spring Security reference |
| Java | 17 minimum, 21 recommended | Java 25 is the current LTS (long-term support) release, and Spring Boot 4.1.1 runs on anything up to Java 26 | Oracle Java SE support roadmap |
| Claude models | the model each lesson names | Opus 5, Fable 5.1, Sonnet 5 and Haiku 4.5, with Opus 4.8, Opus 4.7 and Sonnet 4.6 still active | Claude 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:
| Mechanism | 2025-11-25, what the code here runs | 2026-07-28, the current revision |
|---|---|---|
| State across calls | the Mcp-Session-Id header on the Streamable HTTP transport | removed. A server that needs state mints its own handle and takes it back as an ordinary tool argument |
| Opening a connection | the initialize request and the notifications/initialized reply that follows it | removed. Each request stands on its own |
| Server asking the client for something | the server sends roots/list, sampling/createMessage or elicitation/create back to the client | Multi 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 Logging | active features | deprecated, with a minimum twelve-month window before removal |
| Client registration | Dynamic 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?
- 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.
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.
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
- Key Changes (MCP specification 2026-07-28): every change the comparison table above compresses into one row, written out with the proposal number behind each one.
- Versioning and Compatibility (Model Context Protocol): how MCP revision dates work, what Draft, Current and Final mean, and which revision is current today.
- Deprecated features registry (MCP specification 2026-07-28): the list of features currently scheduled for removal, with the migration the specification suggests for each one.
- MCP Extensions Overview: what counts as an official MCP extension, which ones exist, and how a client and server agree to use one.
- System Requirements :: Spring Boot: the Java, Spring Framework and Servlet versions each Spring Boot release needs, plus the branches still receiving patches.
- Releases: modelcontextprotocol/java-sdk: the version number and publication date of every Java MCP SDK release, which is the fastest way to check whether the pins above have moved.
- Models overview (Claude Docs): the current Claude models side by side, with the model ID, context window, price and intended use of each one.
Sources
- Versioning and Compatibility (Model Context Protocol):
2026-07-28is the current protocol revision, and a revision date marks the last backwards-incompatible change. - Key Changes (MCP specification 2026-07-28): sessions and the
initializehandshake removed, Multi Round-Trip Requests replacing server-initiated requests, Roots, Sampling and Logging deprecated, and Dynamic Client Registration deprecated in favour of Client ID Metadata Documents. - Feature lifecycle and deprecation policy: the minimum twelve-month deprecation window.
- ProtocolVersions.java (modelcontextprotocol/java-sdk): the newest protocol constant the SDK declares is
2025-11-25, so it has not shipped2026-07-28support. - maven-metadata.xml for io.modelcontextprotocol.sdk:mcp: the released versions of the Java MCP SDK, with
2.0.1as the current release. - Releases: modelcontextprotocol/java-sdk: SDK
2.0.0published 2026-06-11, with2.0.1and1.1.4published 2026-08-19. - Spring AI: Spring AI
2.0.1is the current release. - Getting Started :: Spring AI: Spring AI
2.0.xsupports Spring Boot4.0.xand4.1.x. - System Requirements :: Spring Boot: Spring Boot
4.1.1is the current release, requires at least Java 17 and runs on anything up to Java 26, and3.5.16is the current patch on the 3.5 line. - Spring Boot 4.0 Migration Guide: Spring Boot 4 is based on Jakarta EE 11 with a Servlet 6.1 baseline, requires Spring Framework 7 and Java 17+, and moves to Jackson 3 and Spring Security 7.
- Oracle Java SE Support Roadmap: Java SE 8, 11, 17, 21 and 25 are LTS releases, so 25 is the current LTS.
- Models overview (Claude Docs): the current Claude lineup is Fable 5.1, Opus 5, Sonnet 5 and Haiku 4.5.
- Model deprecations (Claude Docs): Opus 4.8, Opus 4.7 and Sonnet 4.6 are all in the Active state, with retirement dates in 2027 or later.
- MCP Apps: MCP App widgets render in a sandboxed iframe, talk to the host over
postMessage, name the external origins they may load from in_meta.ui.csp, and accept any JavaScript framework or none. - Governance and Stewardship (Model Context Protocol): MCP is established as a series of LF Projects, with membership held by individuals and no seats reserved for companies.
- Code execution with MCP: building more efficient AI agents: code execution cut one measured workload from 150,000 tokens to 2,000.
- Model Context Protocol (MCP) in Zed: Zed adopted MCP and supports its Tools and Prompts features.
- What is the Model Context Protocol (MCP)?: Cursor is named among the clients that support MCP.