chore: import upstream snapshot with attribution
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
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
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# Servers
|
||||
|
||||
An `MCPServer` exposes three primitives to a connected client. They differ by who
|
||||
decides to use them:
|
||||
|
||||
* A **[tool](tools.md)** is an action the *model* picks and calls. This is
|
||||
the page most people want first, and
|
||||
**[Structured Output](structured-output.md)** is its reference companion:
|
||||
everything about the shape of what a tool returns.
|
||||
* A **[resource](resources.md)** is read-only data the *application*
|
||||
chooses to read. **[URI templates](uri-templates.md)** is its reference
|
||||
companion: the full addressing syntax and the path-safety rules.
|
||||
* A **[prompt](prompts.md)** is a message template a *person* invokes by
|
||||
name, from a menu or a slash command.
|
||||
|
||||
Around the three primitives, the rest of what a server declares:
|
||||
|
||||
* **[Completions](completions.md)** is server-side autocomplete for prompt
|
||||
and resource-template arguments.
|
||||
* **[Images, audio & icons](media.md)** covers everything a tool can
|
||||
return besides text, and the icons a client shows next to your server.
|
||||
* **[Handling errors](handling-errors.md)** explains the difference between an
|
||||
error the model can recover from and one it must never see.
|
||||
|
||||
Every page here stands on its own; jump straight to the one you need. If you haven't
|
||||
built a server yet, start with **[First steps](../get-started/first-steps.md)** instead.
|
||||
|
||||
What happens *inside* the functions you register (the `Context`, dependency injection,
|
||||
asking the user for more input mid-call) is the next section,
|
||||
**[Inside your handler](../handlers/index.md)**.
|
||||
Reference in New Issue
Block a user