本文へ移動
cccskills
無料GitHub で公開

fastmcp-creator

Use when building, extending, or debugging FastMCP v4 (or v3) Python MCP servers. Activates on FastMCP tool/resource/prompt creation, provider and transform implementation (CodeMode, Tool Search), auth setup (MultiAuth, PropelAuth, KeycloakProvider), client SDK usage, FastMCPApp and Generative UI server building, fastmcp-slim client-only installs, nginx reverse proxy deployment, Prefab Apps, OTEL observability, testing, and v3→v4 migration. Grounded in official FastMCP v4 docs plus locally-verified v3 gotchas — zero speculation.

インストール方法を見る

含まれるファイル(23)

  • SKILL.md16.9 KB
  • references/advanced.md20.3 KB
  • references/apps.md14.9 KB
  • references/auth.md26.5 KB
  • references/claude-code-mcp-integration.md7.6 KB
  • references/client-sdk.md19.1 KB
  • references/deployment.md19.7 KB
  • references/evaluation-guide.md14.2 KB
  • references/integrations.md12.7 KB
  • references/middleware.md15.4 KB
  • references/migration.md20.4 KB
  • references/observability.md1.2 KB
  • references/providers.md14.8 KB
  • references/real-world-patterns.md9.5 KB
  • references/server-core.md20.6 KB
  • references/testing.md11.5 KB
  • references/transforms.md30.9 KB
  • references/typescript-mcp-server.md20.3 KB
  • scripts/connections.py7.9 KB
  • scripts/evaluation.py16.1 KB
  • scripts/example_evaluation.xml1.2 KB
  • scripts/get_environment.py1.3 KB
  • scripts/requirements.txt43 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Current Environment

Python version:

!python3 --version 2>/dev/null || python --version 2>/dev/null || echo "Python not found in PATH"

Installed FastMCP version:

!uv run python -c "import fastmcp; print(f'FastMCP {fastmcp.__version__}')" 2>/dev/null || echo "FastMCP not installed — run: uv add 'fastmcp>=4.0' before scaffolding"


Trigger Matrix

When user intent matches, load the reference file listed — do not rely on training data for v3/v4 API facts.

User intentFeatureReference file
Build a new FastMCP serverFastMCP(), @mcp.tool, @mcp.resource./references/server-core.md
Compose multiple serversmount(), namespace, providers./references/providers.md
Bridge remote HTTP server to stdioProxyProvider, create_proxy()./references/providers.md
Serve files or skills as resourcesFileSystemProvider, SkillsProvider./references/providers.md
Rename or filter tools from sub-serverToolTransform, Namespace./references/transforms.md
Expose resources as toolsResourcesAsTools./references/transforms.md
Search/discover tools in large catalogsBM25SearchTransform, RegexSearchTransform./references/transforms.md
Sandbox tool execution via Python scriptsCodeMode (experimental)./references/transforms.md
Add authentication to a serverrequire_scopes, OAuth variants./references/auth.md
Mix OAuth + JWT token verifiersMultiAuth./references/auth.md
Use PropelAuth for authPropelAuthProvider./references/auth.md
Write a FastMCP clientClient, transports, BearerAuth./references/client-sdk.md
Run long tasks without blocking@mcp.tool(task=True)./references/advanced.md
Add multi-turn user input to a toolElicitation API./references/advanced.md
Deploy to productionPrefect Horizon, HTTP, stdio, nginx./references/deployment.md
Deploy behind nginx reverse proxySSE config, TLS, subpath mounting./references/deployment.md
Write tests for a FastMCP serverIn-memory Client, pytest patterns./references/testing.md
Integrate with Anthropic/OpenAI/FastAPIIntegration patterns./references/integrations.md
Migrate from FastMCP v2 to v3Breaking changes, syntax fixes./references/migration.md
Migrate/upgrade a v3 server to v4ToolAnnotations snake_case, TasksExtension, sampling removal./references/migration.md
Debug a masked tool exception on stdioRich traceback logging trap./references/server-core.md
Add web UI to a serverApps HTML API, Prefab Apps./references/apps.md
Return interactive UI from tools@mcp.tool(app=True), PrefabApp./references/advanced.md
Add request/response middlewareMiddleware, built-in middleware./references/middleware.md
Find real-world usage patternsProxyProvider, mount(), showcase./references/real-world-patterns.md
Evaluate MCP server qualityEvaluation harness, QA pairs./references/evaluation-guide.md
Build interactive app server with UI toolsFastMCPApp, @app.ui(), @app.tool()./references/apps.md
LLM writes custom UI at runtimeGenerative UI./references/apps.md
Use Keycloak for enterprise authKeycloakProvider./references/auth.md
Install client-only, no server depsfastmcp-slim./references/client-sdk.md
Preview app tools in browser without MCP hostfastmcp dev apps./references/deployment.md
Add OTEL tracing to a serverOTEL instrumentation./references/observability.md
Configure persistent cache or OAuth state storagestorage backends./references/middleware.md

