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
Section titled “See the MCP Boundary First”


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
Section titled “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: Truecan_call: Trueboundary: server exposes, client callsIf the boundary is vague, permissions and debugging will be vague too.
Learn in This Order
Section titled “Learn in This Order”| Step | Read | Practice Output |
|---|---|---|
| 1 | MCP concept | Explain why a protocol layer reduces integration mess |
| 2 | MCP architecture | Distinguish Host, Client, Server, tools, resources, prompts |
| 3 | Server development | Wrap one capability with clear input, output, and errors |
| 4 | Client integration | Discover and call server capabilities safely |
| 5 | Ecosystem | Connect MCP to IDEs, databases, browsers, knowledge bases, and Agents |
Evidence to Keep
Section titled “Evidence to Keep”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
Pass Check
Section titled “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.
Check reasoning and explanation
- A passing answer describes the agent loop: goal, plan, tool call, observation, memory or state update, and stop condition.
- The evidence should include a trace that another developer can inspect, not only the final answer.
- A good self-check names one safety or reliability control such as tool schemas, permission boundaries, retries, evaluation cases, or a human-review point.