mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-09 07:09:11 +02:00
* Update repository references from jlowin/fastmcp to prefecthq/fastmcp * Retrigger CI after repo transfer * chore: Update SDK documentation * Only run deep triage on bug issues for jlowin --------- Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
86 lines
3.1 KiB
Text
86 lines
3.1 KiB
Text
---
|
|
title: apps
|
|
sidebarTitle: apps
|
|
---
|
|
|
|
# `fastmcp.server.apps`
|
|
|
|
|
|
MCP Apps support — extension negotiation and typed UI metadata models.
|
|
|
|
Provides constants and Pydantic models for the MCP Apps extension
|
|
(io.modelcontextprotocol/ui), enabling tools and resources to carry
|
|
UI metadata for clients that support interactive app rendering.
|
|
|
|
|
|
## Functions
|
|
|
|
### `app_config_to_meta_dict` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/apps.py#L115" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
app_config_to_meta_dict(app: AppConfig | dict[str, Any]) -> dict[str, Any]
|
|
```
|
|
|
|
|
|
Convert an AppConfig or dict to the wire-format dict for ``meta["ui"]``.
|
|
|
|
|
|
### `resolve_ui_mime_type` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/apps.py#L122" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
resolve_ui_mime_type(uri: str, explicit_mime_type: str | None) -> str | None
|
|
```
|
|
|
|
|
|
Return the appropriate MIME type for a resource URI.
|
|
|
|
For ``ui://`` scheme resources, defaults to ``UI_MIME_TYPE`` when no
|
|
explicit MIME type is provided. This ensures UI resources are correctly
|
|
identified regardless of how they're registered (via FastMCP.resource,
|
|
the standalone @resource decorator, or resource templates).
|
|
|
|
**Args:**
|
|
- `uri`: The resource URI string
|
|
- `explicit_mime_type`: The MIME type explicitly provided by the user
|
|
|
|
**Returns:**
|
|
- The resolved MIME type (explicit value, UI default, or None)
|
|
|
|
|
|
## Classes
|
|
|
|
### `ResourceCSP` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/apps.py#L18" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
|
|
Content Security Policy for MCP App resources.
|
|
|
|
Declares which external origins the app is allowed to connect to or
|
|
load resources from. Hosts use these declarations to build the
|
|
``Content-Security-Policy`` header for the sandboxed iframe.
|
|
|
|
|
|
### `ResourcePermissions` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/apps.py#L50" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
|
|
Iframe sandbox permissions for MCP App resources.
|
|
|
|
Each field, when set (typically to ``{}``), requests that the host
|
|
grant the corresponding Permission Policy feature to the sandboxed
|
|
iframe. Hosts MAY honour these; apps should use JS feature detection
|
|
as a fallback.
|
|
|
|
|
|
### `AppConfig` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/apps.py#L77" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
|
|
Configuration for MCP App tools and resources.
|
|
|
|
Controls how a tool or resource participates in the MCP Apps extension.
|
|
On tools, ``resource_uri`` and ``visibility`` specify which UI resource
|
|
to render and where the tool appears. On resources, those fields must
|
|
be left unset (the resource itself is the UI).
|
|
|
|
All fields use ``exclude_none`` serialization so only explicitly-set
|
|
values appear on the wire. Aliases match the MCP Apps wire format
|
|
(camelCase).
|
|
|