Choose Provider Type

flowchart TD
    Q1{What do you need?}
    Q1 -->|Define tools/resources in this server| LC["LocalProvider — default<br>No mount() needed<br>Source: providers/local.mdx"]
    Q1 -->|Add another FastMCP server's tools| MC["FastMCPProvider / mount()<br>mcp.mount(sub, namespace='ns')<br>Source: servers/composition.md"]
    Q1 -->|Wrap remote HTTP MCP server| PC["ProxyProvider<br>create_proxy('http://remote/mcp')<br>Source: providers/proxy.mdx"]
    Q1 -->|Serve files from disk as resources| FC["FileSystemProvider('path/')<br>reload=True for dev, False for prod<br>Source: providers/filesystem.mdx"]
    Q1 -->|Expose Claude/Cursor skill files| SC["SkillsProvider / ClaudeSkillsProvider()<br>skill:// URI scheme<br>Source: providers/skills.mdx"]
    Q1 -->|Build a custom provider| CC["Subclass Provider base class<br>Source: providers/custom.mdx"]

Choose Transport

flowchart TD
    Q1{How will clients connect?}
    Q1 -->|Local tool in Claude Code / desktop app| ST["stdio — default<br>fastmcp run server.py:mcp<br>Source: deployment/running-server.mdx"]
    Q1 -->|Web service or multi-client| HT["HTTP transport<br>mcp.run(transport='http', port=8000)<br>Source: deployment/http.mdx"]
    Q1 -->|Testing — in-process| IT["In-memory transport<br>async with Client(mcp) as client<br>Source: patterns/testing.mdx"]
    Q1 -->|Managed cloud deployment| PH["Prefect Horizon<br>fastmcp run via GitHub integration<br>Source: deployment/prefect-horizon.mdx"]

Choose Auth Approach

flowchart TD
    Q1{Auth requirement?}
    Q1 -->|No auth needed| NA["No auth — default FastMCP behavior"]
    Q1 -->|Validate bearer tokens per tool| RS["require_scopes('scope')<br>@mcp.tool(auth=require_scopes('write'))<br>Source: servers/auth/token-verification.mdx"]
    Q1 -->|Full OAuth2 server built-in| FO["Full OAuth server<br>Source: servers/auth/full-oauth-server.mdx"]
    Q1 -->|Delegate to external IdP — Auth0, Azure| OP["OIDC proxy / OAuth proxy<br>Source: servers/auth/oidc-proxy.mdx"]
    Q1 -->|Mix OAuth + JWT for hybrid clients| MA["MultiAuth — compose OAuth server<br>+ token verifiers (v3.1)<br>Source: servers/auth/multi-auth.mdx"]
    Q1 -->|Use PropelAuth| PA["PropelAuthProvider<br>OAuth + token introspection (v3.1)<br>Source: integrations/propelauth.mdx"]
    Q1 -->|Client calling protected server| CA["Client auth — BearerAuth / CIMDAuth / OAuthAuth<br>Source: clients/auth/*.mdx"]

Quick-Start Examples [1] [2] [3]

Minimal server

from fastmcp import FastMCP

mcp = FastMCP("my-server")


@mcp.tool  # RULE: no parentheses — v3 canonical syntax
def greet(name: str) -> str:
    """Return a greeting."""
    return f"Hello, {name}!"


