fastmcp/examples
Jeremiah Lowin e35a74f004
Add fastmcp dev apps command with browser UI preview (#3489)
* Add FastMCPApp — a Provider for composable MCP applications

* Wire Prefab callable resolver via to_json(tool_resolver=) parameter

* Remove inspect.signature compat check, use try/except until prefab 0.10.0

* Address review: fix add_tool registry gaps, normalize auth errors, bump prefab to 0.10.0

* Register global key after _add_component succeeds

* Simplify: extract decorator dispatch, use get_fastmcp_meta, expose get_global_tool

* Remove prek from Marvin workflows

These workflows run Claude to respond to /marvin mentions — linting
the repo is unnecessary and fails without renderer deps installed.

* Return ResolvedTool from callable resolver, add contacts example

The callable resolver now returns ResolvedTool (from prefab_ui) instead of a
plain string, carrying metadata like unwrap_result that the renderer needs to
correctly handle structuredContent envelopes. The unwrap_result flag is derived
from the tool's x-fastmcp-wrap-result output schema marker.

* Bump prefab-ui requirement to >=0.11.0

* Remove stale ty ignore comments now that prefab-ui 0.11 is published

* Add fastmcp dev apps command with browser UI preview

* Improve fastmcp dev apps: dropdown picker, reload flag, process cleanup

- Replace Tabs with Pages+Select for tool picker (Rx-based reactive state)
- Add --reload/--no-reload flag (default: True) to fastmcp dev apps
- Kill entire process group on shutdown so port 8000 is freed properly
- Suppress uvicorn websockets deprecation warning (websockets-sansio)
- Bump prefab-ui to >=0.11.1 (fixes get_renderer_head bug in 0.11.0)
- Add farewell tool to greet_server example for multi-tool testing

* Add docs for fastmcp dev apps command

* Fix orphaned server on startup failure, guard Unix-only signal handling

* Show tool title in picker, remove editable prefab source

* Bump prefab-ui to >=0.11.2

* Fail fast when prefab-ui is not installed

* Add apps/development docs, link from prefab and sidebar

* Fix optional field defaults, fail with non-zero on startup timeout
2026-03-14 12:29:37 -04:00
..
apps Add fastmcp dev apps command with browser UI preview (#3489) 2026-03-14 12:29:37 -04:00
atproto_mcp Normalize repo references to PrefectHQ/fastmcp casing (#3218) 2026-02-18 14:51:18 -05:00
auth Adds PropelAuth as an AuthProvider 2026-03-02 16:18:22 -05:00
code_mode Add ListTools, search limit, and catalog size annotation to CodeMode (#3359) 2026-03-02 18:00:21 -05:00
diagnostics Address CodeRabbit suggestions 2026-01-14 09:48:07 -05:00
fastmcp_config Implement typed source system for FastMCP configuration (#1607) 2025-08-24 16:32:37 -04:00
fastmcp_config_demo Internal refactor: fastmcp config to mcp server config (#1672) 2025-08-29 21:37:39 -04:00
filesystem-provider Add standalone decorators and eliminate fastmcp.fs module (#2832) 2026-01-10 12:16:35 -05:00
namespace_activation Rename Enabled transform to Visibility (#2950) 2026-01-19 20:46:58 -05:00
persistent_state Add session-scoped state persistence (#2873) 2026-01-16 14:11:21 -05:00
prompts_as_tools Add PromptsAsTools transform (#2946) 2026-01-19 18:19:53 -05:00
providers/sqlite Use ergonomic provider initialization pattern (#2675) 2025-12-22 14:49:39 -05:00
resources_as_tools Add ResourcesAsTools transform (#2943) 2026-01-19 17:40:31 -05:00
sampling [Doc]: fixing spelling issues in multiple files 2026-01-23 07:17:38 +01:00
search Narrate search example clients (#3321) 2026-02-27 12:17:31 -05:00
skills Add client utilities for downloading skills (#2948) 2026-01-19 20:10:39 -05:00
smart_home Normalize repo references to PrefectHQ/fastmcp casing (#3218) 2026-02-18 14:51:18 -05:00
tasks Remove enable_tasks setting, enable task protocol by default 2025-12-09 09:34:42 -05:00
testing_demo Bump authlib (#3390) 2026-03-13 19:47:58 -04:00
versioning Add version discovery and calling a certain version for components (#2897) 2026-01-17 08:27:39 -05:00
complex_inputs.py Remove empty parens 2025-06-04 15:37:55 -04:00
config_server.py Remove empty parens 2025-06-04 15:37:55 -04:00
custom_tool_serializer_decorator.py Deprecate tool_serializer parameter (#2753) 2025-12-26 16:03:04 -05:00
desktop.py Remove empty parens 2025-06-04 15:37:55 -04:00
echo.py Remove empty parens 2025-06-04 15:37:55 -04:00
elicitation.py Add fastmcp list and fastmcp call CLI commands (#3054) 2026-02-01 18:30:14 -05:00
get_file.py Add "High Value" Ruff Rules (#2255) 2025-10-26 10:20:31 -04:00
in_memory_proxy_example.py Add as_proxy improvements and tests 2025-05-17 12:23:48 -04:00
memory.fastmcp.json Update schema path (#1595) 2025-08-23 09:47:58 -04:00
memory.py 2.14 deprecation removals (#2329) 2025-12-01 14:11:00 -05:00
mount_example.fastmcp.json Update schema path (#1595) 2025-08-23 09:47:58 -04:00
mount_example.py docs: fix stale get_* references, now list_* (#3168) 2026-02-12 13:45:49 -06:00
run_with_tracing.py Address CodeRabbit suggestions 2026-01-14 09:48:07 -05:00
screenshot.fastmcp.json Update schema path (#1595) 2025-08-23 09:47:58 -04:00
screenshot.py 2.14 deprecation removals (#2329) 2025-12-01 14:11:00 -05:00
simple_echo.py Remove empty parens 2025-06-04 15:37:55 -04:00
tags_example.py docs: fix stale get_* references, now list_* (#3168) 2026-02-12 13:45:49 -06:00
task_elicitation.py Relay task elicitation through standard MCP protocol 2026-02-10 14:58:19 -05:00
text_me.py Basic cleanup 2025-04-05 17:39:51 -04:00
tool_result_echo.py Improve ToolResult and structured output documentation (#2349) 2025-11-02 17:07:48 -05:00