gitextract_xwrq15g3/ ├── .ccignore ├── .claude/ │ ├── hooks/ │ │ └── session-init.sh │ ├── settings.json │ └── skills/ │ ├── code-review/ │ │ └── SKILL.md │ ├── python-tests/ │ │ └── SKILL.md │ └── review-pr/ │ └── SKILL.md ├── .coderabbit.yaml ├── .cursor/ │ └── rules/ │ └── core-mcp-objects.mdc ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug.yml │ │ ├── config.yml │ │ └── enhancement.yml │ ├── actions/ │ │ ├── run-claude/ │ │ │ └── action.yml │ │ ├── run-pytest/ │ │ │ └── action.yml │ │ └── setup-uv/ │ │ └── action.yml │ ├── dependabot.yml │ ├── pull_request_template.md │ ├── release.yml │ ├── scripts/ │ │ ├── mention/ │ │ │ ├── gh-get-review-threads.sh │ │ │ └── gh-resolve-review-thread.sh │ │ └── pr-review/ │ │ ├── pr-comment.sh │ │ ├── pr-diff.sh │ │ ├── pr-existing-comments.sh │ │ ├── pr-remove-comment.sh │ │ └── pr-review.sh │ └── workflows/ │ ├── auto-close-duplicates.yml │ ├── auto-close-needs-mre.yml │ ├── martian-test-failure.yml │ ├── martian-triage-issue.yml │ ├── marvin-comment-on-issue.yml │ ├── marvin-comment-on-pr.yml │ ├── marvin-dedupe-issues.yml │ ├── marvin-label-triage.yml │ ├── minimize-resolved-reviews.yml │ ├── publish.yml │ ├── run-static.yml │ ├── run-tests.yml │ ├── run-upgrade-checks.yml │ ├── update-config-schema.yml │ └── update-sdk-docs.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CLAUDE.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── SECURITY.md ├── docs/ │ ├── .ccignore │ ├── .cursor/ │ │ └── rules/ │ │ └── mintlify.mdc │ ├── apps/ │ │ ├── development.mdx │ │ ├── low-level.mdx │ │ ├── overview.mdx │ │ ├── patterns.mdx │ │ └── prefab.mdx │ ├── assets/ │ │ └── schemas/ │ │ └── mcp_server_config/ │ │ ├── latest.json │ │ └── v1.json │ ├── changelog.mdx │ ├── cli/ │ │ ├── auth.mdx │ │ ├── client.mdx │ │ ├── generate-cli.mdx │ │ ├── inspecting.mdx │ │ ├── install-mcp.mdx │ │ ├── overview.mdx │ │ └── running.mdx │ ├── clients/ │ │ ├── auth/ │ │ │ ├── bearer.mdx │ │ │ ├── cimd.mdx │ │ │ └── oauth.mdx │ │ ├── cli.mdx │ │ ├── client.mdx │ │ ├── elicitation.mdx │ │ ├── generate-cli.mdx │ │ ├── logging.mdx │ │ ├── notifications.mdx │ │ ├── progress.mdx │ │ ├── prompts.mdx │ │ ├── resources.mdx │ │ ├── roots.mdx │ │ ├── sampling.mdx │ │ ├── tasks.mdx │ │ ├── tools.mdx │ │ └── transports.mdx │ ├── community/ │ │ ├── README.md │ │ └── showcase.mdx │ ├── css/ │ │ ├── banner.css │ │ ├── python-sdk.css │ │ ├── style.css │ │ └── version-badge.css │ ├── deployment/ │ │ ├── http.mdx │ │ ├── prefect-horizon.mdx │ │ ├── running-server.mdx │ │ └── server-configuration.mdx │ ├── development/ │ │ ├── contributing.mdx │ │ ├── releases.mdx │ │ ├── tests.mdx │ │ └── v3-notes/ │ │ ├── auth-provider-env-vars.mdx │ │ └── v3-features.mdx │ ├── docs.json │ ├── getting-started/ │ │ ├── installation.mdx │ │ ├── quickstart.mdx │ │ ├── upgrading/ │ │ │ ├── from-fastmcp-2.mdx │ │ │ ├── from-low-level-sdk.mdx │ │ │ └── from-mcp-sdk.mdx │ │ └── welcome.mdx │ ├── integrations/ │ │ ├── anthropic.mdx │ │ ├── auth0.mdx │ │ ├── authkit.mdx │ │ ├── aws-cognito.mdx │ │ ├── azure.mdx │ │ ├── chatgpt.mdx │ │ ├── claude-code.mdx │ │ ├── claude-desktop.mdx │ │ ├── cursor.mdx │ │ ├── descope.mdx │ │ ├── discord.mdx │ │ ├── eunomia-authorization.mdx │ │ ├── fastapi.mdx │ │ ├── gemini-cli.mdx │ │ ├── gemini.mdx │ │ ├── github.mdx │ │ ├── google.mdx │ │ ├── goose.mdx │ │ ├── mcp-json-configuration.mdx │ │ ├── oci.mdx │ │ ├── openai.mdx │ │ ├── openapi.mdx │ │ ├── permit.mdx │ │ ├── propelauth.mdx │ │ ├── scalekit.mdx │ │ ├── supabase.mdx │ │ └── workos.mdx │ ├── more/ │ │ └── settings.mdx │ ├── patterns/ │ │ ├── cli.mdx │ │ ├── contrib.mdx │ │ └── testing.mdx │ ├── public/ │ │ └── schemas/ │ │ └── fastmcp.json/ │ │ ├── latest.json │ │ └── v1.json │ ├── python-sdk/ │ │ ├── fastmcp-cli-__init__.mdx │ │ ├── fastmcp-cli-apps_dev.mdx │ │ ├── fastmcp-cli-auth.mdx │ │ ├── fastmcp-cli-cimd.mdx │ │ ├── fastmcp-cli-cli.mdx │ │ ├── fastmcp-cli-client.mdx │ │ ├── fastmcp-cli-discovery.mdx │ │ ├── fastmcp-cli-generate.mdx │ │ ├── fastmcp-cli-install-__init__.mdx │ │ ├── fastmcp-cli-install-claude_code.mdx │ │ ├── fastmcp-cli-install-claude_desktop.mdx │ │ ├── fastmcp-cli-install-cursor.mdx │ │ ├── fastmcp-cli-install-gemini_cli.mdx │ │ ├── fastmcp-cli-install-goose.mdx │ │ ├── fastmcp-cli-install-mcp_json.mdx │ │ ├── fastmcp-cli-install-shared.mdx │ │ ├── fastmcp-cli-install-stdio.mdx │ │ ├── fastmcp-cli-run.mdx │ │ ├── fastmcp-cli-tasks.mdx │ │ ├── fastmcp-client-__init__.mdx │ │ ├── fastmcp-client-auth-__init__.mdx │ │ ├── fastmcp-client-auth-bearer.mdx │ │ ├── fastmcp-client-auth-oauth.mdx │ │ ├── fastmcp-client-client.mdx │ │ ├── fastmcp-client-elicitation.mdx │ │ ├── fastmcp-client-logging.mdx │ │ ├── fastmcp-client-messages.mdx │ │ ├── fastmcp-client-mixins-__init__.mdx │ │ ├── fastmcp-client-mixins-prompts.mdx │ │ ├── fastmcp-client-mixins-resources.mdx │ │ ├── fastmcp-client-mixins-task_management.mdx │ │ ├── fastmcp-client-mixins-tools.mdx │ │ ├── fastmcp-client-oauth_callback.mdx │ │ ├── fastmcp-client-progress.mdx │ │ ├── fastmcp-client-roots.mdx │ │ ├── fastmcp-client-sampling-__init__.mdx │ │ ├── fastmcp-client-sampling-handlers-__init__.mdx │ │ ├── fastmcp-client-sampling-handlers-anthropic.mdx │ │ ├── fastmcp-client-sampling-handlers-google_genai.mdx │ │ ├── fastmcp-client-sampling-handlers-openai.mdx │ │ ├── fastmcp-client-tasks.mdx │ │ ├── fastmcp-client-telemetry.mdx │ │ ├── fastmcp-client-transports-__init__.mdx │ │ ├── fastmcp-client-transports-base.mdx │ │ ├── fastmcp-client-transports-config.mdx │ │ ├── fastmcp-client-transports-http.mdx │ │ ├── fastmcp-client-transports-inference.mdx │ │ ├── fastmcp-client-transports-memory.mdx │ │ ├── fastmcp-client-transports-sse.mdx │ │ ├── fastmcp-client-transports-stdio.mdx │ │ ├── fastmcp-decorators.mdx │ │ ├── fastmcp-dependencies.mdx │ │ ├── fastmcp-exceptions.mdx │ │ ├── fastmcp-experimental-__init__.mdx │ │ ├── fastmcp-experimental-sampling-__init__.mdx │ │ ├── fastmcp-experimental-sampling-handlers.mdx │ │ ├── fastmcp-experimental-transforms-__init__.mdx │ │ ├── fastmcp-experimental-transforms-code_mode.mdx │ │ ├── fastmcp-mcp_config.mdx │ │ ├── fastmcp-prompts-__init__.mdx │ │ ├── fastmcp-prompts-base.mdx │ │ ├── fastmcp-prompts-function_prompt.mdx │ │ ├── fastmcp-resources-__init__.mdx │ │ ├── fastmcp-resources-base.mdx │ │ ├── fastmcp-resources-function_resource.mdx │ │ ├── fastmcp-resources-template.mdx │ │ ├── fastmcp-resources-types.mdx │ │ ├── fastmcp-server-__init__.mdx │ │ ├── fastmcp-server-app.mdx │ │ ├── fastmcp-server-apps.mdx │ │ ├── fastmcp-server-auth-__init__.mdx │ │ ├── fastmcp-server-auth-auth.mdx │ │ ├── fastmcp-server-auth-authorization.mdx │ │ ├── fastmcp-server-auth-cimd.mdx │ │ ├── fastmcp-server-auth-jwt_issuer.mdx │ │ ├── fastmcp-server-auth-middleware.mdx │ │ ├── fastmcp-server-auth-oauth_proxy-__init__.mdx │ │ ├── fastmcp-server-auth-oauth_proxy-consent.mdx │ │ ├── fastmcp-server-auth-oauth_proxy-models.mdx │ │ ├── fastmcp-server-auth-oauth_proxy-proxy.mdx │ │ ├── fastmcp-server-auth-oauth_proxy-ui.mdx │ │ ├── fastmcp-server-auth-oidc_proxy.mdx │ │ ├── fastmcp-server-auth-providers-__init__.mdx │ │ ├── fastmcp-server-auth-providers-auth0.mdx │ │ ├── fastmcp-server-auth-providers-aws.mdx │ │ ├── fastmcp-server-auth-providers-azure.mdx │ │ ├── fastmcp-server-auth-providers-debug.mdx │ │ ├── fastmcp-server-auth-providers-descope.mdx │ │ ├── fastmcp-server-auth-providers-discord.mdx │ │ ├── fastmcp-server-auth-providers-github.mdx │ │ ├── fastmcp-server-auth-providers-google.mdx │ │ ├── fastmcp-server-auth-providers-in_memory.mdx │ │ ├── fastmcp-server-auth-providers-introspection.mdx │ │ ├── fastmcp-server-auth-providers-jwt.mdx │ │ ├── fastmcp-server-auth-providers-oci.mdx │ │ ├── fastmcp-server-auth-providers-propelauth.mdx │ │ ├── fastmcp-server-auth-providers-scalekit.mdx │ │ ├── fastmcp-server-auth-providers-supabase.mdx │ │ ├── fastmcp-server-auth-providers-workos.mdx │ │ ├── fastmcp-server-auth-redirect_validation.mdx │ │ ├── fastmcp-server-auth-ssrf.mdx │ │ ├── fastmcp-server-context.mdx │ │ ├── fastmcp-server-dependencies.mdx │ │ ├── fastmcp-server-elicitation.mdx │ │ ├── fastmcp-server-event_store.mdx │ │ ├── fastmcp-server-http.mdx │ │ ├── fastmcp-server-lifespan.mdx │ │ ├── fastmcp-server-low_level.mdx │ │ ├── fastmcp-server-middleware-__init__.mdx │ │ ├── fastmcp-server-middleware-authorization.mdx │ │ ├── fastmcp-server-middleware-caching.mdx │ │ ├── fastmcp-server-middleware-dereference.mdx │ │ ├── fastmcp-server-middleware-error_handling.mdx │ │ ├── fastmcp-server-middleware-logging.mdx │ │ ├── fastmcp-server-middleware-middleware.mdx │ │ ├── fastmcp-server-middleware-ping.mdx │ │ ├── fastmcp-server-middleware-rate_limiting.mdx │ │ ├── fastmcp-server-middleware-response_limiting.mdx │ │ ├── fastmcp-server-middleware-timing.mdx │ │ ├── fastmcp-server-middleware-tool_injection.mdx │ │ ├── fastmcp-server-mixins-__init__.mdx │ │ ├── fastmcp-server-mixins-lifespan.mdx │ │ ├── fastmcp-server-mixins-mcp_operations.mdx │ │ ├── fastmcp-server-mixins-transport.mdx │ │ ├── fastmcp-server-openapi-__init__.mdx │ │ ├── fastmcp-server-openapi-components.mdx │ │ ├── fastmcp-server-openapi-routing.mdx │ │ ├── fastmcp-server-openapi-server.mdx │ │ ├── fastmcp-server-providers-__init__.mdx │ │ ├── fastmcp-server-providers-aggregate.mdx │ │ ├── fastmcp-server-providers-base.mdx │ │ ├── fastmcp-server-providers-fastmcp_provider.mdx │ │ ├── fastmcp-server-providers-filesystem.mdx │ │ ├── fastmcp-server-providers-filesystem_discovery.mdx │ │ ├── fastmcp-server-providers-local_provider-__init__.mdx │ │ ├── fastmcp-server-providers-local_provider-decorators-__init__.mdx │ │ ├── fastmcp-server-providers-local_provider-decorators-prompts.mdx │ │ ├── fastmcp-server-providers-local_provider-decorators-resources.mdx │ │ ├── fastmcp-server-providers-local_provider-decorators-tools.mdx │ │ ├── fastmcp-server-providers-local_provider-local_provider.mdx │ │ ├── fastmcp-server-providers-openapi-__init__.mdx │ │ ├── fastmcp-server-providers-openapi-components.mdx │ │ ├── fastmcp-server-providers-openapi-provider.mdx │ │ ├── fastmcp-server-providers-openapi-routing.mdx │ │ ├── fastmcp-server-providers-proxy.mdx │ │ ├── fastmcp-server-providers-skills-__init__.mdx │ │ ├── fastmcp-server-providers-skills-claude_provider.mdx │ │ ├── fastmcp-server-providers-skills-directory_provider.mdx │ │ ├── fastmcp-server-providers-skills-skill_provider.mdx │ │ ├── fastmcp-server-providers-skills-vendor_providers.mdx │ │ ├── fastmcp-server-providers-wrapped_provider.mdx │ │ ├── fastmcp-server-proxy.mdx │ │ ├── fastmcp-server-sampling-__init__.mdx │ │ ├── fastmcp-server-sampling-run.mdx │ │ ├── fastmcp-server-sampling-sampling_tool.mdx │ │ ├── fastmcp-server-server.mdx │ │ ├── fastmcp-server-tasks-__init__.mdx │ │ ├── fastmcp-server-tasks-capabilities.mdx │ │ ├── fastmcp-server-tasks-config.mdx │ │ ├── fastmcp-server-tasks-elicitation.mdx │ │ ├── fastmcp-server-tasks-handlers.mdx │ │ ├── fastmcp-server-tasks-keys.mdx │ │ ├── fastmcp-server-tasks-notifications.mdx │ │ ├── fastmcp-server-tasks-requests.mdx │ │ ├── fastmcp-server-tasks-routing.mdx │ │ ├── fastmcp-server-tasks-subscriptions.mdx │ │ ├── fastmcp-server-telemetry.mdx │ │ ├── fastmcp-server-transforms-__init__.mdx │ │ ├── fastmcp-server-transforms-catalog.mdx │ │ ├── fastmcp-server-transforms-namespace.mdx │ │ ├── fastmcp-server-transforms-prompts_as_tools.mdx │ │ ├── fastmcp-server-transforms-resources_as_tools.mdx │ │ ├── fastmcp-server-transforms-search-__init__.mdx │ │ ├── fastmcp-server-transforms-search-base.mdx │ │ ├── fastmcp-server-transforms-search-bm25.mdx │ │ ├── fastmcp-server-transforms-search-regex.mdx │ │ ├── fastmcp-server-transforms-tool_transform.mdx │ │ ├── fastmcp-server-transforms-version_filter.mdx │ │ ├── fastmcp-server-transforms-visibility.mdx │ │ ├── fastmcp-settings.mdx │ │ ├── fastmcp-telemetry.mdx │ │ ├── fastmcp-tools-__init__.mdx │ │ ├── fastmcp-tools-base.mdx │ │ ├── fastmcp-tools-function_parsing.mdx │ │ ├── fastmcp-tools-function_tool.mdx │ │ ├── fastmcp-tools-tool_transform.mdx │ │ ├── fastmcp-utilities-__init__.mdx │ │ ├── fastmcp-utilities-async_utils.mdx │ │ ├── fastmcp-utilities-auth.mdx │ │ ├── fastmcp-utilities-cli.mdx │ │ ├── fastmcp-utilities-components.mdx │ │ ├── fastmcp-utilities-exceptions.mdx │ │ ├── fastmcp-utilities-http.mdx │ │ ├── fastmcp-utilities-inspect.mdx │ │ ├── fastmcp-utilities-json_schema.mdx │ │ ├── fastmcp-utilities-json_schema_type.mdx │ │ ├── fastmcp-utilities-lifespan.mdx │ │ ├── fastmcp-utilities-logging.mdx │ │ ├── fastmcp-utilities-mcp_server_config-__init__.mdx │ │ ├── fastmcp-utilities-mcp_server_config-v1-__init__.mdx │ │ ├── fastmcp-utilities-mcp_server_config-v1-environments-__init__.mdx │ │ ├── fastmcp-utilities-mcp_server_config-v1-environments-base.mdx │ │ ├── fastmcp-utilities-mcp_server_config-v1-environments-uv.mdx │ │ ├── fastmcp-utilities-mcp_server_config-v1-mcp_server_config.mdx │ │ ├── fastmcp-utilities-mcp_server_config-v1-sources-__init__.mdx │ │ ├── fastmcp-utilities-mcp_server_config-v1-sources-base.mdx │ │ ├── fastmcp-utilities-mcp_server_config-v1-sources-filesystem.mdx │ │ ├── fastmcp-utilities-openapi-__init__.mdx │ │ ├── fastmcp-utilities-openapi-director.mdx │ │ ├── fastmcp-utilities-openapi-formatters.mdx │ │ ├── fastmcp-utilities-openapi-json_schema_converter.mdx │ │ ├── fastmcp-utilities-openapi-models.mdx │ │ ├── fastmcp-utilities-openapi-parser.mdx │ │ ├── fastmcp-utilities-openapi-schemas.mdx │ │ ├── fastmcp-utilities-pagination.mdx │ │ ├── fastmcp-utilities-skills.mdx │ │ ├── fastmcp-utilities-tests.mdx │ │ ├── fastmcp-utilities-timeout.mdx │ │ ├── fastmcp-utilities-token_cache.mdx │ │ ├── fastmcp-utilities-types.mdx │ │ ├── fastmcp-utilities-ui.mdx │ │ ├── fastmcp-utilities-version_check.mdx │ │ └── fastmcp-utilities-versions.mdx │ ├── servers/ │ │ ├── auth/ │ │ │ ├── authentication.mdx │ │ │ ├── full-oauth-server.mdx │ │ │ ├── multi-auth.mdx │ │ │ ├── oauth-proxy.mdx │ │ │ ├── oidc-proxy.mdx │ │ │ ├── remote-oauth.mdx │ │ │ └── token-verification.mdx │ │ ├── authorization.mdx │ │ ├── composition.mdx │ │ ├── context.mdx │ │ ├── dependency-injection.mdx │ │ ├── elicitation.mdx │ │ ├── icons.mdx │ │ ├── lifespan.mdx │ │ ├── logging.mdx │ │ ├── middleware.mdx │ │ ├── pagination.mdx │ │ ├── progress.mdx │ │ ├── prompts.mdx │ │ ├── providers/ │ │ │ ├── custom.mdx │ │ │ ├── filesystem.mdx │ │ │ ├── local.mdx │ │ │ ├── overview.mdx │ │ │ ├── proxy.mdx │ │ │ └── skills.mdx │ │ ├── resources.mdx │ │ ├── sampling.mdx │ │ ├── server.mdx │ │ ├── storage-backends.mdx │ │ ├── tasks.mdx │ │ ├── telemetry.mdx │ │ ├── testing.mdx │ │ ├── tools.mdx │ │ ├── transforms/ │ │ │ ├── code-mode.mdx │ │ │ ├── namespace.mdx │ │ │ ├── namespacing.mdx │ │ │ ├── prompts-as-tools.mdx │ │ │ ├── resources-as-tools.mdx │ │ │ ├── tool-search.mdx │ │ │ ├── tool-transformation.mdx │ │ │ └── transforms.mdx │ │ ├── versioning.mdx │ │ └── visibility.mdx │ ├── snippets/ │ │ ├── local-focus.mdx │ │ ├── version-badge.mdx │ │ └── youtube-embed.mdx │ ├── tutorials/ │ │ ├── create-mcp-server.mdx │ │ ├── mcp.mdx │ │ └── rest-api.mdx │ ├── unify-intent.js │ ├── updates.mdx │ ├── v2/ │ │ ├── changelog.mdx │ │ ├── clients/ │ │ │ ├── auth/ │ │ │ │ ├── bearer.mdx │ │ │ │ └── oauth.mdx │ │ │ ├── client.mdx │ │ │ ├── elicitation.mdx │ │ │ ├── logging.mdx │ │ │ ├── messages.mdx │ │ │ ├── progress.mdx │ │ │ ├── prompts.mdx │ │ │ ├── resources.mdx │ │ │ ├── roots.mdx │ │ │ ├── sampling.mdx │ │ │ ├── tasks.mdx │ │ │ ├── tools.mdx │ │ │ └── transports.mdx │ │ ├── community/ │ │ │ └── showcase.mdx │ │ ├── deployment/ │ │ │ ├── http.mdx │ │ │ ├── running-server.mdx │ │ │ └── server-configuration.mdx │ │ ├── development/ │ │ │ ├── contributing.mdx │ │ │ ├── releases.mdx │ │ │ ├── tests.mdx │ │ │ └── upgrade-guide.mdx │ │ ├── getting-started/ │ │ │ ├── installation.mdx │ │ │ ├── quickstart.mdx │ │ │ └── welcome.mdx │ │ ├── integrations/ │ │ │ ├── anthropic.mdx │ │ │ ├── auth0.mdx │ │ │ ├── authkit.mdx │ │ │ ├── aws-cognito.mdx │ │ │ ├── azure.mdx │ │ │ ├── chatgpt.mdx │ │ │ ├── claude-code.mdx │ │ │ ├── claude-desktop.mdx │ │ │ ├── cursor.mdx │ │ │ ├── descope.mdx │ │ │ ├── discord.mdx │ │ │ ├── eunomia-authorization.mdx │ │ │ ├── fastapi.mdx │ │ │ ├── gemini-cli.mdx │ │ │ ├── gemini.mdx │ │ │ ├── github.mdx │ │ │ ├── google.mdx │ │ │ ├── mcp-json-configuration.mdx │ │ │ ├── oci.mdx │ │ │ ├── openai.mdx │ │ │ ├── openapi.mdx │ │ │ ├── permit.mdx │ │ │ ├── scalekit.mdx │ │ │ ├── supabase.mdx │ │ │ └── workos.mdx │ │ ├── patterns/ │ │ │ ├── cli.mdx │ │ │ ├── contrib.mdx │ │ │ ├── decorating-methods.mdx │ │ │ ├── testing.mdx │ │ │ └── tool-transformation.mdx │ │ ├── servers/ │ │ │ ├── auth/ │ │ │ │ ├── authentication.mdx │ │ │ │ ├── full-oauth-server.mdx │ │ │ │ ├── oauth-proxy.mdx │ │ │ │ ├── oidc-proxy.mdx │ │ │ │ ├── remote-oauth.mdx │ │ │ │ └── token-verification.mdx │ │ │ ├── composition.mdx │ │ │ ├── context.mdx │ │ │ ├── elicitation.mdx │ │ │ ├── icons.mdx │ │ │ ├── logging.mdx │ │ │ ├── middleware.mdx │ │ │ ├── progress.mdx │ │ │ ├── prompts.mdx │ │ │ ├── proxy.mdx │ │ │ ├── resources.mdx │ │ │ ├── sampling.mdx │ │ │ ├── server.mdx │ │ │ ├── storage-backends.mdx │ │ │ ├── tasks.mdx │ │ │ └── tools.mdx │ │ ├── tutorials/ │ │ │ ├── create-mcp-server.mdx │ │ │ ├── mcp.mdx │ │ │ └── rest-api.mdx │ │ └── updates.mdx │ └── v2-banner.js ├── examples/ │ ├── apps/ │ │ ├── chart_server.py │ │ ├── contacts/ │ │ │ └── contacts_server.py │ │ ├── datatable_server.py │ │ ├── greet_server.py │ │ ├── patterns_server.py │ │ └── qr_server/ │ │ ├── README.md │ │ ├── fastmcp.json │ │ ├── pyproject.toml │ │ └── qr_server.py │ ├── atproto_mcp/ │ │ ├── README.md │ │ ├── demo.py │ │ ├── fastmcp.json │ │ ├── pyproject.toml │ │ └── src/ │ │ └── atproto_mcp/ │ │ ├── __init__.py │ │ ├── __main__.py │ │ ├── _atproto/ │ │ │ ├── __init__.py │ │ │ ├── _client.py │ │ │ ├── _posts.py │ │ │ ├── _profile.py │ │ │ ├── _read.py │ │ │ └── _social.py │ │ ├── py.typed │ │ ├── server.py │ │ ├── settings.py │ │ └── types.py │ ├── auth/ │ │ ├── authkit_dcr/ │ │ │ ├── README.md │ │ │ ├── client.py │ │ │ └── server.py │ │ ├── aws_oauth/ │ │ │ ├── README.md │ │ │ ├── client.py │ │ │ ├── requirements.txt │ │ │ └── server.py │ │ ├── azure_oauth/ │ │ │ ├── README.md │ │ │ ├── client.py │ │ │ └── server.py │ │ ├── discord_oauth/ │ │ │ ├── README.md │ │ │ ├── client.py │ │ │ └── server.py │ │ ├── github_oauth/ │ │ │ ├── README.md │ │ │ ├── client.py │ │ │ └── server.py │ │ ├── google_oauth/ │ │ │ ├── README.md │ │ │ ├── client.py │ │ │ └── server.py │ │ ├── mounted/ │ │ │ ├── README.md │ │ │ ├── client.py │ │ │ └── server.py │ │ ├── propelauth_oauth/ │ │ │ ├── README.md │ │ │ ├── client.py │ │ │ └── server.py │ │ ├── scalekit_oauth/ │ │ │ ├── README.md │ │ │ ├── client.py │ │ │ └── server.py │ │ └── workos_oauth/ │ │ ├── README.md │ │ ├── client.py │ │ └── server.py │ ├── code_mode/ │ │ ├── README.md │ │ ├── client.py │ │ └── server.py │ ├── complex_inputs.py │ ├── config_server.py │ ├── custom_tool_serializer_decorator.py │ ├── desktop.py │ ├── diagnostics/ │ │ ├── client_with_tracing.py │ │ └── server.py │ ├── echo.py │ ├── elicitation.py │ ├── fastmcp_config/ │ │ ├── env_interpolation_example.json │ │ ├── fastmcp.json │ │ ├── full_example.fastmcp.json │ │ ├── server.py │ │ └── simple.fastmcp.json │ ├── fastmcp_config_demo/ │ │ ├── README.md │ │ ├── fastmcp.json │ │ └── server.py │ ├── filesystem-provider/ │ │ ├── mcp/ │ │ │ ├── prompts/ │ │ │ │ └── assistant.py │ │ │ ├── resources/ │ │ │ │ └── config.py │ │ │ └── tools/ │ │ │ ├── calculator.py │ │ │ └── greeting.py │ │ └── server.py │ ├── get_file.py │ ├── in_memory_proxy_example.py │ ├── memory.fastmcp.json │ ├── memory.py │ ├── mount_example.fastmcp.json │ ├── mount_example.py │ ├── namespace_activation/ │ │ ├── README.md │ │ ├── client.py │ │ └── server.py │ ├── persistent_state/ │ │ ├── README.md │ │ ├── client.py │ │ ├── client_stdio.py │ │ └── server.py │ ├── prompts_as_tools/ │ │ ├── client.py │ │ └── server.py │ ├── providers/ │ │ └── sqlite/ │ │ ├── README.md │ │ ├── server.py │ │ └── setup_db.py │ ├── resources_as_tools/ │ │ ├── client.py │ │ └── server.py │ ├── run_with_tracing.py │ ├── sampling/ │ │ ├── README.md │ │ ├── server_fallback.py │ │ ├── structured_output.py │ │ ├── text.py │ │ └── tool_use.py │ ├── screenshot.fastmcp.json │ ├── screenshot.py │ ├── search/ │ │ ├── README.md │ │ ├── client_bm25.py │ │ ├── client_regex.py │ │ ├── server_bm25.py │ │ └── server_regex.py │ ├── simple_echo.py │ ├── skills/ │ │ ├── README.md │ │ ├── client.py │ │ ├── download_skills.py │ │ ├── sample_skills/ │ │ │ ├── code-review/ │ │ │ │ └── SKILL.md │ │ │ └── pdf-processing/ │ │ │ ├── SKILL.md │ │ │ └── reference.md │ │ └── server.py │ ├── smart_home/ │ │ ├── README.md │ │ ├── hub.fastmcp.json │ │ ├── lights.fastmcp.json │ │ ├── pyproject.toml │ │ └── src/ │ │ └── smart_home/ │ │ ├── __init__.py │ │ ├── __main__.py │ │ ├── hub.py │ │ ├── lights/ │ │ │ ├── __init__.py │ │ │ ├── hue_utils.py │ │ │ └── server.py │ │ ├── py.typed │ │ └── settings.py │ ├── tags_example.py │ ├── task_elicitation.py │ ├── tasks/ │ │ ├── README.md │ │ ├── client.py │ │ ├── docker-compose.yml │ │ └── server.py │ ├── testing_demo/ │ │ ├── README.md │ │ ├── pyproject.toml │ │ ├── server.py │ │ └── tests/ │ │ └── test_server.py │ ├── text_me.py │ ├── tool_result_echo.py │ └── versioning/ │ ├── client_version_selection.py │ ├── version_filters.py │ └── versioned_components.py ├── justfile ├── logo.py ├── loq.toml ├── pyproject.toml ├── scripts/ │ ├── auto_close_duplicates.py │ ├── auto_close_needs_mre.py │ └── benchmark_imports.py ├── skills/ │ └── fastmcp-client-cli/ │ └── SKILL.md ├── src/ │ └── fastmcp/ │ ├── __init__.py │ ├── cli/ │ │ ├── __init__.py │ │ ├── __main__.py │ │ ├── apps_dev.py │ │ ├── auth.py │ │ ├── cimd.py │ │ ├── cli.py │ │ ├── client.py │ │ ├── discovery.py │ │ ├── generate.py │ │ ├── install/ │ │ │ ├── __init__.py │ │ │ ├── claude_code.py │ │ │ ├── claude_desktop.py │ │ │ ├── cursor.py │ │ │ ├── gemini_cli.py │ │ │ ├── goose.py │ │ │ ├── mcp_json.py │ │ │ ├── shared.py │ │ │ └── stdio.py │ │ ├── run.py │ │ └── tasks.py │ ├── client/ │ │ ├── __init__.py │ │ ├── auth/ │ │ │ ├── __init__.py │ │ │ ├── bearer.py │ │ │ └── oauth.py │ │ ├── client.py │ │ ├── elicitation.py │ │ ├── logging.py │ │ ├── messages.py │ │ ├── mixins/ │ │ │ ├── __init__.py │ │ │ ├── prompts.py │ │ │ ├── resources.py │ │ │ ├── task_management.py │ │ │ └── tools.py │ │ ├── oauth_callback.py │ │ ├── progress.py │ │ ├── roots.py │ │ ├── sampling/ │ │ │ ├── __init__.py │ │ │ └── handlers/ │ │ │ ├── __init__.py │ │ │ ├── anthropic.py │ │ │ ├── google_genai.py │ │ │ └── openai.py │ │ ├── tasks.py │ │ ├── telemetry.py │ │ └── transports/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── config.py │ │ ├── http.py │ │ ├── inference.py │ │ ├── memory.py │ │ ├── sse.py │ │ └── stdio.py │ ├── contrib/ │ │ ├── README.md │ │ ├── bulk_tool_caller/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── bulk_tool_caller.py │ │ │ └── example.py │ │ ├── component_manager/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── component_manager.py │ │ │ └── example.py │ │ └── mcp_mixin/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── example.py │ │ └── mcp_mixin.py │ ├── decorators.py │ ├── dependencies.py │ ├── exceptions.py │ ├── experimental/ │ │ ├── __init__.py │ │ ├── sampling/ │ │ │ ├── __init__.py │ │ │ └── handlers/ │ │ │ ├── __init__.py │ │ │ └── openai.py │ │ ├── server/ │ │ │ └── openapi/ │ │ │ └── __init__.py │ │ ├── transforms/ │ │ │ ├── __init__.py │ │ │ └── code_mode.py │ │ └── utilities/ │ │ └── openapi/ │ │ └── __init__.py │ ├── mcp_config.py │ ├── prompts/ │ │ ├── __init__.py │ │ ├── base.py │ │ └── function_prompt.py │ ├── py.typed │ ├── resources/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── function_resource.py │ │ ├── template.py │ │ └── types.py │ ├── server/ │ │ ├── __init__.py │ │ ├── app.py │ │ ├── apps.py │ │ ├── auth/ │ │ │ ├── __init__.py │ │ │ ├── auth.py │ │ │ ├── authorization.py │ │ │ ├── cimd.py │ │ │ ├── handlers/ │ │ │ │ └── authorize.py │ │ │ ├── jwt_issuer.py │ │ │ ├── middleware.py │ │ │ ├── oauth_proxy/ │ │ │ │ ├── __init__.py │ │ │ │ ├── consent.py │ │ │ │ ├── models.py │ │ │ │ ├── proxy.py │ │ │ │ └── ui.py │ │ │ ├── oidc_proxy.py │ │ │ ├── providers/ │ │ │ │ ├── __init__.py │ │ │ │ ├── auth0.py │ │ │ │ ├── aws.py │ │ │ │ ├── azure.py │ │ │ │ ├── debug.py │ │ │ │ ├── descope.py │ │ │ │ ├── discord.py │ │ │ │ ├── github.py │ │ │ │ ├── google.py │ │ │ │ ├── in_memory.py │ │ │ │ ├── introspection.py │ │ │ │ ├── jwt.py │ │ │ │ ├── oci.py │ │ │ │ ├── propelauth.py │ │ │ │ ├── scalekit.py │ │ │ │ ├── supabase.py │ │ │ │ └── workos.py │ │ │ ├── redirect_validation.py │ │ │ └── ssrf.py │ │ ├── context.py │ │ ├── dependencies.py │ │ ├── elicitation.py │ │ ├── event_store.py │ │ ├── http.py │ │ ├── lifespan.py │ │ ├── low_level.py │ │ ├── middleware/ │ │ │ ├── __init__.py │ │ │ ├── authorization.py │ │ │ ├── caching.py │ │ │ ├── dereference.py │ │ │ ├── error_handling.py │ │ │ ├── logging.py │ │ │ ├── middleware.py │ │ │ ├── ping.py │ │ │ ├── rate_limiting.py │ │ │ ├── response_limiting.py │ │ │ ├── timing.py │ │ │ └── tool_injection.py │ │ ├── mixins/ │ │ │ ├── __init__.py │ │ │ ├── lifespan.py │ │ │ ├── mcp_operations.py │ │ │ └── transport.py │ │ ├── openapi/ │ │ │ ├── __init__.py │ │ │ ├── components.py │ │ │ ├── routing.py │ │ │ └── server.py │ │ ├── providers/ │ │ │ ├── __init__.py │ │ │ ├── aggregate.py │ │ │ ├── base.py │ │ │ ├── fastmcp_provider.py │ │ │ ├── filesystem.py │ │ │ ├── filesystem_discovery.py │ │ │ ├── local_provider/ │ │ │ │ ├── __init__.py │ │ │ │ ├── decorators/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── prompts.py │ │ │ │ │ ├── resources.py │ │ │ │ │ └── tools.py │ │ │ │ └── local_provider.py │ │ │ ├── openapi/ │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── components.py │ │ │ │ ├── provider.py │ │ │ │ └── routing.py │ │ │ ├── proxy.py │ │ │ ├── skills/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _common.py │ │ │ │ ├── claude_provider.py │ │ │ │ ├── directory_provider.py │ │ │ │ ├── skill_provider.py │ │ │ │ └── vendor_providers.py │ │ │ └── wrapped_provider.py │ │ ├── proxy.py │ │ ├── sampling/ │ │ │ ├── __init__.py │ │ │ ├── run.py │ │ │ └── sampling_tool.py │ │ ├── server.py │ │ ├── tasks/ │ │ │ ├── __init__.py │ │ │ ├── capabilities.py │ │ │ ├── config.py │ │ │ ├── elicitation.py │ │ │ ├── handlers.py │ │ │ ├── keys.py │ │ │ ├── notifications.py │ │ │ ├── requests.py │ │ │ ├── routing.py │ │ │ └── subscriptions.py │ │ ├── telemetry.py │ │ └── transforms/ │ │ ├── __init__.py │ │ ├── catalog.py │ │ ├── namespace.py │ │ ├── prompts_as_tools.py │ │ ├── resources_as_tools.py │ │ ├── search/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── bm25.py │ │ │ └── regex.py │ │ ├── tool_transform.py │ │ ├── version_filter.py │ │ └── visibility.py │ ├── settings.py │ ├── telemetry.py │ ├── tools/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── function_parsing.py │ │ ├── function_tool.py │ │ └── tool_transform.py │ └── utilities/ │ ├── __init__.py │ ├── async_utils.py │ ├── auth.py │ ├── cli.py │ ├── components.py │ ├── exceptions.py │ ├── http.py │ ├── inspect.py │ ├── json_schema.py │ ├── json_schema_type.py │ ├── lifespan.py │ ├── logging.py │ ├── mcp_server_config/ │ │ ├── __init__.py │ │ └── v1/ │ │ ├── __init__.py │ │ ├── environments/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ └── uv.py │ │ ├── mcp_server_config.py │ │ ├── schema.json │ │ └── sources/ │ │ ├── __init__.py │ │ ├── base.py │ │ └── filesystem.py │ ├── openapi/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── director.py │ │ ├── formatters.py │ │ ├── json_schema_converter.py │ │ ├── models.py │ │ ├── parser.py │ │ └── schemas.py │ ├── pagination.py │ ├── skills.py │ ├── tests.py │ ├── timeout.py │ ├── token_cache.py │ ├── types.py │ ├── ui.py │ ├── version_check.py │ └── versions.py ├── tests/ │ ├── __init__.py │ ├── cli/ │ │ ├── __init__.py │ │ ├── test_cimd_cli.py │ │ ├── test_cli.py │ │ ├── test_client_commands.py │ │ ├── test_config.py │ │ ├── test_cursor.py │ │ ├── test_discovery.py │ │ ├── test_generate_cli.py │ │ ├── test_goose.py │ │ ├── test_install.py │ │ ├── test_mcp_server_config_integration.py │ │ ├── test_mcp_server_config_schema.py │ │ ├── test_project_prepare.py │ │ ├── test_run.py │ │ ├── test_run_config.py │ │ ├── test_server_args.py │ │ ├── test_shared.py │ │ ├── test_tasks.py │ │ └── test_with_argv.py │ ├── client/ │ │ ├── __init__.py │ │ ├── auth/ │ │ │ ├── __init__.py │ │ │ ├── test_oauth_cimd.py │ │ │ ├── test_oauth_client.py │ │ │ └── test_oauth_static_client.py │ │ ├── client/ │ │ │ ├── __init__.py │ │ │ ├── test_auth.py │ │ │ ├── test_client.py │ │ │ ├── test_error_handling.py │ │ │ ├── test_initialize.py │ │ │ ├── test_session.py │ │ │ ├── test_timeout.py │ │ │ └── test_transport.py │ │ ├── sampling/ │ │ │ ├── __init__.py │ │ │ └── handlers/ │ │ │ ├── __init__.py │ │ │ ├── test_anthropic_handler.py │ │ │ ├── test_google_genai_handler.py │ │ │ └── test_openai_handler.py │ │ ├── tasks/ │ │ │ ├── conftest.py │ │ │ ├── test_client_prompt_tasks.py │ │ │ ├── test_client_resource_tasks.py │ │ │ ├── test_client_task_notifications.py │ │ │ ├── test_client_task_protocol.py │ │ │ ├── test_client_tool_tasks.py │ │ │ ├── test_task_context_validation.py │ │ │ └── test_task_result_caching.py │ │ ├── telemetry/ │ │ │ ├── __init__.py │ │ │ └── test_client_tracing.py │ │ ├── test_elicitation.py │ │ ├── test_elicitation_enums.py │ │ ├── test_logs.py │ │ ├── test_notifications.py │ │ ├── test_oauth_callback_race.py │ │ ├── test_oauth_callback_xss.py │ │ ├── test_openapi.py │ │ ├── test_progress.py │ │ ├── test_roots.py │ │ ├── test_sampling.py │ │ ├── test_sampling_result_types.py │ │ ├── test_sampling_tool_loop.py │ │ ├── test_sse.py │ │ ├── test_stdio.py │ │ ├── test_streamable_http.py │ │ └── transports/ │ │ ├── __init__.py │ │ ├── test_memory_transport.py │ │ ├── test_no_redirect.py │ │ ├── test_transports.py │ │ └── test_uv_transport.py │ ├── conftest.py │ ├── contrib/ │ │ ├── __init__.py │ │ ├── test_bulk_tool_caller.py │ │ ├── test_component_manager.py │ │ └── test_mcp_mixin.py │ ├── deprecated/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── openapi/ │ │ │ └── test_openapi.py │ │ ├── server/ │ │ │ ├── __init__.py │ │ │ └── test_include_exclude_tags.py │ │ ├── test_add_tool_transformation.py │ │ ├── test_deprecated.py │ │ ├── test_exclude_args.py │ │ ├── test_function_component_imports.py │ │ ├── test_import_server.py │ │ ├── test_openapi_deprecations.py │ │ ├── test_settings.py │ │ ├── test_tool_injection_middleware.py │ │ └── test_tool_serializer.py │ ├── experimental/ │ │ ├── README.md │ │ ├── __init__.py │ │ └── transforms/ │ │ ├── test_code_mode.py │ │ ├── test_code_mode_discovery.py │ │ └── test_code_mode_serialization.py │ ├── fs/ │ │ ├── test_discovery.py │ │ └── test_provider.py │ ├── integration_tests/ │ │ ├── __init__.py │ │ ├── auth/ │ │ │ ├── __init__.py │ │ │ └── test_github_provider_integration.py │ │ ├── conftest.py │ │ ├── test_github_mcp_remote.py │ │ └── test_timeout_fix.py │ ├── prompts/ │ │ ├── __init__.py │ │ ├── test_prompt.py │ │ └── test_standalone_decorator.py │ ├── resources/ │ │ ├── __init__.py │ │ ├── test_file_resources.py │ │ ├── test_function_resources.py │ │ ├── test_resource_template.py │ │ ├── test_resource_template_meta.py │ │ ├── test_resource_template_query_params.py │ │ ├── test_resources.py │ │ └── test_standalone_decorator.py │ ├── server/ │ │ ├── __init__.py │ │ ├── auth/ │ │ │ ├── __init__.py │ │ │ ├── oauth_proxy/ │ │ │ │ ├── __init__.py │ │ │ │ ├── conftest.py │ │ │ │ ├── test_authorization.py │ │ │ │ ├── test_client_registration.py │ │ │ │ ├── test_config.py │ │ │ │ ├── test_e2e.py │ │ │ │ ├── test_oauth_proxy.py │ │ │ │ ├── test_tokens.py │ │ │ │ └── test_ui.py │ │ │ ├── providers/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_auth0.py │ │ │ │ ├── test_aws.py │ │ │ │ ├── test_azure.py │ │ │ │ ├── test_azure_scopes.py │ │ │ │ ├── test_descope.py │ │ │ │ ├── test_discord.py │ │ │ │ ├── test_github.py │ │ │ │ ├── test_google.py │ │ │ │ ├── test_http_client.py │ │ │ │ ├── test_introspection.py │ │ │ │ ├── test_propelauth.py │ │ │ │ ├── test_scalekit.py │ │ │ │ ├── test_supabase.py │ │ │ │ └── test_workos.py │ │ │ ├── test_auth_provider.py │ │ │ ├── test_authorization.py │ │ │ ├── test_cimd.py │ │ │ ├── test_cimd_validators.py │ │ │ ├── test_debug_verifier.py │ │ │ ├── test_enhanced_error_responses.py │ │ │ ├── test_jwt_issuer.py │ │ │ ├── test_jwt_provider.py │ │ │ ├── test_jwt_provider_bearer.py │ │ │ ├── test_multi_auth.py │ │ │ ├── test_oauth_consent_flow.py │ │ │ ├── test_oauth_consent_page.py │ │ │ ├── test_oauth_mounting.py │ │ │ ├── test_oauth_proxy_redirect_validation.py │ │ │ ├── test_oauth_proxy_storage.py │ │ │ ├── test_oidc_proxy.py │ │ │ ├── test_oidc_proxy_token.py │ │ │ ├── test_redirect_validation.py │ │ │ ├── test_remote_auth_provider.py │ │ │ ├── test_ssrf_protection.py │ │ │ └── test_static_token_verifier.py │ │ ├── http/ │ │ │ ├── __init__.py │ │ │ ├── test_bearer_auth_backend.py │ │ │ ├── test_custom_routes.py │ │ │ ├── test_http_auth_middleware.py │ │ │ ├── test_http_dependencies.py │ │ │ ├── test_http_middleware.py │ │ │ └── test_stale_access_token.py │ │ ├── middleware/ │ │ │ ├── __init__.py │ │ │ ├── test_caching.py │ │ │ ├── test_dereference.py │ │ │ ├── test_error_handling.py │ │ │ ├── test_initialization_middleware.py │ │ │ ├── test_logging.py │ │ │ ├── test_middleware.py │ │ │ ├── test_middleware_nested.py │ │ │ ├── test_ping.py │ │ │ ├── test_rate_limiting.py │ │ │ ├── test_response_limiting.py │ │ │ ├── test_timing.py │ │ │ └── test_tool_injection.py │ │ ├── mount/ │ │ │ ├── __init__.py │ │ │ ├── test_advanced.py │ │ │ ├── test_filtering.py │ │ │ ├── test_mount.py │ │ │ ├── test_prompts.py │ │ │ ├── test_proxy.py │ │ │ └── test_resources.py │ │ ├── providers/ │ │ │ ├── __init__.py │ │ │ ├── local_provider_tools/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_context.py │ │ │ │ ├── test_decorator.py │ │ │ │ ├── test_enabled.py │ │ │ │ ├── test_local_provider_tools.py │ │ │ │ ├── test_output_schema.py │ │ │ │ ├── test_parameters.py │ │ │ │ └── test_tags.py │ │ │ ├── openapi/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_comprehensive.py │ │ │ │ ├── test_deepobject_style.py │ │ │ │ ├── test_end_to_end_compatibility.py │ │ │ │ ├── test_openapi_features.py │ │ │ │ ├── test_openapi_performance.py │ │ │ │ ├── test_parameter_collisions.py │ │ │ │ ├── test_performance_comparison.py │ │ │ │ └── test_server.py │ │ │ ├── proxy/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_proxy_client.py │ │ │ │ ├── test_proxy_server.py │ │ │ │ └── test_stateful_proxy_client.py │ │ │ ├── test_base_provider.py │ │ │ ├── test_fastmcp_provider.py │ │ │ ├── test_local_provider.py │ │ │ ├── test_local_provider_prompts.py │ │ │ ├── test_local_provider_resources.py │ │ │ ├── test_skills_provider.py │ │ │ ├── test_skills_vendor_providers.py │ │ │ └── test_transforming_provider.py │ │ ├── sampling/ │ │ │ ├── __init__.py │ │ │ ├── test_prepare_tools.py │ │ │ └── test_sampling_tool.py │ │ ├── tasks/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── test_context_background_task.py │ │ │ ├── test_custom_subclass_tasks.py │ │ │ ├── test_notifications.py │ │ │ ├── test_progress_dependency.py │ │ │ ├── test_resource_task_meta_parameter.py │ │ │ ├── test_server_tasks_parameter.py │ │ │ ├── test_sync_function_task_disabled.py │ │ │ ├── test_task_capabilities.py │ │ │ ├── test_task_config.py │ │ │ ├── test_task_dependencies.py │ │ │ ├── test_task_elicitation_relay.py │ │ │ ├── test_task_meta_parameter.py │ │ │ ├── test_task_metadata.py │ │ │ ├── test_task_methods.py │ │ │ ├── test_task_mount.py │ │ │ ├── test_task_prompts.py │ │ │ ├── test_task_protocol.py │ │ │ ├── test_task_proxy.py │ │ │ ├── test_task_resources.py │ │ │ ├── test_task_return_types.py │ │ │ ├── test_task_security.py │ │ │ ├── test_task_status_notifications.py │ │ │ ├── test_task_tools.py │ │ │ └── test_task_ttl.py │ │ ├── telemetry/ │ │ │ ├── __init__.py │ │ │ ├── test_provider_tracing.py │ │ │ └── test_server_tracing.py │ │ ├── test_app_state.py │ │ ├── test_auth_integration.py │ │ ├── test_auth_integration_errors.py │ │ ├── test_context.py │ │ ├── test_dependencies.py │ │ ├── test_dependencies_advanced.py │ │ ├── test_event_store.py │ │ ├── test_file_server.py │ │ ├── test_icons.py │ │ ├── test_input_validation.py │ │ ├── test_log_level.py │ │ ├── test_logging.py │ │ ├── test_pagination.py │ │ ├── test_providers.py │ │ ├── test_run_server.py │ │ ├── test_server.py │ │ ├── test_server_docket.py │ │ ├── test_server_lifespan.py │ │ ├── test_session_visibility.py │ │ ├── test_streamable_http_no_redirect.py │ │ ├── test_tool_annotations.py │ │ ├── test_tool_transformation.py │ │ ├── transforms/ │ │ │ ├── test_catalog.py │ │ │ ├── test_prompts_as_tools.py │ │ │ ├── test_resources_as_tools.py │ │ │ ├── test_search.py │ │ │ └── test_visibility.py │ │ └── versioning/ │ │ ├── __init__.py │ │ ├── test_calls.py │ │ ├── test_filtering.py │ │ ├── test_mounting.py │ │ ├── test_versioning.py │ │ └── test_visibility_version_fallback.py │ ├── telemetry/ │ │ ├── __init__.py │ │ └── test_module.py │ ├── test_apps.py │ ├── test_apps_prefab.py │ ├── test_fastmcp_app.py │ ├── test_json_schema_generation.py │ ├── test_mcp_config.py │ ├── tools/ │ │ ├── __init__.py │ │ ├── test_standalone_decorator.py │ │ ├── test_tool_future_annotations.py │ │ ├── test_tool_timeout.py │ │ ├── tool/ │ │ │ ├── __init__.py │ │ │ ├── test_callable.py │ │ │ ├── test_content.py │ │ │ ├── test_output_schema.py │ │ │ ├── test_results.py │ │ │ ├── test_title.py │ │ │ └── test_tool.py │ │ └── tool_transform/ │ │ ├── __init__.py │ │ ├── test_args.py │ │ ├── test_metadata.py │ │ ├── test_schemas.py │ │ └── test_tool_transform.py │ └── utilities/ │ ├── __init__.py │ ├── json_schema_type/ │ │ ├── __init__.py │ │ ├── test_advanced.py │ │ ├── test_constraints.py │ │ ├── test_containers.py │ │ ├── test_formats.py │ │ ├── test_json_schema_type.py │ │ └── test_unions.py │ ├── openapi/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_allof_requestbody.py │ │ ├── test_circular_references.py │ │ ├── test_direct_array_schemas.py │ │ ├── test_director.py │ │ ├── test_legacy_compatibility.py │ │ ├── test_models.py │ │ ├── test_nullable_fields.py │ │ ├── test_parser.py │ │ ├── test_propertynames_ref_rewrite.py │ │ ├── test_schemas.py │ │ └── test_transitive_references.py │ ├── test_async_utils.py │ ├── test_auth.py │ ├── test_cli.py │ ├── test_components.py │ ├── test_inspect.py │ ├── test_inspect_icons.py │ ├── test_json_schema.py │ ├── test_logging.py │ ├── test_skills.py │ ├── test_tests.py │ ├── test_token_cache.py │ ├── test_typeadapter.py │ ├── test_types.py │ └── test_version_check.py └── v3-notes/ ├── get-methods-consolidation.md ├── prompt-internal-types.md ├── provider-architecture.md ├── provider-test-pattern.md ├── resource-internal-types.md ├── task-meta-parameter.md └── visibility.md