if __name__ == "__main__":
    mcp.run()

Server composition

from fastmcp import FastMCP

weather = FastMCP("weather")
main = FastMCP("main")

main.mount(weather, namespace="weather")
# Tools from weather become weather_<tool-name> on main

Background task

from fastmcp import FastMCP
from fastmcp_tasks import TasksExtension

mcp = FastMCP("task-server")
mcp.add_extension(TasksExtension())  # required in v4; implicit in v3 — see references/migration.md


@mcp.tool(task=True)  # RULE: task=True, NOT task=TaskConfig(...)
async def long_running(data: str) -> str:
    """Process data in background."""
    return "done"

Before deploying: run in-process pytest using the in-memory Client transport (references/testing.md) before switching to HTTP transport. In-process tests are the fastest signal that tools behave as expected.


v3 API Corrections

CONSTRAINT: These v2 patterns are deprecated or removed. Generate only the v3 form, then check ./references/migration.md for a v3→v4 change to the same pattern — e.g. task=True also needs TasksExtension registration in v4.

v2 / wrong patternv3 correct patternSourceWhy
@mcp.tool() with parentheses@mcp.tool without parenthesesquickstart.mdxv3 unified tool config into constructor kwargs — per-decorator arguments removed
task=TaskConfig(mode="required")task=Trueservers/tasks.mdxTaskConfig replaced by runtime extra dependency
require_authrequire_scopes("scope")servers/authorization.mdxv3 replaced binary auth flags with granular scope-based access control — require_scopes() specifies which scopes are required rather than just checking authentication
.mcpb packagingPrefect Horizon or stdio deploydeployment/running-server.mdx—
ctx.get_state() / ctx.set_state() (synchronous)await ctx.get_state() / await ctx.set_state()getting-started/upgrading/from-fastmcp-2.mdState is now session-scoped and backed by a pluggable storage backend — calls must be awaited; the methods exist in v3 but are async

Version Gating

FastMCP 3.0 — Available

All core features (tools, resources, prompts, providers, transforms, auth, tasks, elicitation, client SDK, deployment) are available in FastMCP 3.0.

FastMCP 3.1 — Available

The following features were added in FastMCP 3.1.0 and require fastmcp>=3.1.0:

  • Tool Search transforms — BM25SearchTransform, RegexSearchTransform for large tool catalogs
  • CodeMode transform (experimental) — sandboxed Python execution for tool invocation (fastmcp[code-mode])
  • transforms= kwarg — server-level FastMCP("name", transforms=[...]) constructor parameter
  • MultiAuth — compose OAuth server + multiple token verifiers
  • PropelAuth provider — PropelAuthProvider for PropelAuth OAuth + token introspection
  • Prefab Apps (experimental) — @mcp.tool(app=True) with declarative UI components (fastmcp[apps])
  • Google GenAI sampling handler — alternative to Anthropic/OpenAI sampling
  • -m/--module flag — fastmcp run -m my_package.server for module mode
  • FASTMCP_TRANSPORT env var — default transport selection without CLI flag
  • http_client parameter — connection pooling for token verifiers
  • include_unversioned option in VersionFilter
  • Tool.from_tool() — immediate transformation at registration time [4]

FastMCP 3.2 — Available (released 2026-03-30)

The following features were added in FastMCP 3.2 and require fastmcp>=3.2.0:

  • FastMCPApp — provider class for building interactive applications inside MCP; separates LLM-visible UI entry points (@app.ui()) from backend tools (@app.tool())
  • Generative UI — LLM writes Prefab Python code at runtime instead of calling a pre-built tool with a fixed shape
  • fastmcp dev apps — browser preview for app tools without an MCP host
  • KeycloakAuthProvider — secure a FastMCP server with Keycloak OAuth; Docker-based local setup with pre-configured fastmcp realm
  • run_in_thread=False on @mcp.tool() — opt sync tools out of the default threadpool dispatch for thread-affine libraries
  • ssl verify parameter on Client — SSL certificate configuration for development with self-signed certs
  • client_log_level parameter on Client — control client-side log verbosity
  • ResponseCachingMiddleware token-partitioning security fix (v3.2.2) — cache now partitioned by access token; upgrade required for deployments with multiple users [5]

