Skip to 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.

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.

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:

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

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

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

Keep this page’s proof of learning as a small evidence card:

Capability
resource, prompt, or tool exposed by server
Contract
schema, transport, permissions, and error shape
Call Trace
discovery, invocation, response, and failure handling
Failure Check
incompatible schema, missing auth, unsafe tool, or server error
Integration Action
validate server contract before adding autonomy

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.

Check reasoning and explanation
  1. A passing answer describes the agent loop: goal, plan, tool call, observation, memory or state update, and stop condition.
  2. The evidence should include a trace that another developer can inspect, not only the final answer.
  3. A good self-check names one safety or reliability control such as tool schemas, permission boundaries, retries, evaluation cases, or a human-review point.