Chapter 6. Building MCP Servers: Advanced Use with Utilities and Integrating Client Capabilities
If Chapter 5 set your foundation for building MCP servers that serve up the MCP primitives, this chapter will build the doors, walls, and roof of your servers. The first set of tools are the MCP server utilities. These tools are built into the MCP specification and into all the MCP SDKs that supercharge your MCP servers. They allow you to do things like provide autocompletion suggestions to your users, access a world of information about both the current session and the current request being made, send logs to the client, paginate your responses, and even get progress notifications from your MCP server to your users.
The next set are the client-provided resources. These are additional capabilities that your MCP server can use to augment its functionality. These include elicitations, which allow your server to request information from the user; sampling, which allows your server to directly use the host application’s language model through the MCP client; and roots, which help identify the boundaries of the files and directories on the host application’s filesystem that your server has access to. The 2026-07-28 version of the MCP spec deprecated roots and sampling and drastically changed the way servers request all three from the client, so each section notes that and what it means for developers.
Together, these utilities and resources will not only allow you to implement additional ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access