FastMCP 3.3 — Available (released 2026-05-15)

The following features were added in FastMCP 3.3 and require fastmcp>=3.3.0:

  • fastmcp-slim — client-only distribution; install fastmcp-slim[client] for consumers who only need the FastMCP client without the full server framework; import namespace is identical (from fastmcp import Client)
  • Storage backends — persistent cache and OAuth state storage backends [6]

FastMCP 4.0 — Breaking-Change Release

FastMCP 4.0 is not an additive gate like 3.1–3.3 above — it removes and renames APIs. See ./references/migration.md for what changed and what to generate instead.


Reference Files

All reference files sourced from https://gofastmcp.com (published docs) and https://github.com/jlowin/fastmcp (source code); v4-specific deltas are called out inline and centralized in ./references/migration.md:

Preserved references:


Related Skills

  • For pytest patterns and in-memory testing fixtures: Skill(skill: "fastmcp-creator:fastmcp-python-tests")
  • For fastmcp list / fastmcp call / fastmcp discover CLI usage: Skill(skill: "fastmcp-creator:fastmcp-client-cli")
  • For Python project setup (pyproject.toml, uv, src layout): /python-engineering:orchestrate
  • For evaluating MCP server quality: ./references/evaluation-guide.md
  • For Claude Code MCP config (.mcp.json): ./references/claude-code-mcp-integration.md

References

  1. servers/server.mdx + servers/tools.mdx (accessed 2026-03-05)
  2. servers/providers/mounting.mdx (accessed 2026-03-05)
  3. servers/tasks.mdx — requires fastmcp[tasks] extra (accessed 2026-03-05)
  4. Fastmcp releases v3.1.0, v3.1.1 (accessed 2026-05-23)
  5. Fastmcp releases v3.2.x (accessed 2026-05-23)
  6. Fastmcp releases v3.3.x (accessed 2026-05-23)

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Add automated documentation updater to any Claude skill. Creates a Python sync script that downloads upstream docs, processes markdown for AI consumption, and maintains local cache with configurable refresh. Collects template variables, then delegates implementation through 5-phase workflow. Use when adding auto-updating reference documentation to plugins or skills.

日本語の概要は準備中です。原文の説明を表示しています。

Jamie-BitFlight/claude_skills672026年10月12日 更新

SAM-style feature initiation workflow — discovery through codebase analysis, architecture spec, task decomposition, validation, and context manifest. Use when a user asks to add a feature, plan a feature, or convert an idea into an executable SAM plan.

日本語の概要は準備中です。原文の説明を表示しています。

Jamie-BitFlight/claude_skills672026年10月12日 更新

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.

日本語の概要は準備中です。原文の説明を表示しています。

Jamie-BitFlight/claude_skills672026年10月12日 更新

Browser automation for AI agents using the agent-browser CLI and Playwright. Use when navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, logging into sites, or automating any browser task. Triggers on "open a website", "fill out a form", "click a button", "scrape data", "test this web app", "automate browser actions", or any programmatic web interaction request.

日本語の概要は準備中です。原文の説明を表示しています。

Jamie-BitFlight/claude_skills672026年10月12日 更新

Runs the description-drift experiment — spawns all Claude Code agents simultaneously to collect self-reported capabilities, then compares them against static frontmatter descriptions to reveal how reliable orchestrator routing based on descriptions actually is. Use when measuring description drift across the agent fleet, re-running the capability collection experiment, analyzing a specific agent's self-reported capabilities, or auditing whether frontmatter descriptions accurately reflect agent behavior.

日本語の概要は準備中です。原文の説明を表示しています。

Jamie-BitFlight/claude_skills672026年10月12日 更新

Create or adapt Claude Code agent definitions. Use when creating an agent, changing subagent configuration, selecting agent scope, or designing a specialized delegation role.

日本語の概要は準備中です。原文の説明を表示しています。

Jamie-BitFlight/claude_skills672026年10月12日 更新

Jamie-BitFlight のスキルをすべて見る

このスキルの問題を報告する