Skip to main content

9.5.1 MCP Roadmap: Server, Client, Capability

MCP is a protocol layer for connecting tools, resources, and prompt templates to model applications in a more standard way. It does not replace Agents or tools; it makes capabilities easier to expose and use consistently.

See the MCP Boundary First

MCP Host Client Server architecture diagram

MCP chapter learning order diagram

MCP capability access bridge diagram

Function Calling focuses on structured calls. MCP focuses on how external capabilities are discovered, described, called, and governed through a protocol.

Run a Capability Registry Check

Before implementing a real MCP Server, list what it exposes and what the Client may call.

server = {
"tools": ["search_docs"],
"resources": ["course://ch09-agent"],
"prompts": ["study_plan"],
}

client_request = "search_docs"

print("server_ready:", all(server.values()))
print("can_call:", client_request in server["tools"])
print("boundary:", "server exposes, client calls")

Expected output:

server_ready: True
can_call: True
boundary: server exposes, client calls

If the boundary is vague, permissions and debugging will be vague too.

Learn in This Order

StepReadPractice Output
1MCP conceptExplain why a protocol layer reduces integration mess
2MCP architectureDistinguish Host, Client, Server, tools, resources, prompts
3Server developmentWrap one capability with clear input, output, and errors
4Client integrationDiscover and call server capabilities safely
5EcosystemConnect MCP to IDEs, databases, browsers, knowledge bases, and Agents

Pass Check

You pass this chapter when you can draw the Host-Client-Server relationship and explain what the Server exposes, what the Client calls, and where permissions are checked.

The exit mini project is a course-materials MCP Server design: one search tool, one resource URI pattern, one prompt template, and one failure-handling rule.