fastmcp 2.14.1__tar.gz → 2.14.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (736) hide show
  1. {fastmcp-2.14.1 → fastmcp-2.14.2}/PKG-INFO +6 -3
  2. {fastmcp-2.14.1 → fastmcp-2.14.2}/README.md +3 -0
  3. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/changelog.mdx +166 -0
  4. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/docs.json +2 -2
  5. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/getting-started/installation.mdx +4 -0
  6. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/getting-started/welcome.mdx +4 -1
  7. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/supabase.mdx +7 -2
  8. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/updates.mdx +72 -0
  9. {fastmcp-2.14.1 → fastmcp-2.14.2}/pyproject.toml +2 -2
  10. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/prompts/prompt_manager.py +3 -4
  11. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/resources/resource_manager.py +9 -14
  12. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/auth.py +20 -5
  13. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/oauth_proxy.py +73 -15
  14. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/supabase.py +11 -6
  15. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/dependencies.py +5 -0
  16. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/elicitation.py +7 -3
  17. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/middleware/error_handling.py +1 -1
  18. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/openapi/components.py +2 -4
  19. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/server.py +17 -53
  20. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/tools/tool.py +5 -1
  21. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/tools/tool_manager.py +5 -7
  22. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/cli.py +23 -43
  23. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/json_schema.py +40 -0
  24. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/openapi/schemas.py +4 -4
  25. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/test_elicitation.py +16 -4
  26. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/test_sse.py +5 -6
  27. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/test_streamable_http.py +10 -10
  28. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/transports/test_uv_transport.py +27 -5
  29. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/providers/test_supabase.py +24 -0
  30. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/test_oauth_proxy.py +210 -0
  31. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/middleware/test_error_handling.py +18 -1
  32. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/openapi/test_comprehensive.py +32 -0
  33. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_server_tasks_parameter.py +26 -0
  34. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_task_methods.py +43 -0
  35. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_dependencies.py +44 -0
  36. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_logging.py +21 -6
  37. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/tools/test_tool.py +71 -18
  38. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/test_json_schema.py +150 -0
  39. {fastmcp-2.14.1 → fastmcp-2.14.2}/uv.lock +5 -5
  40. {fastmcp-2.14.1 → fastmcp-2.14.2}/.ccignore +0 -0
  41. {fastmcp-2.14.1 → fastmcp-2.14.2}/.cursor/rules/core-mcp-objects.mdc +0 -0
  42. {fastmcp-2.14.1 → fastmcp-2.14.2}/.cursor/worktrees.json +0 -0
  43. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/ISSUE_TEMPLATE/bug.yml +0 -0
  44. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  45. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/ISSUE_TEMPLATE/enhancement.yml +0 -0
  46. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/copilot-instructions.md +0 -0
  47. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/dependabot.yml +0 -0
  48. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/pull_request_template.md +0 -0
  49. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/release.yml +0 -0
  50. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/workflows/auto-close-duplicates.yml +0 -0
  51. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/workflows/auto-close-needs-mre.yml +0 -0
  52. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/workflows/martian-issue-triage.yml +0 -0
  53. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/workflows/martian-test-failure.yml +0 -0
  54. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/workflows/marvin-dedupe-issues.yml +0 -0
  55. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/workflows/marvin-label-triage.yml +0 -0
  56. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/workflows/marvin.yml +0 -0
  57. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/workflows/publish.yml +0 -0
  58. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/workflows/run-static.yml +0 -0
  59. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/workflows/run-tests.yml +0 -0
  60. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/workflows/update-config-schema.yml +0 -0
  61. {fastmcp-2.14.1 → fastmcp-2.14.2}/.github/workflows/update-sdk-docs.yml +0 -0
  62. {fastmcp-2.14.1 → fastmcp-2.14.2}/.gitignore +0 -0
  63. {fastmcp-2.14.1 → fastmcp-2.14.2}/.pre-commit-config.yaml +0 -0
  64. {fastmcp-2.14.1 → fastmcp-2.14.2}/AGENTS.md +0 -0
  65. {fastmcp-2.14.1 → fastmcp-2.14.2}/CLAUDE.md +0 -0
  66. {fastmcp-2.14.1 → fastmcp-2.14.2}/CODE_OF_CONDUCT.md +0 -0
  67. {fastmcp-2.14.1 → fastmcp-2.14.2}/LICENSE +0 -0
  68. {fastmcp-2.14.1 → fastmcp-2.14.2}/SECURITY.md +0 -0
  69. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/.ccignore +0 -0
  70. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/.cursor/rules/mintlify.mdc +0 -0
  71. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/brand/blue-logo.png +0 -0
  72. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/brand/f-watercolor-waves-dark.png +0 -0
  73. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/brand/f-watercolor-waves.png +0 -0
  74. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/brand/favicon.svg +0 -0
  75. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/brand/thumbnail-background.png +0 -0
  76. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/brand/wordmark-padded.png +0 -0
  77. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/brand/wordmark-watercolor-rainbow-dark.png +0 -0
  78. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/brand/wordmark-watercolor-rainbow.png +0 -0
  79. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/brand/wordmark-watercolor-waves-dark.png +0 -0
  80. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/brand/wordmark-watercolor-waves.png +0 -0
  81. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/brand/wordmark-white-padded.png +0 -0
  82. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/brand/wordmark-white.png +0 -0
  83. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/brand/wordmark.png +0 -0
  84. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/images/fastmcp_cloud/connect.png +0 -0
  85. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/images/fastmcp_cloud/create_project.png +0 -0
  86. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/images/fastmcp_cloud/deployment.png +0 -0
  87. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/images/fastmcp_cloud/quickstart.png +0 -0
  88. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/images/oauth-proxy-consent-screen.png +0 -0
  89. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/images/tutorial-rest-api-result.png +0 -0
  90. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/schemas/mcp_server_config/latest.json +0 -0
  91. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/schemas/mcp_server_config/v1.json +0 -0
  92. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/assets/updates/release-2-7.png +0 -0
  93. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/clients/auth/bearer.mdx +0 -0
  94. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/clients/auth/oauth.mdx +0 -0
  95. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/clients/client.mdx +0 -0
  96. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/clients/elicitation.mdx +0 -0
  97. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/clients/logging.mdx +0 -0
  98. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/clients/messages.mdx +0 -0
  99. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/clients/progress.mdx +0 -0
  100. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/clients/prompts.mdx +0 -0
  101. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/clients/resources.mdx +0 -0
  102. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/clients/roots.mdx +0 -0
  103. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/clients/sampling.mdx +0 -0
  104. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/clients/tasks.mdx +0 -0
  105. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/clients/tools.mdx +0 -0
  106. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/clients/transports.mdx +0 -0
  107. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/community/README.md +0 -0
  108. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/community/showcase.mdx +0 -0
  109. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/css/banner.css +0 -0
  110. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/css/python-sdk.css +0 -0
  111. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/css/style.css +0 -0
  112. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/css/version-badge.css +0 -0
  113. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/deployment/fastmcp-cloud.mdx +0 -0
  114. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/deployment/http.mdx +0 -0
  115. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/deployment/running-server.mdx +0 -0
  116. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/deployment/server-configuration.mdx +0 -0
  117. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/development/contributing.mdx +0 -0
  118. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/development/releases.mdx +0 -0
  119. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/development/tests.mdx +0 -0
  120. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/development/upgrade-guide.mdx +0 -0
  121. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/getting-started/quickstart.mdx +0 -0
  122. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/anthropic.mdx +0 -0
  123. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/auth0.mdx +0 -0
  124. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/authkit.mdx +0 -0
  125. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/aws-cognito.mdx +0 -0
  126. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/azure.mdx +0 -0
  127. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/chatgpt.mdx +0 -0
  128. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/claude-code.mdx +0 -0
  129. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/claude-desktop.mdx +0 -0
  130. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/cursor-install-mcp.png +0 -0
  131. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/cursor.mdx +0 -0
  132. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/descope.mdx +0 -0
  133. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/discord.mdx +0 -0
  134. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/eunomia-authorization.mdx +0 -0
  135. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/fastapi.mdx +0 -0
  136. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/gemini-cli.mdx +0 -0
  137. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/gemini.mdx +0 -0
  138. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/github.mdx +0 -0
  139. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/google.mdx +0 -0
  140. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/images/authkit/enable_dcr.png +0 -0
  141. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/images/oci/ociaddapplication.png +0 -0
  142. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/images/oci/ocieditdomainsettings.png +0 -0
  143. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/images/oci/ocieditdomainsettingsbutton.png +0 -0
  144. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/images/oci/ocioauthconfiguration.png +0 -0
  145. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/images/permit/abac_condition_example.png +0 -0
  146. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/images/permit/abac_policy_example.png +0 -0
  147. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/images/permit/policy_mapping.png +0 -0
  148. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/images/permit/role_assignement.png +0 -0
  149. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/mcp-json-configuration.mdx +0 -0
  150. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/oci.mdx +0 -0
  151. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/openai.mdx +0 -0
  152. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/openapi.mdx +0 -0
  153. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/permit.mdx +0 -0
  154. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/scalekit.mdx +0 -0
  155. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/integrations/workos.mdx +0 -0
  156. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/patterns/cli.mdx +0 -0
  157. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/patterns/contrib.mdx +0 -0
  158. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/patterns/decorating-methods.mdx +0 -0
  159. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/patterns/testing.mdx +0 -0
  160. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/patterns/tool-transformation.mdx +0 -0
  161. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/public/schemas/fastmcp.json/latest.json +0 -0
  162. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/public/schemas/fastmcp.json/v1.json +0 -0
  163. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-__init__.mdx +0 -0
  164. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-cli.mdx +0 -0
  165. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-install-__init__.mdx +0 -0
  166. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-install-claude_code.mdx +0 -0
  167. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-install-claude_desktop.mdx +0 -0
  168. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-install-cursor.mdx +0 -0
  169. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-install-gemini_cli.mdx +0 -0
  170. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-install-mcp_json.mdx +0 -0
  171. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-install-shared.mdx +0 -0
  172. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-run.mdx +0 -0
  173. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-tasks.mdx +0 -0
  174. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-__init__.mdx +0 -0
  175. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-auth-__init__.mdx +0 -0
  176. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-auth-bearer.mdx +0 -0
  177. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-auth-oauth.mdx +0 -0
  178. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-client.mdx +0 -0
  179. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-elicitation.mdx +0 -0
  180. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-logging.mdx +0 -0
  181. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-messages.mdx +0 -0
  182. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-oauth_callback.mdx +0 -0
  183. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-progress.mdx +0 -0
  184. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-roots.mdx +0 -0
  185. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-sampling.mdx +0 -0
  186. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-tasks.mdx +0 -0
  187. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-transports.mdx +0 -0
  188. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-dependencies.mdx +0 -0
  189. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-exceptions.mdx +0 -0
  190. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-mcp_config.mdx +0 -0
  191. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-prompts-__init__.mdx +0 -0
  192. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-prompts-prompt.mdx +0 -0
  193. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-prompts-prompt_manager.mdx +0 -0
  194. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-resources-__init__.mdx +0 -0
  195. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-resources-resource.mdx +0 -0
  196. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-resources-resource_manager.mdx +0 -0
  197. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-resources-template.mdx +0 -0
  198. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-resources-types.mdx +0 -0
  199. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-__init__.mdx +0 -0
  200. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-__init__.mdx +0 -0
  201. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-auth.mdx +0 -0
  202. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-jwt_issuer.mdx +0 -0
  203. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-middleware.mdx +0 -0
  204. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-oauth_proxy.mdx +0 -0
  205. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-oidc_proxy.mdx +0 -0
  206. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-__init__.mdx +0 -0
  207. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-auth0.mdx +0 -0
  208. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-aws.mdx +0 -0
  209. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-azure.mdx +0 -0
  210. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-debug.mdx +0 -0
  211. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-descope.mdx +0 -0
  212. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-discord.mdx +0 -0
  213. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-github.mdx +0 -0
  214. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-google.mdx +0 -0
  215. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-in_memory.mdx +0 -0
  216. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-introspection.mdx +0 -0
  217. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-jwt.mdx +0 -0
  218. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-oci.mdx +0 -0
  219. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-scalekit.mdx +0 -0
  220. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-supabase.mdx +0 -0
  221. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-workos.mdx +0 -0
  222. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-redirect_validation.mdx +0 -0
  223. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-context.mdx +0 -0
  224. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-dependencies.mdx +0 -0
  225. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-elicitation.mdx +0 -0
  226. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-event_store.mdx +0 -0
  227. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-http.mdx +0 -0
  228. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-low_level.mdx +0 -0
  229. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-middleware-__init__.mdx +0 -0
  230. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-middleware-caching.mdx +0 -0
  231. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-middleware-error_handling.mdx +0 -0
  232. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-middleware-logging.mdx +0 -0
  233. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-middleware-middleware.mdx +0 -0
  234. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-middleware-rate_limiting.mdx +0 -0
  235. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-middleware-timing.mdx +0 -0
  236. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-middleware-tool_injection.mdx +0 -0
  237. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-openapi-__init__.mdx +0 -0
  238. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-openapi-components.mdx +0 -0
  239. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-openapi-routing.mdx +0 -0
  240. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-openapi-server.mdx +0 -0
  241. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-proxy.mdx +0 -0
  242. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-server.mdx +0 -0
  243. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-tasks-__init__.mdx +0 -0
  244. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-tasks-capabilities.mdx +0 -0
  245. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-tasks-config.mdx +0 -0
  246. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-tasks-converters.mdx +0 -0
  247. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-tasks-handlers.mdx +0 -0
  248. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-tasks-keys.mdx +0 -0
  249. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-tasks-protocol.mdx +0 -0
  250. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-tasks-subscriptions.mdx +0 -0
  251. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-settings.mdx +0 -0
  252. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-tools-__init__.mdx +0 -0
  253. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-tools-tool.mdx +0 -0
  254. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-tools-tool_manager.mdx +0 -0
  255. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-tools-tool_transform.mdx +0 -0
  256. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-__init__.mdx +0 -0
  257. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-auth.mdx +0 -0
  258. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-cli.mdx +0 -0
  259. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-components.mdx +0 -0
  260. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-exceptions.mdx +0 -0
  261. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-http.mdx +0 -0
  262. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-inspect.mdx +0 -0
  263. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-json_schema.mdx +0 -0
  264. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-json_schema_type.mdx +0 -0
  265. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-logging.mdx +0 -0
  266. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_config.mdx +0 -0
  267. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-__init__.mdx +0 -0
  268. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-__init__.mdx +0 -0
  269. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-environments-__init__.mdx +0 -0
  270. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-environments-base.mdx +0 -0
  271. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-environments-uv.mdx +0 -0
  272. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-mcp_server_config.mdx +0 -0
  273. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-sources-__init__.mdx +0 -0
  274. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-sources-base.mdx +0 -0
  275. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-sources-filesystem.mdx +0 -0
  276. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-openapi-__init__.mdx +0 -0
  277. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-openapi-director.mdx +0 -0
  278. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-openapi-formatters.mdx +0 -0
  279. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-openapi-json_schema_converter.mdx +0 -0
  280. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-openapi-models.mdx +0 -0
  281. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-openapi-parser.mdx +0 -0
  282. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-openapi-schemas.mdx +0 -0
  283. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-tests.mdx +0 -0
  284. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-types.mdx +0 -0
  285. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-ui.mdx +0 -0
  286. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/auth/authentication.mdx +0 -0
  287. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/auth/full-oauth-server.mdx +0 -0
  288. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/auth/oauth-proxy.mdx +0 -0
  289. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/auth/oidc-proxy.mdx +0 -0
  290. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/auth/remote-oauth.mdx +0 -0
  291. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/auth/token-verification.mdx +0 -0
  292. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/composition.mdx +0 -0
  293. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/context.mdx +0 -0
  294. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/elicitation.mdx +0 -0
  295. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/icons.mdx +0 -0
  296. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/logging.mdx +0 -0
  297. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/middleware.mdx +0 -0
  298. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/progress.mdx +0 -0
  299. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/prompts.mdx +0 -0
  300. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/proxy.mdx +0 -0
  301. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/resources.mdx +0 -0
  302. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/sampling.mdx +0 -0
  303. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/server.mdx +0 -0
  304. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/storage-backends.mdx +0 -0
  305. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/tasks.mdx +0 -0
  306. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/servers/tools.mdx +0 -0
  307. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/snippets/local-focus.mdx +0 -0
  308. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/snippets/version-badge.mdx +0 -0
  309. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/snippets/youtube-embed.mdx +0 -0
  310. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/tutorials/create-mcp-server.mdx +0 -0
  311. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/tutorials/mcp.mdx +0 -0
  312. {fastmcp-2.14.1 → fastmcp-2.14.2}/docs/tutorials/rest-api.mdx +0 -0
  313. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/atproto_mcp/README.md +0 -0
  314. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/atproto_mcp/demo.py +0 -0
  315. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/atproto_mcp/fastmcp.json +0 -0
  316. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/atproto_mcp/pyproject.toml +0 -0
  317. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/__init__.py +0 -0
  318. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/__main__.py +0 -0
  319. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/_atproto/__init__.py +0 -0
  320. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/_atproto/_client.py +0 -0
  321. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/_atproto/_posts.py +0 -0
  322. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/_atproto/_profile.py +0 -0
  323. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/_atproto/_read.py +0 -0
  324. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/_atproto/_social.py +0 -0
  325. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/py.typed +0 -0
  326. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/server.py +0 -0
  327. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/settings.py +0 -0
  328. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/types.py +0 -0
  329. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/authkit_dcr/README.md +0 -0
  330. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/authkit_dcr/client.py +0 -0
  331. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/authkit_dcr/server.py +0 -0
  332. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/aws_oauth/README.md +0 -0
  333. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/aws_oauth/client.py +0 -0
  334. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/aws_oauth/requirements.txt +0 -0
  335. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/aws_oauth/server.py +0 -0
  336. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/azure_oauth/README.md +0 -0
  337. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/azure_oauth/client.py +0 -0
  338. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/azure_oauth/server.py +0 -0
  339. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/discord_oauth/README.md +0 -0
  340. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/discord_oauth/client.py +0 -0
  341. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/discord_oauth/server.py +0 -0
  342. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/github_oauth/README.md +0 -0
  343. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/github_oauth/client.py +0 -0
  344. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/github_oauth/server.py +0 -0
  345. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/google_oauth/README.md +0 -0
  346. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/google_oauth/client.py +0 -0
  347. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/google_oauth/server.py +0 -0
  348. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/mounted/README.md +0 -0
  349. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/mounted/client.py +0 -0
  350. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/mounted/server.py +0 -0
  351. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/scalekit_oauth/README.md +0 -0
  352. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/scalekit_oauth/client.py +0 -0
  353. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/scalekit_oauth/server.py +0 -0
  354. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/workos_oauth/README.md +0 -0
  355. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/workos_oauth/client.py +0 -0
  356. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/auth/workos_oauth/server.py +0 -0
  357. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/complex_inputs.py +0 -0
  358. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/config_server.py +0 -0
  359. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/desktop.py +0 -0
  360. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/echo.py +0 -0
  361. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/fastmcp_config/env_interpolation_example.json +0 -0
  362. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/fastmcp_config/fastmcp.json +0 -0
  363. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/fastmcp_config/full_example.fastmcp.json +0 -0
  364. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/fastmcp_config/server.py +0 -0
  365. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/fastmcp_config/simple.fastmcp.json +0 -0
  366. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/fastmcp_config_demo/README.md +0 -0
  367. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/fastmcp_config_demo/fastmcp.json +0 -0
  368. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/fastmcp_config_demo/server.py +0 -0
  369. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/get_file.py +0 -0
  370. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/in_memory_proxy_example.py +0 -0
  371. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/memory.fastmcp.json +0 -0
  372. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/memory.py +0 -0
  373. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/mount_example.fastmcp.json +0 -0
  374. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/mount_example.py +0 -0
  375. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/sampling/README.md +0 -0
  376. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/sampling/server_fallback.py +0 -0
  377. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/sampling/structured_output.py +0 -0
  378. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/sampling/text.py +0 -0
  379. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/sampling/tool_use.py +0 -0
  380. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/screenshot.fastmcp.json +0 -0
  381. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/screenshot.py +0 -0
  382. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/serializer.py +0 -0
  383. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/simple_echo.py +0 -0
  384. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/smart_home/README.md +0 -0
  385. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/smart_home/hub.fastmcp.json +0 -0
  386. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/smart_home/lights.fastmcp.json +0 -0
  387. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/smart_home/pyproject.toml +0 -0
  388. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/smart_home/src/smart_home/__init__.py +0 -0
  389. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/smart_home/src/smart_home/__main__.py +0 -0
  390. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/smart_home/src/smart_home/hub.py +0 -0
  391. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/smart_home/src/smart_home/lights/__init__.py +0 -0
  392. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/smart_home/src/smart_home/lights/hue_utils.py +0 -0
  393. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/smart_home/src/smart_home/lights/server.py +0 -0
  394. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/smart_home/src/smart_home/py.typed +0 -0
  395. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/smart_home/src/smart_home/settings.py +0 -0
  396. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/tags_example.py +0 -0
  397. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/tasks/README.md +0 -0
  398. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/tasks/client.py +0 -0
  399. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/tasks/docker-compose.yml +0 -0
  400. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/tasks/server.py +0 -0
  401. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/testing_demo/README.md +0 -0
  402. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/testing_demo/pyproject.toml +0 -0
  403. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/testing_demo/server.py +0 -0
  404. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/testing_demo/tests/test_server.py +0 -0
  405. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/testing_demo/uv.lock +0 -0
  406. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/text_me.py +0 -0
  407. {fastmcp-2.14.1 → fastmcp-2.14.2}/examples/tool_result_echo.py +0 -0
  408. {fastmcp-2.14.1 → fastmcp-2.14.2}/justfile +0 -0
  409. {fastmcp-2.14.1 → fastmcp-2.14.2}/logo.py +0 -0
  410. {fastmcp-2.14.1 → fastmcp-2.14.2}/scripts/auto_close_duplicates.py +0 -0
  411. {fastmcp-2.14.1 → fastmcp-2.14.2}/scripts/auto_close_needs_mre.py +0 -0
  412. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/__init__.py +0 -0
  413. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/cli/__init__.py +0 -0
  414. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/cli/__main__.py +0 -0
  415. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/cli/cli.py +0 -0
  416. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/cli/install/__init__.py +0 -0
  417. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/cli/install/claude_code.py +0 -0
  418. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/cli/install/claude_desktop.py +0 -0
  419. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/cli/install/cursor.py +0 -0
  420. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/cli/install/gemini_cli.py +0 -0
  421. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/cli/install/mcp_json.py +0 -0
  422. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/cli/install/shared.py +0 -0
  423. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/cli/run.py +0 -0
  424. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/cli/tasks.py +0 -0
  425. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/__init__.py +0 -0
  426. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/auth/__init__.py +0 -0
  427. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/auth/bearer.py +0 -0
  428. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/auth/oauth.py +0 -0
  429. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/client.py +0 -0
  430. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/elicitation.py +0 -0
  431. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/logging.py +0 -0
  432. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/messages.py +0 -0
  433. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/oauth_callback.py +0 -0
  434. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/progress.py +0 -0
  435. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/roots.py +0 -0
  436. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/sampling/__init__.py +0 -0
  437. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/sampling/handlers/__init__.py +0 -0
  438. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/sampling/handlers/anthropic.py +0 -0
  439. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/sampling/handlers/openai.py +0 -0
  440. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/tasks.py +0 -0
  441. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/client/transports.py +0 -0
  442. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/contrib/README.md +0 -0
  443. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/contrib/bulk_tool_caller/README.md +0 -0
  444. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/contrib/bulk_tool_caller/__init__.py +0 -0
  445. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py +0 -0
  446. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/contrib/bulk_tool_caller/example.py +0 -0
  447. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/contrib/component_manager/README.md +0 -0
  448. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/contrib/component_manager/__init__.py +0 -0
  449. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/contrib/component_manager/component_manager.py +0 -0
  450. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/contrib/component_manager/component_service.py +0 -0
  451. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/contrib/component_manager/example.py +0 -0
  452. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/contrib/mcp_mixin/README.md +0 -0
  453. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/contrib/mcp_mixin/__init__.py +0 -0
  454. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/contrib/mcp_mixin/example.py +0 -0
  455. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/contrib/mcp_mixin/mcp_mixin.py +0 -0
  456. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/dependencies.py +0 -0
  457. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/exceptions.py +0 -0
  458. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/experimental/sampling/__init__.py +0 -0
  459. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/experimental/sampling/handlers/__init__.py +0 -0
  460. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/experimental/sampling/handlers/openai.py +0 -0
  461. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/experimental/server/openapi/__init__.py +0 -0
  462. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/experimental/utilities/openapi/__init__.py +0 -0
  463. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/mcp_config.py +0 -0
  464. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/prompts/__init__.py +0 -0
  465. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/prompts/prompt.py +0 -0
  466. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/py.typed +0 -0
  467. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/resources/__init__.py +0 -0
  468. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/resources/resource.py +0 -0
  469. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/resources/template.py +0 -0
  470. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/resources/types.py +0 -0
  471. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/__init__.py +0 -0
  472. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/__init__.py +0 -0
  473. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/handlers/authorize.py +0 -0
  474. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/jwt_issuer.py +0 -0
  475. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/middleware.py +0 -0
  476. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/oidc_proxy.py +0 -0
  477. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/__init__.py +0 -0
  478. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/auth0.py +0 -0
  479. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/aws.py +0 -0
  480. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/azure.py +0 -0
  481. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/debug.py +0 -0
  482. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/descope.py +0 -0
  483. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/discord.py +0 -0
  484. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/github.py +0 -0
  485. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/google.py +0 -0
  486. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/in_memory.py +0 -0
  487. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/introspection.py +0 -0
  488. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/jwt.py +0 -0
  489. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/oci.py +0 -0
  490. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/scalekit.py +0 -0
  491. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/workos.py +0 -0
  492. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/auth/redirect_validation.py +0 -0
  493. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/context.py +0 -0
  494. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/event_store.py +0 -0
  495. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/http.py +0 -0
  496. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/low_level.py +0 -0
  497. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/middleware/__init__.py +0 -0
  498. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/middleware/caching.py +0 -0
  499. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/middleware/logging.py +0 -0
  500. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/middleware/middleware.py +0 -0
  501. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/middleware/rate_limiting.py +0 -0
  502. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/middleware/timing.py +0 -0
  503. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/middleware/tool_injection.py +0 -0
  504. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/openapi/README.md +0 -0
  505. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/openapi/__init__.py +0 -0
  506. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/openapi/routing.py +0 -0
  507. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/openapi/server.py +0 -0
  508. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/proxy.py +0 -0
  509. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/sampling/__init__.py +0 -0
  510. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/sampling/run.py +0 -0
  511. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/sampling/sampling_tool.py +0 -0
  512. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/tasks/__init__.py +0 -0
  513. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/tasks/capabilities.py +0 -0
  514. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/tasks/config.py +0 -0
  515. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/tasks/converters.py +0 -0
  516. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/tasks/handlers.py +0 -0
  517. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/tasks/keys.py +0 -0
  518. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/tasks/protocol.py +0 -0
  519. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/server/tasks/subscriptions.py +0 -0
  520. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/settings.py +0 -0
  521. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/tools/__init__.py +0 -0
  522. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/tools/tool_transform.py +0 -0
  523. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/__init__.py +0 -0
  524. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/auth.py +0 -0
  525. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/components.py +0 -0
  526. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/exceptions.py +0 -0
  527. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/http.py +0 -0
  528. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/inspect.py +0 -0
  529. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/json_schema_type.py +0 -0
  530. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/logging.py +0 -0
  531. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_config.py +0 -0
  532. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/__init__.py +0 -0
  533. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/__init__.py +0 -0
  534. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/environments/__init__.py +0 -0
  535. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/environments/base.py +0 -0
  536. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/environments/uv.py +0 -0
  537. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +0 -0
  538. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/schema.json +0 -0
  539. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/sources/__init__.py +0 -0
  540. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/sources/base.py +0 -0
  541. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py +0 -0
  542. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/openapi/README.md +0 -0
  543. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/openapi/__init__.py +0 -0
  544. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/openapi/director.py +0 -0
  545. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/openapi/formatters.py +0 -0
  546. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/openapi/json_schema_converter.py +0 -0
  547. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/openapi/models.py +0 -0
  548. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/openapi/parser.py +0 -0
  549. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/tests.py +0 -0
  550. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/types.py +0 -0
  551. {fastmcp-2.14.1 → fastmcp-2.14.2}/src/fastmcp/utilities/ui.py +0 -0
  552. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/__init__.py +0 -0
  553. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/cli/__init__.py +0 -0
  554. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/cli/test_cli.py +0 -0
  555. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/cli/test_config.py +0 -0
  556. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/cli/test_cursor.py +0 -0
  557. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/cli/test_install.py +0 -0
  558. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/cli/test_mcp_server_config_integration.py +0 -0
  559. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/cli/test_mcp_server_config_schema.py +0 -0
  560. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/cli/test_project_prepare.py +0 -0
  561. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/cli/test_run.py +0 -0
  562. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/cli/test_run_config.py +0 -0
  563. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/cli/test_server_args.py +0 -0
  564. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/cli/test_shared.py +0 -0
  565. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/cli/test_tasks.py +0 -0
  566. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/cli/test_with_argv.py +0 -0
  567. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/__init__.py +0 -0
  568. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/auth/__init__.py +0 -0
  569. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/auth/test_oauth_client.py +0 -0
  570. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/sampling/__init__.py +0 -0
  571. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/sampling/handlers/__init__.py +0 -0
  572. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/sampling/handlers/test_anthropic_handler.py +0 -0
  573. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/sampling/handlers/test_openai_handler.py +0 -0
  574. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/tasks/conftest.py +0 -0
  575. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/tasks/test_client_prompt_tasks.py +0 -0
  576. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/tasks/test_client_resource_tasks.py +0 -0
  577. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/tasks/test_client_task_notifications.py +0 -0
  578. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/tasks/test_client_task_protocol.py +0 -0
  579. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/tasks/test_client_tool_tasks.py +0 -0
  580. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/tasks/test_prompt_task_mcp_message.py +0 -0
  581. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/tasks/test_task_context_validation.py +0 -0
  582. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/tasks/test_task_result_caching.py +0 -0
  583. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/test_client.py +0 -0
  584. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/test_logs.py +0 -0
  585. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/test_notifications.py +0 -0
  586. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/test_oauth_callback_xss.py +0 -0
  587. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/test_openapi.py +0 -0
  588. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/test_progress.py +0 -0
  589. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/test_roots.py +0 -0
  590. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/test_sampling.py +0 -0
  591. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/test_stdio.py +0 -0
  592. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/transports/__init__.py +0 -0
  593. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/client/transports/test_transports.py +0 -0
  594. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/conftest.py +0 -0
  595. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/contrib/__init__.py +0 -0
  596. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/contrib/test_bulk_tool_caller.py +0 -0
  597. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/contrib/test_component_manager.py +0 -0
  598. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/contrib/test_mcp_mixin.py +0 -0
  599. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/deprecated/__init__.py +0 -0
  600. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/deprecated/test_deprecated.py +0 -0
  601. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/deprecated/test_exclude_args.py +0 -0
  602. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/deprecated/test_openapi_deprecations.py +0 -0
  603. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/deprecated/test_settings.py +0 -0
  604. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/experimental/README.md +0 -0
  605. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/experimental/__init__.py +0 -0
  606. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/integration_tests/__init__.py +0 -0
  607. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/integration_tests/auth/__init__.py +0 -0
  608. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/integration_tests/auth/test_github_provider_integration.py +0 -0
  609. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/integration_tests/conftest.py +0 -0
  610. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/integration_tests/test_github_mcp_remote.py +0 -0
  611. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/prompts/__init__.py +0 -0
  612. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/prompts/test_prompt.py +0 -0
  613. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/prompts/test_prompt_manager.py +0 -0
  614. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/resources/__init__.py +0 -0
  615. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/resources/test_file_resources.py +0 -0
  616. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/resources/test_function_resources.py +0 -0
  617. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/resources/test_resource_manager.py +0 -0
  618. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/resources/test_resource_template.py +0 -0
  619. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/resources/test_resource_template_meta.py +0 -0
  620. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/resources/test_resources.py +0 -0
  621. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/__init__.py +0 -0
  622. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/__init__.py +0 -0
  623. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/providers/__init__.py +0 -0
  624. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/providers/test_auth0.py +0 -0
  625. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/providers/test_aws.py +0 -0
  626. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/providers/test_azure.py +0 -0
  627. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/providers/test_descope.py +0 -0
  628. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/providers/test_discord.py +0 -0
  629. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/providers/test_github.py +0 -0
  630. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/providers/test_google.py +0 -0
  631. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/providers/test_introspection.py +0 -0
  632. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/providers/test_scalekit.py +0 -0
  633. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/providers/test_workos.py +0 -0
  634. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/test_auth_provider.py +0 -0
  635. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/test_debug_verifier.py +0 -0
  636. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/test_enhanced_error_responses.py +0 -0
  637. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/test_jwt_issuer.py +0 -0
  638. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/test_jwt_provider.py +0 -0
  639. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/test_oauth_consent_flow.py +0 -0
  640. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/test_oauth_mounting.py +0 -0
  641. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/test_oauth_proxy_redirect_validation.py +0 -0
  642. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/test_oauth_proxy_storage.py +0 -0
  643. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/test_oidc_proxy.py +0 -0
  644. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/test_redirect_validation.py +0 -0
  645. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/test_remote_auth_provider.py +0 -0
  646. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/auth/test_static_token_verifier.py +0 -0
  647. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/http/__init__.py +0 -0
  648. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/http/test_bearer_auth_backend.py +0 -0
  649. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/http/test_custom_routes.py +0 -0
  650. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/http/test_http_auth_middleware.py +0 -0
  651. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/http/test_http_dependencies.py +0 -0
  652. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/http/test_http_middleware.py +0 -0
  653. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/http/test_stale_access_token.py +0 -0
  654. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/middleware/__init__.py +0 -0
  655. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/middleware/test_caching.py +0 -0
  656. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/middleware/test_initialization_middleware.py +0 -0
  657. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/middleware/test_logging.py +0 -0
  658. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/middleware/test_middleware.py +0 -0
  659. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/middleware/test_rate_limiting.py +0 -0
  660. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/middleware/test_timing.py +0 -0
  661. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/middleware/test_tool_injection.py +0 -0
  662. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/openapi/__init__.py +0 -0
  663. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/openapi/test_deepobject_style.py +0 -0
  664. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/openapi/test_end_to_end_compatibility.py +0 -0
  665. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/openapi/test_openapi_features.py +0 -0
  666. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/openapi/test_openapi_performance.py +0 -0
  667. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/openapi/test_parameter_collisions.py +0 -0
  668. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/openapi/test_performance_comparison.py +0 -0
  669. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/openapi/test_server.py +0 -0
  670. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/proxy/__init__.py +0 -0
  671. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/proxy/test_proxy_client.py +0 -0
  672. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/proxy/test_proxy_server.py +0 -0
  673. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/proxy/test_stateful_proxy_client.py +0 -0
  674. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/sampling/__init__.py +0 -0
  675. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/sampling/test_sampling_tool.py +0 -0
  676. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/__init__.py +0 -0
  677. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/conftest.py +0 -0
  678. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_progress_dependency.py +0 -0
  679. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_sync_function_task_disabled.py +0 -0
  680. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_task_capabilities.py +0 -0
  681. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_task_config_modes.py +0 -0
  682. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_task_dependencies.py +0 -0
  683. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_task_metadata.py +0 -0
  684. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_task_mount.py +0 -0
  685. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_task_prompts.py +0 -0
  686. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_task_protocol.py +0 -0
  687. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_task_proxy.py +0 -0
  688. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_task_resources.py +0 -0
  689. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_task_return_types.py +0 -0
  690. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_task_security.py +0 -0
  691. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_task_status_notifications.py +0 -0
  692. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_task_tools.py +0 -0
  693. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/tasks/test_task_ttl.py +0 -0
  694. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_app_state.py +0 -0
  695. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_auth_integration.py +0 -0
  696. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_context.py +0 -0
  697. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_event_store.py +0 -0
  698. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_file_server.py +0 -0
  699. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_icons.py +0 -0
  700. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_import_server.py +0 -0
  701. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_input_validation.py +0 -0
  702. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_log_level.py +0 -0
  703. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_mount.py +0 -0
  704. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_run_server.py +0 -0
  705. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_server.py +0 -0
  706. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_server_docket.py +0 -0
  707. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_server_interactions.py +0 -0
  708. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_server_lifespan.py +0 -0
  709. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_streamable_http_no_redirect.py +0 -0
  710. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_tool_annotations.py +0 -0
  711. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/server/test_tool_transformation.py +0 -0
  712. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/test_mcp_config.py +0 -0
  713. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/tools/__init__.py +0 -0
  714. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/tools/test_tool_future_annotations.py +0 -0
  715. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/tools/test_tool_manager.py +0 -0
  716. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/tools/test_tool_transform.py +0 -0
  717. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/__init__.py +0 -0
  718. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/openapi/__init__.py +0 -0
  719. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/openapi/conftest.py +0 -0
  720. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/openapi/test_allof_requestbody.py +0 -0
  721. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/openapi/test_direct_array_schemas.py +0 -0
  722. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/openapi/test_director.py +0 -0
  723. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/openapi/test_legacy_compatibility.py +0 -0
  724. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/openapi/test_models.py +0 -0
  725. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/openapi/test_nullable_fields.py +0 -0
  726. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/openapi/test_parser.py +0 -0
  727. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/openapi/test_schemas.py +0 -0
  728. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/openapi/test_transitive_references.py +0 -0
  729. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/test_cli.py +0 -0
  730. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/test_components.py +0 -0
  731. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/test_inspect.py +0 -0
  732. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/test_json_schema_type.py +0 -0
  733. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/test_logging.py +0 -0
  734. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/test_tests.py +0 -0
  735. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/test_typeadapter.py +0 -0
  736. {fastmcp-2.14.1 → fastmcp-2.14.2}/tests/utilities/test_types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastmcp
