49b9bb6724
Deploy Docs / deploy-docs (push) Failing after 1s
Conformance Tests / client-conformance (push) Failing after 3s
Conformance Tests / server-conformance (push) Failing after 1s
GitHub Actions Security Analysis / zizmor (push) Failing after 1s
CI / checks (push) Failing after 59m20s
CI / all-green (push) Waiting to run
30 lines
1.5 KiB
Markdown
30 lines
1.5 KiB
Markdown
# 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](low-level-server.md)**: the class `MCPServer` is built on.
|
|
Hand-written schemas, `on_*` handlers, nothing checked for you, and custom JSON-RPC
|
|
methods of your own.
|
|
* **[Pagination](pagination.md)** and **[Middleware](middleware.md)**: two things you
|
|
can *only* do on the low-level `Server`.
|
|
* **[Extensions](extensions.md)** and **[MCP Apps](apps.md)**: 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](../run/index.md)** because you
|
|
protect a server where you deploy it.
|
|
* **OAuth**, **identity assertion**, connecting to **multiple servers**, and the
|
|
response **cache** are all under **[Clients](../client/index.md)**.
|
|
* **Multi-round-trip requests** and **Subscriptions** are under
|
|
**[Inside your handler](../handlers/index.md)** because both are things a
|
|
handler *does*.
|
|
* **URI templates** is under **[Servers](../servers/index.md)**, next to Resources.
|
|
* **[Protocol versions](../protocol-versions.md)** and
|
|
**[Deprecated features](../deprecated.md)** each have their own top-level page.
|
|
|
|
If you're not sure whether you need this section, you don't.
|