60e0ffc959
Upgrade checks / Notify on failure (push) Has been cancelled
Upgrade checks / Close issue on success (push) Has been cancelled
Schema Crash Test / Real-world schema crash test (232K schemas) (push) Has been cancelled
Run static analysis / static_analysis (push) Has been cancelled
Tests / Tests: Python 3.10 on ubuntu-latest (push) Has been cancelled
Tests / Tests: Python 3.13 on ubuntu-latest (push) Has been cancelled
Tests / Tests: Python 3.10 on windows-latest (push) Has been cancelled
Tests / Tests with lowest-direct dependencies (push) Has been cancelled
Tests / MCP conformance tests (push) Has been cancelled
Tests / Integration tests (push) Has been cancelled
Tests / Package install smoke (push) Has been cancelled
Upgrade checks / Static analysis (push) Has been cancelled
Upgrade checks / Tests: Python 3.10 on ubuntu-latest (push) Has been cancelled
Upgrade checks / Tests: Python 3.13 on ubuntu-latest (push) Has been cancelled
Upgrade checks / Tests: Python 3.10 on windows-latest (push) Has been cancelled
Upgrade checks / Integration tests (push) Has been cancelled
Update MCPServerConfig Schema / update-config-schema (push) Has been cancelled
Update SDK Documentation / update-sdk-docs (push) Has been cancelled
91 lines
3.2 KiB
Plaintext
91 lines
3.2 KiB
Plaintext
---
|
|
title: config
|
|
sidebarTitle: config
|
|
---
|
|
|
|
# `fastmcp.apps.config`
|
|
|
|
|
|
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/fastmcp_slim/fastmcp/apps/config.py#L180" 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"]``.
|
|
|
|
|
|
## Classes
|
|
|
|
### `ResourceCSP` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/fastmcp_slim/fastmcp/apps/config.py#L20" 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/fastmcp_slim/fastmcp/apps/config.py#L56" 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/fastmcp_slim/fastmcp/apps/config.py#L84" 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).
|
|
|
|
|
|
### `PrefabAppConfig` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/fastmcp_slim/fastmcp/apps/config.py#L124" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
|
|
App configuration for Prefab tools with sensible defaults.
|
|
|
|
Like ``app=True`` but customizable. Auto-wires the Prefab renderer
|
|
URI and merges the renderer's CSP with any additional domains you
|
|
specify. The renderer resource is registered automatically.
|
|
|
|
Example::
|
|
|
|
@mcp.tool(app=PrefabAppConfig()) # same as app=True
|
|
|
|
@mcp.tool(app=PrefabAppConfig(
|
|
csp=ResourceCSP(frame_domains=["https://example.com"]),
|
|
))
|
|
|
|
|
|
**Methods:**
|
|
|
|
#### `model_post_init` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/fastmcp_slim/fastmcp/apps/config.py#L140" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
model_post_init(self, __context: Any) -> None
|
|
```
|