3
- Version: 2.14.1
3
+ Version: 2.14.2
4
4
  Summary: The fast, Pythonic way to build MCP servers and clients.
5
5
  Project-URL: Homepage, https://gofastmcp.com
6
6
  Project-URL: Repository, https://github.com/jlowin/fastmcp
@@ -23,12 +23,12 @@ Requires-Dist: cyclopts>=4.0.0
23
23
  Requires-Dist: exceptiongroup>=1.2.2
24
24
  Requires-Dist: httpx>=0.28.1
25
25
  Requires-Dist: jsonschema-path>=0.3.4
26
- Requires-Dist: mcp>=1.24.0
26
+ Requires-Dist: mcp<2.0,>=1.24.0
27
27
  Requires-Dist: openapi-pydantic>=0.5.1
28
28
  Requires-Dist: platformdirs>=4.0.0
29
29
  Requires-Dist: py-key-value-aio[disk,keyring,memory]<0.4.0,>=0.3.0
30
30
  Requires-Dist: pydantic[email]>=2.11.7
31
- Requires-Dist: pydocket>=0.15.5
31
+ Requires-Dist: pydocket>=0.16.3
32
32
  Requires-Dist: pyperclip>=1.9.0
33
33
  Requires-Dist: python-dotenv>=1.1.0
