Skip to content

Advanced

Everything an ordinary server or client needs has a topical home in the sections above. This section is the escape hatches you reach for when MCPServer's convenience layer is in the way:

  • The low-level Server: the class MCPServer is built on. Hand-written schemas, on_* handlers, nothing checked for you, and custom JSON-RPC methods of your own.
  • Pagination and Middleware: two things you can only do on the low-level Server.
  • Extensions and MCP Apps: the protocol's extension surface. Compose extension packages into a server, or write your own.

A few things you might reasonably look for here live where you'd actually use them instead:

  • Authorization is under Running your server because you protect a server where you deploy it.
  • OAuth, identity assertion, connecting to multiple servers, and the response cache are all under Clients.
  • Multi-round-trip requests and Subscriptions are under Inside your handler because both are things a handler does.
  • URI templates is under Servers, next to Resources.
  • Protocol versions and Deprecated features each have their own top-level page.

If you're not sure whether you need this section, you don't.