- Introduction to the Model Context Protocol (MCP) —
ch01_introduction_to_mcp.md - Implementing MCP: Transport Mechanisms —
ch02_transport_mechanisms.md - The MCP Communication Flow —
ch03_communication_flow.md - MCP Primitives: Resources, Tools, Prompts and Notifications —
ch04_primitives.md - The Core Messaging: JSON-RPC 2.0 —
ch05_json_rpc_2_0.md - MCP Protocol Versions & Evolution —
ch06_mcp_version_history.md - Tool Execution: The tools/call Method —
ch07_tool_execution.md - Resource Management —
ch08_resource_management.md
Part II — Building MCP Servers
- Implementing a Weather API example app using SSE/http —
ch09_weather_api_sse.md - Connecting to AI Services (Claude, ChatGPT, Gemini, Cursor) —
ch10_connecting_to_ai_services.md10b. Implementing MCP Servers with the JDK Native SDK —ch10_jdk_native_support.md(currently orphaned — needs sequential number in final re-numbering pass) - Implementing a Local Notes Searcher example app MCP using STDIO —
ch11_local_notes_searcher_stdio.md - Frameworks: The Spring AI MCP Starters —
ch12_spring_ai_framework.md - Implementing MCP Server Using Prompts —
ch13_mcp_prompts_deep_dive.md - Implementing MCP Server Using Resources —
ch14_mcp_resources_deep_dive.md - Testing MCP Servers —
ch15_testing_mcp_servers.md
Part III — Advanced Implementation & Clients
- Building an MCP Client —
ch16_building_mcp_clients.md - Implementing MCP from Scratch in Pure Java —
ch17_implementing_from_scratch.md - Sampling and Elicitation —
ch18_sampling_and_elicitation.md - Progress and Long-Running Tasks —
ch19_progress_and_long_running_tasks.md- 19.1. The protocol contract
- 19.2. The Spring AI API
- 19.3. Indeterminate progress
- 19.4. Multi-phase tasks
- 19.5. Throttling strategies
- 19.6. Progress from background threads
- 19.7. Cancellation awareness
- 19.8. Capability and client support
- 19.9. Testing progress notifications
- 19.10. Design checklist 29b. Writing a Well-Behaved Host —
ch17b_writing_a_well_behaved_host.md(internally numbered 29; file is in Part III directory; conflicts with ch29_non_determinism.md — needs resolution in final re-numbering pass)
- The Adapter Pattern: Wrapping Legacy APIs —
ch44_adapter_pattern.md - Stateful Tools and Session Management —
ch45_stateful_tools.md - Integrating MCP directly with Web Frontends —
ch46_web_frontends.md - Mocking and Simulating MCP Servers —
ch47_mocking_mcp.md
Part IV — Production & Architecture
- Security Fundamentals —
ch20_security_fundamentals.md - Authentication and Authorization in Depth —
ch21_auth_in_depth.md - Tool Design Principles —
ch22_tool_design_principles.md - Observability, Metrics, and Debugging —
ch23_observability_and_metrics.md - Performance, Concurrency, and Scaling —
ch24_performance_and_scaling.md - Kubernetes Deployment —
ch25_kubernetes_deployment.md - Edge Deployment —
ch26_edge_deployment.md - Schema Evolution and Migration Strategy —
ch27_schema_evolution.md - Cost and Quota Engineering —
ch28_cost_engineering.md - Non-Determinism and Defensive Design —
ch29_non_determinism.md - Security Deep Dive: Prompt Injection & Tool Poisoning —
ch40_security_prompt_injection.md - Performance Benchmarking & Optimization —
ch42_performance_benchmarking.md - Building a custom MCP Gateway —
ch43_mcp_gateway_pattern.md - Data Privacy, PII Redaction, and Compliance —
ch48_data_privacy_pii.md - Deploying MCP to Serverless —
ch49_serverless_deployment.md
Part V — Agentic Systems & Ecosystem
- Agentic Workflows and Tool Composition —
ch30_agentic_workflows.md - MCP and Retrieval-Augmented Generation (RAG) —
ch31_mcp_and_rag.md - Multi-Agent Architectures —
ch32_multi_agent_systems.md - MCP in Automation and CI/CD —
ch33_automation_and_cicd.md - MCP Outside Spring (Plain JDK, Quarkus, Micronaut) —
ch34_mcp_outside_spring.md - LangChain4j and MCP —
ch35_langchain4j_and_mcp.md - The Capstone Project: Team Assistant —
ch36_capstone_project.md - MCP for Databases & SQL —
ch39_mcp_for_databases_sql.md - The "Personal OS" Assistant —
ch41_personal_os_assistant.md - Polyglot Architectures: Java Servers, Python Clients —
ch50_polyglot_architectures.md