34
34
  Requires-Dist: rich>=13.9.4
@@ -75,6 +75,9 @@ Description-Content-Type: text/markdown
75
75
  >
76
76
  > **For production MCP applications, install FastMCP:** `pip install fastmcp`
77
77
 
78
+ > [!Important]
79
+ > FastMCP 3.0 is in development and may include breaking changes. To avoid unexpected issues, pin your dependency to v2: `fastmcp<3`
80
+
78
81
  ---
79
82
 
80
83
  **FastMCP is the standard framework for building MCP applications**, providing the fastest path from idea to production.
@@ -33,6 +33,9 @@
33
33
  >
34
34
  > **For production MCP applications, install FastMCP:** `pip install fastmcp`
35
35
 
36
+ > [!Important]
37
+ > FastMCP 3.0 is in development and may include breaking changes. To avoid unexpected issues, pin your dependency to v2: `fastmcp<3`
38
+
36
39
  ---
37
40
 
38
41
  **FastMCP is the standard framework for building MCP applications**, providing the fastest path from idea to production.
@@ -4,6 +4,172 @@ icon: "list-check"
4
4
  rss: true
5
5
  ---
6
6
 
7
+ <Update label="v2.14.1" description="2025-12-15">
8
+
9
+ **[v2.14.1: 'Tis a Gift to Be Sample](https://github.com/jlowin/fastmcp/releases/tag/v2.14.1)**
10
+
11
+ FastMCP 2.14.1 introduces sampling with tools (SEP-1577), enabling servers to pass tools to `ctx.sample()` for agentic workflows where the LLM can automatically execute tool calls in a loop. The new `ctx.sample_step()` method provides single LLM calls that return `SampleStep` objects for custom control flow, while `result_type` enables structured outputs via validated Pydantic models.
12
+
13
+ 🤖 **AnthropicSamplingHandler** joins the existing OpenAI handler, providing multi-provider sampling support out of the box.
14
+
15
+ ⚡ **OpenAISamplingHandler promoted** from experimental status—sampling handlers are now production-ready with a unified API.
16
+
17
+ ## What's Changed
18
+ ### New Features 🎉
19
+ * Sampling with tools by [@jlowin](https://github.com/jlowin) in [#2538](https://github.com/jlowin/fastmcp/pull/2538)
20
+ * Add AnthropicSamplingHandler by [@jlowin](https://github.com/jlowin) in [#2677](https://github.com/jlowin/fastmcp/pull/2677)
21
+ ### Enhancements 🔧
22
+ * Add Python 3.13 to ubuntu CI by [@jlowin](https://github.com/jlowin) in [#2648](https://github.com/jlowin/fastmcp/pull/2648)
23
+ * Remove legacy task initialization workaround by [@jlowin](https://github.com/jlowin) in [#2649](https://github.com/jlowin/fastmcp/pull/2649)
24
+ * Consolidate session state reset logic by [@jlowin](https://github.com/jlowin) in [#2651](https://github.com/jlowin/fastmcp/pull/2651)
25
+ * Unify SamplingHandler; promote OpenAI from experimental by [@jlowin](https://github.com/jlowin) in [#2656](https://github.com/jlowin/fastmcp/pull/2656)
26
+ * Add `tool_names` parameter to mount() for name customization by [@jlowin](https://github.com/jlowin) in [#2660](https://github.com/jlowin/fastmcp/pull/2660)
27
+ * Use streamable HTTP client API from MCP SDK by [@jlowin](https://github.com/jlowin) in [#2678](https://github.com/jlowin/fastmcp/pull/2678)
28
+ * Deprecate `exclude_args` in favor of Depends() by [@jlowin](https://github.com/jlowin) in [#2693](https://github.com/jlowin/fastmcp/pull/2693)
29
+ ### Fixes 🐞
30
+ * Fix prompt tasks to return mcp.types.PromptMessage by [@jlowin](https://github.com/jlowin) in [#2650](https://github.com/jlowin/fastmcp/pull/2650)
31
+ * Fix Windows test warnings by [@jlowin](https://github.com/jlowin) in [#2653](https://github.com/jlowin/fastmcp/pull/2653)
32
+ * Cleanup cancelled connection startup by [@jlowin](https://github.com/jlowin) in [#2679](https://github.com/jlowin/fastmcp/pull/2679)
33
+ * Fix tool choice bug in sampling examples by [@shawnthapa](https://github.com/shawnthapa) in [#2686](https://github.com/jlowin/fastmcp/pull/2686)
34
+ ### Docs 📚
35
+ * Simplify Docket tip wording by [@chrisguidry](https://github.com/chrisguidry) in [#2662](https://github.com/jlowin/fastmcp/pull/2662)
36
+ ### Other Changes 🦾
37
+ * Bump pydocket to ≥0.15.5 by [@jlowin](https://github.com/jlowin) in [#2694](https://github.com/jlowin/fastmcp/pull/2694)
38
+
39
+ ## New Contributors
40
+ * [@shawnthapa](https://github.com/shawnthapa) made their first contribution in [#2686](https://github.com/jlowin/fastmcp/pull/2686)
41
+
42
+ **Full Changelog**: [v2.14.0...v2.14.1](https://github.com/jlowin/fastmcp/compare/v2.14.0...v2.14.1)
43
+
44
+ </Update>
45
+
46
+ <Update label="v2.14.0" description="2025-12-11">
47
+
48
+ **[v2.14.0: Task and You Shall Receive](https://github.com/jlowin/fastmcp/releases/tag/v2.14.0)**
49
+
50
+ FastMCP 2.14 begins adopting the MCP 2025-11-25 specification, introducing protocol-native background tasks (SEP-1686) that enable long-running operations to report progress without blocking clients. The experimental OpenAPI parser graduates to standard, the `OpenAISamplingHandler` is promoted from experimental, and deprecated APIs accumulated across the 2.x series are removed.
51
+
52
+ ⏳ **Background Tasks** let you add `task=True` to any async tool decorator to run operations in the background with progress tracking. Powered by [Docket](https://github.com/chrisguidry/docket), an enterprise task scheduler handling millions of concurrent tasks daily—in-memory backends work out-of-the-box, and Redis URLs enable persistence and horizontal scaling.
53
+
54
+ 🔧 **OpenAPI Parser Promoted** from experimental to standard with improved performance through single-pass schema processing and cleaner abstractions.
55
+
56
+ 📋 **MCP 2025-11-25 Specification Support** including SSE polling and event resumability (SEP-1699), multi-select enum elicitation schemas (SEP-1330), default values for elicitation (SEP-1034), and tool name validation at registration time (SEP-986).
57
+
58
+ ## Breaking Changes
59
+ - Docket is always enabled; task execution is forbidden through proxies
60
+ - Task protocol enabled by default
61
+ - Removed deprecated settings, imports, and methods accumulated across 2.x series
62
+
63
+ ## What's Changed
64
+ ### New Features 🎉
65
+ * OpenAPI parser is now the default by [@jlowin](https://github.com/jlowin) in [#2583](https://github.com/jlowin/fastmcp/pull/2583)
66
+ * Implement SEP-1686: Background Tasks by [@jlowin](https://github.com/jlowin) in [#2550](https://github.com/jlowin/fastmcp/pull/2550)
67
+ ### Enhancements 🔧
68
+ * Expose InitializeResult in middleware by [@jlowin](https://github.com/jlowin) in [#2562](https://github.com/jlowin/fastmcp/pull/2562)
69
+ * Update MCP SDK auth compatibility by [@jlowin](https://github.com/jlowin) in [#2574](https://github.com/jlowin/fastmcp/pull/2574)
70
+ * Validate tool names at registration (SEP-986) by [@jlowin](https://github.com/jlowin) in [#2588](https://github.com/jlowin/fastmcp/pull/2588)
71
+ * Support SEP-1034 and SEP-1330 for elicitation by [@jlowin](https://github.com/jlowin) in [#2595](https://github.com/jlowin/fastmcp/pull/2595)
72
+ * Implement SSE polling (SEP-1699) by [@jlowin](https://github.com/jlowin) in [#2612](https://github.com/jlowin/fastmcp/pull/2612)
73
+ * Expose session ID callback by [@jlowin](https://github.com/jlowin) in [#2628](https://github.com/jlowin/fastmcp/pull/2628)
74
+ ### Fixes 🐞
75
+ * Fix OAuth metadata discovery by [@jlowin](https://github.com/jlowin) in [#2565](https://github.com/jlowin/fastmcp/pull/2565)
76
+ * Fix fastapi.cli package structure by [@jlowin](https://github.com/jlowin) in [#2570](https://github.com/jlowin/fastmcp/pull/2570)
77
+ * Correct OAuth error codes by [@jlowin](https://github.com/jlowin) in [#2578](https://github.com/jlowin/fastmcp/pull/2578)
78
+ * Prevent function signature modification by [@jlowin](https://github.com/jlowin) in [#2590](https://github.com/jlowin/fastmcp/pull/2590)
79
+ * Fix proxy client kwargs by [@jlowin](https://github.com/jlowin) in [#2605](https://github.com/jlowin/fastmcp/pull/2605)
80
+ * Fix nested server routing by [@jlowin](https://github.com/jlowin) in [#2618](https://github.com/jlowin/fastmcp/pull/2618)
81
+ * Use access token expiry fallback by [@jlowin](https://github.com/jlowin) in [#2635](https://github.com/jlowin/fastmcp/pull/2635)
82
+ * Handle transport cleanup exceptions by [@jlowin](https://github.com/jlowin) in [#2642](https://github.com/jlowin/fastmcp/pull/2642)
83
+ ### Docs 📚
84
+ * Add OCI and Supabase integration docs by [@jlowin](https://github.com/jlowin) in [#2580](https://github.com/jlowin/fastmcp/pull/2580)
85
+ * Add v2.14.0 upgrade guide by [@jlowin](https://github.com/jlowin) in [#2598](https://github.com/jlowin/fastmcp/pull/2598)
86
+ * Rewrite background tasks documentation by [@jlowin](https://github.com/jlowin) in [#2620](https://github.com/jlowin/fastmcp/pull/2620)
87
+ * Document read-only tool patterns by [@jlowin](https://github.com/jlowin) in [#2632](https://github.com/jlowin/fastmcp/pull/2632)
88
+
89
+ ## New Contributors
90
+ 11 total contributors including 7 first-time participants.
91
+
92
+ **Full Changelog**: [v2.13.3...v2.14.0](https://github.com/jlowin/fastmcp/compare/v2.13.3...v2.14.0)
93
+
94
+ </Update>
95
+
96
+ <Update label="v2.13.3" description="2025-12-03">
97
+
98
+ **[v2.13.3: Pin-ish Line](https://github.com/jlowin/fastmcp/releases/tag/v2.13.3)**
99
+
100
+ FastMCP 2.13.3 pins `mcp<1.23` as a precautionary measure. MCP SDK 1.23 introduced changes related to the November 25, 2025 MCP protocol update that break certain FastMCP patches and workarounds, particularly around OAuth implementation details. FastMCP 2.14 introduces proper support for the updated protocol and requires `mcp>=1.23`.
101
+
102
+ ## What's Changed
103
+ ### Fixes 🐞
104
+ * Pin MCP SDK below 1.23 by [@jlowin](https://github.com/jlowin) in [#2545](https://github.com/jlowin/fastmcp/pull/2545)
105
+
106
+ **Full Changelog**: [v2.13.2...v2.13.3](https://github.com/jlowin/fastmcp/compare/v2.13.2...v2.13.3)
107
+
108
+ </Update>
109
+
110
+ <Update label="v2.13.2" description="2025-12-01">
111
+
112
+ **[v2.13.2: Refreshing Changes](https://github.com/jlowin/fastmcp/releases/tag/v2.13.2)**
113
+
114
+ FastMCP 2.13.2 polishes the authentication stack with improvements to token refresh, scope handling, and multi-instance deployments. Discord was added as a built-in OAuth provider, Azure and Google token handling became more reliable, and proxy classes now properly forward icons and titles.
115
+
116
+ ## What's Changed
117
+ ### New Features 🎉
118
+ * Add Discord OAuth provider by [@jlowin](https://github.com/jlowin) in [#2480](https://github.com/jlowin/fastmcp/pull/2480)
119
+ ### Enhancements 🔧
120
+ * Descope Provider updates for new well-known URLs by [@anvibanga](https://github.com/anvibanga) in [#2465](https://github.com/jlowin/fastmcp/pull/2465)
121
+ * Scalekit provider improvements by [@jlowin](https://github.com/jlowin) in [#2472](https://github.com/jlowin/fastmcp/pull/2472)
122
+ * Add CSP customization for consent screens by [@jlowin](https://github.com/jlowin) in [#2488](https://github.com/jlowin/fastmcp/pull/2488)
123
+ * Add icon support to proxy classes by [@jlowin](https://github.com/jlowin) in [#2495](https://github.com/jlowin/fastmcp/pull/2495)
124
+ ### Fixes 🐞
125
+ * Google Provider now defaults to refresh token support by [@jlowin](https://github.com/jlowin) in [#2468](https://github.com/jlowin/fastmcp/pull/2468)
126
+ * Fix Azure OAuth token refresh with unprefixed scopes by [@jlowin](https://github.com/jlowin) in [#2475](https://github.com/jlowin/fastmcp/pull/2475)
127
+ * Prevent `$defs` mutation during tool transforms by [@jlowin](https://github.com/jlowin) in [#2482](https://github.com/jlowin/fastmcp/pull/2482)
128
+ * Fix OAuth proxy refresh token storage for multi-instance deployments by [@jlowin](https://github.com/jlowin) in [#2490](https://github.com/jlowin/fastmcp/pull/2490)
129
+ * Fix stale token issue after OAuth refresh by [@jlowin](https://github.com/jlowin) in [#2498](https://github.com/jlowin/fastmcp/pull/2498)
130
+ * Fix Azure provider OIDC scope handling by [@jlowin](https://github.com/jlowin) in [#2505](https://github.com/jlowin/fastmcp/pull/2505)
131
+
132
+ ## New Contributors
133
+ 7 new contributors made their first FastMCP contributions in this release.
134
+
135
+ **Full Changelog**: [v2.13.1...v2.13.2](https://github.com/jlowin/fastmcp/compare/v2.13.1...v2.13.2)
136
+
137
+ </Update>
138
+
139
+ <Update label="v2.13.1" description="2025-11-15">
140
+
141
+ **[v2.13.1: Heavy Meta](https://github.com/jlowin/fastmcp/releases/tag/v2.13.1)**
142
+
143
+ FastMCP 2.13.1 introduces meta parameter support for `ToolResult`, enabling tools to return supplementary metadata alongside results. This supports emerging use cases like OpenAI's Apps SDK. The release also brings improved OAuth functionality with custom token verifiers including a new DebugTokenVerifier, and adds OCI and Supabase authentication providers.
144
+
145
+ 🏷️ **Meta parameters for ToolResult** enable tools to return supplementary metadata alongside results, supporting patterns like OpenAI's Apps SDK integration.
146
+
147
+ 🔐 **Custom token verifiers** with DebugTokenVerifier for development, plus Azure Government support through a `base_authority` parameter and Supabase authentication algorithm configuration.
148
+
149
+ 🔒 **Security fixes** address CVE-2025-61920 through authlib updates and validate Cursor deeplink URLs using safer Windows APIs.
150
+
151
+ ## What's Changed
152
+ ### New Features 🎉
153
+ * Add meta parameter support for ToolResult by [@jlowin](https://github.com/jlowin) in [#2350](https://github.com/jlowin/fastmcp/pull/2350)
154
+ * Add OCI authentication provider by [@jlowin](https://github.com/jlowin) in [#2365](https://github.com/jlowin/fastmcp/pull/2365)
155
+ * Add Supabase authentication provider by [@jlowin](https://github.com/jlowin) in [#2378](https://github.com/jlowin/fastmcp/pull/2378)
156
+ ### Enhancements 🔧
157
+ * Add custom token verifier support to OIDCProxy by [@jlowin](https://github.com/jlowin) in [#2355](https://github.com/jlowin/fastmcp/pull/2355)
158
+ * Add DebugTokenVerifier for development by [@jlowin](https://github.com/jlowin) in [#2362](https://github.com/jlowin/fastmcp/pull/2362)
159
+ * Add Azure Government support via base_authority parameter by [@jlowin](https://github.com/jlowin) in [#2385](https://github.com/jlowin/fastmcp/pull/2385)
160
+ * Add Supabase authentication algorithm configuration by [@jlowin](https://github.com/jlowin) in [#2392](https://github.com/jlowin/fastmcp/pull/2392)
161
+ ### Fixes 🐞
162
+ * Security: Update authlib for CVE-2025-61920 by [@jlowin](https://github.com/jlowin) in [#2398](https://github.com/jlowin/fastmcp/pull/2398)
163
+ * Validate Cursor deeplink URLs using safer Windows APIs by [@jlowin](https://github.com/jlowin) in [#2405](https://github.com/jlowin/fastmcp/pull/2405)
164
+ * Exclude MCP SDK 1.21.1 due to integration test failures by [@jlowin](https://github.com/jlowin) in [#2422](https://github.com/jlowin/fastmcp/pull/2422)
165
+
166
+ ## New Contributors
167
+ 18 new contributors joined in this release across 70+ pull requests.
168
+
169
+ **Full Changelog**: [v2.13.0...v2.13.1](https://github.com/jlowin/fastmcp/compare/v2.13.0...v2.13.1)
170
+
171
+ </Update>
172
+
7
173
  <Update label="v2.13.0" description="2025-10-25">
8
174
 
9
175
  **[v2.13.0: Cache Me If You Can](https://github.com/jlowin/fastmcp/releases/tag/v2.13.0)**
@@ -12,7 +12,7 @@
12
12
  "decoration": "gradient"
13
13
  },
14
14
  "banner": {
15
- "content": "Join the [FastMCP community](https://discord.gg/uu8dJCgttd)!"
15
+ "content": "Join us at the inaugural PyAI Conf in San Francisco on March 10th! [Learn More](https://pyai.events?utm_source=gofastmcp)"
16
16
  },
17
17
  "colors": {
18
18
  "dark": "#f72585",
@@ -41,7 +41,7 @@
41
41
  "socials": {
42
42
  "discord": "https://discord.gg/uu8dJCgttd",
43
43
  "github": "https://github.com/jlowin/fastmcp",
44
- "website": "https://prefect.ai",
44
+ "website": "https://www.prefect.io",
45
45
  "x": "https://x.com/fastmcp"
46
46
  }
47
47
  },
@@ -23,6 +23,10 @@ Alternatively, you can install it directly with `pip` or `uv pip`:
23
23
  ```
24
24
  </CodeGroup>
25
25
 
26
+ <Warning>
27
+ **FastMCP 3.0** is in development and may include breaking changes. To avoid unexpected issues, pin your dependency to v2: `fastmcp<3`
28
+ </Warning>
29
+
26
30
  ### Verify Installation
27
31
 
28
32
  To verify that FastMCP is installed correctly, you can run the following command:
@@ -35,7 +35,6 @@ if __name__ == "__main__":
35
35
  mcp.run()
36
36
  ```
37
37
 
38
-
39
38
  ## Beyond Basic MCP
40
39
 
41
40
  FastMCP pioneered Python MCP development, and FastMCP 1.0 was incorporated into the [official MCP SDK](https://github.com/modelcontextprotocol/python-sdk) in 2024.
@@ -46,6 +45,10 @@ Ready to build? Start with our [installation guide](/getting-started/installatio
46
45
 
47
46
  FastMCP is made with 💙 by [Prefect](https://www.prefect.io/).
48
47
 
48
+ <Warning>
49
+ **FastMCP 3.0** is in development and may include breaking changes. To avoid unexpected issues, pin your dependency to v2: `fastmcp<3`
50
+ </Warning>
51
+
49
52
  ## What is MCP?
50
53
 
51
54
  The Model Context Protocol lets you build servers that expose data and functionality to LLM applications in a secure, standardized way. It is often described as "the USB-C port for AI", providing a uniform way to connect LLMs to resources they can use. It may be easier to think of it as an API, but specifically designed for LLM interactions. MCP servers can:
@@ -17,7 +17,7 @@ This guide shows you how to secure your FastMCP server using **Supabase Auth**.
17
17
  ### Prerequisites
18
18
 
19
19
  Before you begin, you will need:
20
- 1. A **[Supabase Account](https://supabase.com/)** with a project
20
+ 1. A **[Supabase Account](https://supabase.com/)** with a project or a self-hosted **Supabase Auth** instance
21
21
  2. Your FastMCP server's URL (can be localhost for development, e.g., `http://localhost:8000`)
22
22
 
23
23
  ### Step 1: Get Supabase Project URL
@@ -37,7 +37,8 @@ from fastmcp.server.auth.providers.supabase import SupabaseProvider
37
37
  # Configure Supabase Auth
38
38
  auth = SupabaseProvider(
39
39
  project_url="https://abc123.supabase.co",
40
- base_url="http://localhost:8000"
40
+ base_url="http://localhost:8000",
41
+ auth_route="/my/auth/route" # if self-hosting and using custom routes
41
42
  )
42
43
 
43
44
  mcp = FastMCP("Supabase Protected Server", auth=auth)
@@ -117,6 +118,10 @@ Your Supabase project URL (e.g., `https://abc123.supabase.co`)
117
118
  Public URL of your FastMCP server (e.g., `https://your-server.com` or `http://localhost:8000` for development)
118
119
  </ParamField>
119
120
 
121
+ <ParamField path="FASTMCP_SERVER_AUTH_SUPABASE_AUTH_ROUTE" default="/auth/v1">
122
+ Your Supabase auth route (e.g., `/auth/v1`)
123
+ </ParamField>
124
+
120
125
  <ParamField path="FASTMCP_SERVER_AUTH_SUPABASE_REQUIRED_SCOPES" default="[]">
121
126
  Comma-, space-, or JSON-separated list of required OAuth scopes (e.g., `openid email` or `["openid", "email"]`)
122
127
  </ParamField>
@@ -5,6 +5,78 @@ icon: "sparkles"
5
5
  tag: NEW
6
6
  ---
7
7
 
8
+ <Update label="FastMCP 2.14.1" description="December 15, 2025" tags={["Releases"]}>
9
+ <Card
10
+ title="FastMCP 2.14.1: 'Tis a Gift to Be Sample"
11
+ href="https://github.com/jlowin/fastmcp/releases/tag/v2.14.1"
12
+ cta="Read the release notes"
13
+ >
14
+ FastMCP 2.14.1 introduces sampling with tools (SEP-1577), enabling servers to pass tools to `ctx.sample()` for agentic workflows where the LLM can automatically execute tool calls in a loop.
15
+
16
+ 🤖 **Sampling with tools** lets servers leverage client LLM capabilities for multi-step agentic workflows. The new `ctx.sample_step()` method provides single LLM calls with tool inspection, while `result_type` enables structured outputs via validated Pydantic models.
17
+
18
+ 🔧 **AnthropicSamplingHandler** joins the existing OpenAI handler, and both are now promoted from experimental to production-ready status with a unified API.
19
+ </Card>
20
+ </Update>
21
+
22
+ <Update label="FastMCP 2.14.0" description="December 11, 2025" tags={["Releases"]}>
23
+ <Card
24
+ title="FastMCP 2.14.0: Task and You Shall Receive"
25
+ href="https://github.com/jlowin/fastmcp/releases/tag/v2.14.0"
26
+ cta="Read the release notes"
27
+ >
28
+ FastMCP 2.14 begins adopting the MCP 2025-11-25 specification, introducing protocol-native background tasks that enable long-running operations to report progress without blocking clients.
29
+
30
+ ⏳ **Background Tasks (SEP-1686)** let you add `task=True` to any async tool decorator. Powered by [Docket](https://github.com/chrisguidry/docket) for enterprise task scheduling—in-memory backends work out-of-the-box, Redis enables persistence and horizontal scaling.
31
+
32
+ 🔧 **OpenAPI Parser Promoted** from experimental to standard with improved performance through single-pass schema processing.
33
+
34
+ 📋 **MCP Spec Updates** including SSE polling (SEP-1699), multi-select elicitation (SEP-1330), and tool name validation (SEP-986). Also removes deprecated APIs accumulated across 2.x.
35
+ </Card>
36
+ </Update>
37
+
38
+ <Update label="FastMCP 2.13.3" description="December 3, 2025" tags={["Releases"]}>
39
+ <Card
40
+ title="FastMCP 2.13.3: Pin-ish Line"
41
+ href="https://github.com/jlowin/fastmcp/releases/tag/v2.13.3"
42
+ cta="Read the release notes"
43
+ >
44
+ Pins `mcp<1.23` as a precaution due to MCP SDK changes related to the 11/25/25 protocol update that break certain FastMCP patches and workarounds. FastMCP 2.14 introduces proper support for the updated protocol.
45
+ </Card>
46
+ </Update>
47
+
48
+ <Update label="FastMCP 2.13.2" description="December 1, 2025" tags={["Releases"]}>
49
+ <Card
50
+ title="FastMCP 2.13.2: Refreshing Changes"
51
+ href="https://github.com/jlowin/fastmcp/releases/tag/v2.13.2"
52
+ cta="Read the release notes"
53
+ >
54
+ Polishes the authentication stack with improvements to token refresh, scope handling, and multi-instance deployments.
55
+
56
+ 🎮 **Discord OAuth provider** added as a built-in authentication option.
57
+
58
+ 🔄 **Token refresh fixes** for Azure and Google providers, plus OAuth proxy improvements for multi-instance deployments.
59
+
60
+ 🎨 **Icon support** added to proxy classes for richer UX.
61
+ </Card>
62
+ </Update>
63
+
64
+ <Update label="FastMCP 2.13.1" description="November 15, 2025" tags={["Releases"]}>
65
+ <Card
66
+ title="FastMCP 2.13.1: Heavy Meta"
67
+ href="https://github.com/jlowin/fastmcp/releases/tag/v2.13.1"
68
+ cta="Read the release notes"
69
+ >
70
+ Introduces meta parameter support for `ToolResult`, enabling tools to return supplementary metadata alongside results for patterns like OpenAI's Apps SDK.
71
+
72
+ 🏷️ **Meta parameters** let tools return supplementary metadata alongside results.
73
+
74
+ 🔐 **New auth providers** for OCI and Supabase, plus custom token verifiers with DebugTokenVerifier for development.
75
+
76
+ 🔒 **Security fixes** for CVE-2025-61920 and safer Cursor deeplink URL validation on Windows.
77
+ </Card>
78
+ </Update>
79
+
8
80
  <Update label="FastMCP 2.13.0" description="October 25, 2025" tags={["Releases"]}>
9
81
  <Card
10
82
  title="FastMCP 2.13.0: Cache Me If You Can"
@@ -7,10 +7,10 @@ dependencies = [
7
7
  "python-dotenv>=1.1.0",
8
8
  "exceptiongroup>=1.2.2",
9
9
  "httpx>=0.28.1",
10
- "mcp>=1.24.0",
10
+ "mcp>=1.24.0,<2.0",
11
11
  "openapi-pydantic>=0.5.1",
12
12
  "platformdirs>=4.0.0",
13
- "pydocket>=0.15.5",
13
+ "pydocket>=0.16.3",
14
14
  "rich>=13.9.4",
15
15
  "cyclopts>=4.0.0",
16
16
  "authlib>=1.6.5",
@@ -7,7 +7,7 @@ from typing import Any
7
7
  from mcp import GetPromptResult
8
8
 
9
9
  from fastmcp import settings
10
- from fastmcp.exceptions import NotFoundError, PromptError
10
+ from fastmcp.exceptions import FastMCPError, NotFoundError, PromptError
11
11
  from fastmcp.prompts.prompt import FunctionPrompt, Prompt, PromptResult
12
12
  from fastmcp.settings import DuplicateBehavior
13
13
  from fastmcp.utilities.logging import get_logger
@@ -107,9 +107,8 @@ class PromptManager:
107
107
  try:
108
108
  messages = await prompt.render(arguments)
109
109
  return GetPromptResult(description=prompt.description, messages=messages)
110
- except PromptError as e:
111
- logger.exception(f"Error rendering prompt {name!r}")
112
- raise e
110
+ except FastMCPError:
111
+ raise
113
112
  except Exception as e:
114
113
  logger.exception(f"Error rendering prompt {name!r}")
115
114
  if self.mask_error_details:
@@ -10,7 +10,7 @@ from typing import Any
10
10
  from pydantic import AnyUrl
11
11
 
12
12
  from fastmcp import settings
13
- from fastmcp.exceptions import NotFoundError, ResourceError
13
+ from fastmcp.exceptions import FastMCPError, NotFoundError, ResourceError
14
14
  from fastmcp.resources.resource import Resource
15
15
  from fastmcp.resources.template import (
16
16
  ResourceTemplate,
@@ -268,10 +268,9 @@ class ResourceManager:
268
268
  uri_str,
269
269
  params=params,
270
270
  )
271
- # Pass through ResourceErrors as-is
272
- except ResourceError as e:
273
- logger.error(f"Error creating resource from template: {e}")
274
- raise e
271
+ # Pass through FastMCPErrors as-is
272
+ except FastMCPError:
273
+ raise
275
274
  # Handle other exceptions
276
275
  except Exception as e:
277
276
  logger.error(f"Error creating resource from template: {e}")
@@ -299,10 +298,9 @@ class ResourceManager:
299
298
  try:
300
299
  return await resource.read()
301
300
 
302
- # raise ResourceErrors as-is
303
- except ResourceError as e:
304
- logger.exception(f"Error reading resource {uri_str!r}")
305
- raise e
301
+ # raise FastMCPErrors as-is
302
+ except FastMCPError:
303
+ raise
306
304
 
307
305
  # Handle other exceptions
308
306
  except Exception as e:
@@ -322,11 +320,8 @@ class ResourceManager:
322
320
  try:
323
321
  resource = await template.create_resource(uri_str, params=params)
324
322
  return await resource.read()
325
- except ResourceError as e:
326
- logger.exception(
327
- f"Error reading resource from template {uri_str!r}"
328
- )
329
- raise e
323
+ except FastMCPError:
324
+ raise
330
325
  except Exception as e:
331
326
  logger.exception(
332
327
  f"Error reading resource from template {uri_str!r}"
@@ -114,6 +114,8 @@ class AuthProvider(TokenVerifierProtocol):
114
114
  base_url = AnyHttpUrl(base_url)
115
115
  self.base_url = base_url
116
116
  self.required_scopes = required_scopes or []
117
+ self._mcp_path: str | None = None
118
+ self._resource_url: AnyHttpUrl | None = None
117
119
 
118
120
  async def verify_token(self, token: str) -> AccessToken | None:
119
121
  """Verify a bearer token and return access info if valid.
@@ -128,6 +130,20 @@ class AuthProvider(TokenVerifierProtocol):
128
130
  """
129
131
  raise NotImplementedError("Subclasses must implement verify_token")
130
132
 
133
+ def set_mcp_path(self, mcp_path: str | None) -> None:
134
+ """Set the MCP endpoint path and compute resource URL.
135
+
136
+ This method is called by get_routes() to configure the expected
137
+ resource URL before route creation. Subclasses can override to
138
+ perform additional initialization that depends on knowing the
139
+ MCP endpoint path.
140
+
141
+ Args:
142
+ mcp_path: The path where the MCP endpoint is mounted (e.g., "/mcp")
143
+ """
144
+ self._mcp_path = mcp_path
145
+ self._resource_url = self._get_resource_url(mcp_path)
146
+
131
147
  def get_routes(
132
148
  self,
133
149
  mcp_path: str | None = None,
@@ -407,6 +423,8 @@ class OAuthProvider(
407
423
  Returns:
408
424
  List of OAuth routes
409
425
  """
426
+ # Configure resource URL before creating routes
427
+ self.set_mcp_path(mcp_path)
410
428
 
411
429
  # Create standard OAuth authorization server routes
412
430
  # Pass base_url as issuer_url to ensure metadata declares endpoints where
@@ -451,11 +469,8 @@ class OAuthProvider(
451
469
  else:
452
470
  oauth_routes.append(route)
453
471
 
454
- # Get the resource URL based on the MCP path
455
- resource_url = self._get_resource_url(mcp_path)
456
-
457
472
  # Add protected resource routes if this server is also acting as a resource server
458
- if resource_url:
473
+ if self._resource_url:
459
474
  supported_scopes = (
460
475
  self.client_registration_options.valid_scopes
461
476
  if self.client_registration_options
@@ -463,7 +478,7 @@ class OAuthProvider(
463
478
  else self.required_scopes
464
479
  )
465
480
  protected_routes = create_protected_resource_routes(
466
- resource_url=resource_url,
481
+ resource_url=self._resource_url,
467
482
  authorization_servers=[cast(AnyHttpUrl, self.issuer_url)],
468
483
  scopes_supported=supported_scopes,
469
484
  )