fastmcp 2.14.0__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 (744) hide show
  1. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/workflows/run-tests.yml +3 -0
  2. {fastmcp-2.14.0 → fastmcp-2.14.2}/PKG-INFO +8 -3
  3. {fastmcp-2.14.0 → fastmcp-2.14.2}/README.md +3 -0
  4. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/changelog.mdx +166 -0
  5. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/clients/sampling.mdx +103 -1
  6. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/docs.json +2 -2
  7. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/getting-started/installation.mdx +4 -0
  8. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/getting-started/welcome.mdx +4 -1
  9. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/supabase.mdx +7 -2
  10. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-client.mdx +33 -33
  11. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-transports.mdx +4 -4
  12. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-low_level.mdx +6 -6
  13. fastmcp-2.14.2/docs/servers/sampling.mdx +488 -0
  14. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/tasks.mdx +1 -1
  15. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/tools.mdx +14 -23
  16. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/updates.mdx +72 -0
  17. fastmcp-2.14.2/examples/sampling/README.md +62 -0
  18. fastmcp-2.14.2/examples/sampling/server_fallback.py +88 -0
  19. fastmcp-2.14.2/examples/sampling/structured_output.py +110 -0
  20. fastmcp-2.14.2/examples/sampling/text.py +78 -0
  21. fastmcp-2.14.2/examples/sampling/tool_use.py +125 -0
  22. {fastmcp-2.14.0 → fastmcp-2.14.2}/pyproject.toml +4 -3
  23. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/client/client.py +79 -12
  24. fastmcp-2.14.2/src/fastmcp/client/sampling/__init__.py +69 -0
  25. fastmcp-2.14.2/src/fastmcp/client/sampling/handlers/anthropic.py +387 -0
  26. fastmcp-2.14.2/src/fastmcp/client/sampling/handlers/openai.py +399 -0
  27. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/client/tasks.py +0 -63
  28. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/client/transports.py +35 -16
  29. fastmcp-2.14.2/src/fastmcp/experimental/sampling/handlers/__init__.py +5 -0
  30. fastmcp-2.14.2/src/fastmcp/experimental/sampling/handlers/openai.py +5 -0
  31. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/prompts/prompt.py +5 -5
  32. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/prompts/prompt_manager.py +3 -4
  33. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/resources/resource.py +4 -4
  34. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/resources/resource_manager.py +9 -14
  35. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/resources/template.py +5 -5
  36. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/auth.py +20 -5
  37. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/oauth_proxy.py +73 -15
  38. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/supabase.py +11 -6
  39. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/context.py +448 -113
  40. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/dependencies.py +5 -0
  41. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/elicitation.py +7 -3
  42. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/middleware/error_handling.py +1 -1
  43. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/openapi/components.py +2 -4
  44. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/proxy.py +3 -3
  45. fastmcp-2.14.2/src/fastmcp/server/sampling/__init__.py +10 -0
  46. fastmcp-2.14.2/src/fastmcp/server/sampling/run.py +301 -0
  47. fastmcp-2.14.2/src/fastmcp/server/sampling/sampling_tool.py +108 -0
  48. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/server.py +84 -78
  49. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/tasks/converters.py +2 -1
  50. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/tools/tool.py +8 -6
  51. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/tools/tool_manager.py +5 -7
  52. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/cli.py +23 -43
  53. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/json_schema.py +40 -0
  54. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/openapi/schemas.py +4 -4
  55. fastmcp-2.14.2/tests/client/sampling/handlers/test_anthropic_handler.py +247 -0
  56. {fastmcp-2.14.0/tests/experimental/sampling → fastmcp-2.14.2/tests/client/sampling/handlers}/test_openai_handler.py +4 -4
  57. fastmcp-2.14.2/tests/client/tasks/test_prompt_task_mcp_message.py +57 -0
  58. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/test_client.py +112 -1
  59. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/test_elicitation.py +16 -4
  60. fastmcp-2.14.2/tests/client/test_sampling.py +988 -0
  61. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/test_sse.py +5 -6
  62. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/test_streamable_http.py +10 -10
  63. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/transports/test_uv_transport.py +27 -5
  64. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/conftest.py +7 -0
  65. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/providers/test_supabase.py +24 -0
  66. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/test_oauth_proxy.py +210 -0
  67. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/middleware/test_error_handling.py +18 -1
  68. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/middleware/test_tool_injection.py +6 -6
  69. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/openapi/test_comprehensive.py +32 -0
  70. fastmcp-2.14.2/tests/server/proxy/__init__.py +0 -0
  71. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/proxy/test_proxy_client.py +1 -3
  72. fastmcp-2.14.2/tests/server/sampling/__init__.py +0 -0
  73. fastmcp-2.14.2/tests/server/sampling/test_sampling_tool.py +121 -0
  74. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_server_tasks_parameter.py +26 -0
  75. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_task_methods.py +43 -0
  76. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_context.py +4 -4
  77. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_dependencies.py +44 -0
  78. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_logging.py +21 -6
  79. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_mount.py +63 -0
  80. fastmcp-2.14.2/tests/tools/__init__.py +0 -0
  81. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/tools/test_tool.py +71 -18
  82. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/test_json_schema.py +150 -0
  83. {fastmcp-2.14.0 → fastmcp-2.14.2}/uv.lock +119 -11
  84. fastmcp-2.14.0/docs/servers/sampling.mdx +0 -270
  85. fastmcp-2.14.0/examples/sampling.py +0 -52
  86. fastmcp-2.14.0/examples/sampling_fallback.py +0 -38
  87. fastmcp-2.14.0/src/fastmcp/client/sampling.py +0 -56
  88. fastmcp-2.14.0/src/fastmcp/experimental/sampling/handlers/base.py +0 -21
  89. fastmcp-2.14.0/src/fastmcp/experimental/sampling/handlers/openai.py +0 -170
  90. fastmcp-2.14.0/src/fastmcp/server/sampling/handler.py +0 -19
  91. fastmcp-2.14.0/tests/client/test_sampling.py +0 -165
  92. {fastmcp-2.14.0 → fastmcp-2.14.2}/.ccignore +0 -0
  93. {fastmcp-2.14.0 → fastmcp-2.14.2}/.cursor/rules/core-mcp-objects.mdc +0 -0
  94. {fastmcp-2.14.0 → fastmcp-2.14.2}/.cursor/worktrees.json +0 -0
  95. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/ISSUE_TEMPLATE/bug.yml +0 -0
  96. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  97. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/ISSUE_TEMPLATE/enhancement.yml +0 -0
  98. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/copilot-instructions.md +0 -0
  99. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/dependabot.yml +0 -0
  100. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/pull_request_template.md +0 -0
  101. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/release.yml +0 -0
  102. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/workflows/auto-close-duplicates.yml +0 -0
  103. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/workflows/auto-close-needs-mre.yml +0 -0
  104. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/workflows/martian-issue-triage.yml +0 -0
  105. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/workflows/martian-test-failure.yml +0 -0
  106. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/workflows/marvin-dedupe-issues.yml +0 -0
  107. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/workflows/marvin-label-triage.yml +0 -0
  108. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/workflows/marvin.yml +0 -0
  109. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/workflows/publish.yml +0 -0
  110. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/workflows/run-static.yml +0 -0
  111. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/workflows/update-config-schema.yml +0 -0
  112. {fastmcp-2.14.0 → fastmcp-2.14.2}/.github/workflows/update-sdk-docs.yml +0 -0
  113. {fastmcp-2.14.0 → fastmcp-2.14.2}/.gitignore +0 -0
  114. {fastmcp-2.14.0 → fastmcp-2.14.2}/.pre-commit-config.yaml +0 -0
  115. {fastmcp-2.14.0 → fastmcp-2.14.2}/AGENTS.md +0 -0
  116. {fastmcp-2.14.0 → fastmcp-2.14.2}/CLAUDE.md +0 -0
  117. {fastmcp-2.14.0 → fastmcp-2.14.2}/CODE_OF_CONDUCT.md +0 -0
  118. {fastmcp-2.14.0 → fastmcp-2.14.2}/LICENSE +0 -0
  119. {fastmcp-2.14.0 → fastmcp-2.14.2}/SECURITY.md +0 -0
  120. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/.ccignore +0 -0
  121. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/.cursor/rules/mintlify.mdc +0 -0
  122. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/brand/blue-logo.png +0 -0
  123. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/brand/f-watercolor-waves-dark.png +0 -0
  124. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/brand/f-watercolor-waves.png +0 -0
  125. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/brand/favicon.svg +0 -0
  126. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/brand/thumbnail-background.png +0 -0
  127. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/brand/wordmark-padded.png +0 -0
  128. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/brand/wordmark-watercolor-rainbow-dark.png +0 -0
  129. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/brand/wordmark-watercolor-rainbow.png +0 -0
  130. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/brand/wordmark-watercolor-waves-dark.png +0 -0
  131. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/brand/wordmark-watercolor-waves.png +0 -0
  132. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/brand/wordmark-white-padded.png +0 -0
  133. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/brand/wordmark-white.png +0 -0
  134. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/brand/wordmark.png +0 -0
  135. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/images/fastmcp_cloud/connect.png +0 -0
  136. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/images/fastmcp_cloud/create_project.png +0 -0
  137. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/images/fastmcp_cloud/deployment.png +0 -0
  138. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/images/fastmcp_cloud/quickstart.png +0 -0
  139. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/images/oauth-proxy-consent-screen.png +0 -0
  140. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/images/tutorial-rest-api-result.png +0 -0
  141. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/schemas/mcp_server_config/latest.json +0 -0
  142. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/schemas/mcp_server_config/v1.json +0 -0
  143. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/assets/updates/release-2-7.png +0 -0
  144. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/clients/auth/bearer.mdx +0 -0
  145. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/clients/auth/oauth.mdx +0 -0
  146. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/clients/client.mdx +0 -0
  147. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/clients/elicitation.mdx +0 -0
  148. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/clients/logging.mdx +0 -0
  149. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/clients/messages.mdx +0 -0
  150. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/clients/progress.mdx +0 -0
  151. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/clients/prompts.mdx +0 -0
  152. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/clients/resources.mdx +0 -0
  153. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/clients/roots.mdx +0 -0
  154. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/clients/tasks.mdx +0 -0
  155. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/clients/tools.mdx +0 -0
  156. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/clients/transports.mdx +0 -0
  157. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/community/README.md +0 -0
  158. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/community/showcase.mdx +0 -0
  159. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/css/banner.css +0 -0
  160. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/css/python-sdk.css +0 -0
  161. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/css/style.css +0 -0
  162. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/css/version-badge.css +0 -0
  163. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/deployment/fastmcp-cloud.mdx +0 -0
  164. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/deployment/http.mdx +0 -0
  165. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/deployment/running-server.mdx +0 -0
  166. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/deployment/server-configuration.mdx +0 -0
  167. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/development/contributing.mdx +0 -0
  168. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/development/releases.mdx +0 -0
  169. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/development/tests.mdx +0 -0
  170. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/development/upgrade-guide.mdx +0 -0
  171. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/getting-started/quickstart.mdx +0 -0
  172. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/anthropic.mdx +0 -0
  173. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/auth0.mdx +0 -0
  174. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/authkit.mdx +0 -0
  175. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/aws-cognito.mdx +0 -0
  176. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/azure.mdx +0 -0
  177. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/chatgpt.mdx +0 -0
  178. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/claude-code.mdx +0 -0
  179. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/claude-desktop.mdx +0 -0
  180. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/cursor-install-mcp.png +0 -0
  181. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/cursor.mdx +0 -0
  182. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/descope.mdx +0 -0
  183. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/discord.mdx +0 -0
  184. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/eunomia-authorization.mdx +0 -0
  185. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/fastapi.mdx +0 -0
  186. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/gemini-cli.mdx +0 -0
  187. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/gemini.mdx +0 -0
  188. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/github.mdx +0 -0
  189. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/google.mdx +0 -0
  190. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/images/authkit/enable_dcr.png +0 -0
  191. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/images/oci/ociaddapplication.png +0 -0
  192. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/images/oci/ocieditdomainsettings.png +0 -0
  193. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/images/oci/ocieditdomainsettingsbutton.png +0 -0
  194. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/images/oci/ocioauthconfiguration.png +0 -0
  195. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/images/permit/abac_condition_example.png +0 -0
  196. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/images/permit/abac_policy_example.png +0 -0
  197. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/images/permit/policy_mapping.png +0 -0
  198. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/images/permit/role_assignement.png +0 -0
  199. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/mcp-json-configuration.mdx +0 -0
  200. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/oci.mdx +0 -0
  201. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/openai.mdx +0 -0
  202. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/openapi.mdx +0 -0
  203. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/permit.mdx +0 -0
  204. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/scalekit.mdx +0 -0
  205. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/integrations/workos.mdx +0 -0
  206. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/patterns/cli.mdx +0 -0
  207. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/patterns/contrib.mdx +0 -0
  208. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/patterns/decorating-methods.mdx +0 -0
  209. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/patterns/testing.mdx +0 -0
  210. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/patterns/tool-transformation.mdx +0 -0
  211. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/public/schemas/fastmcp.json/latest.json +0 -0
  212. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/public/schemas/fastmcp.json/v1.json +0 -0
  213. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-__init__.mdx +0 -0
  214. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-cli.mdx +0 -0
  215. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-install-__init__.mdx +0 -0
  216. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-install-claude_code.mdx +0 -0
  217. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-install-claude_desktop.mdx +0 -0
  218. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-install-cursor.mdx +0 -0
  219. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-install-gemini_cli.mdx +0 -0
  220. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-install-mcp_json.mdx +0 -0
  221. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-install-shared.mdx +0 -0
  222. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-run.mdx +0 -0
  223. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-cli-tasks.mdx +0 -0
  224. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-__init__.mdx +0 -0
  225. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-auth-__init__.mdx +0 -0
  226. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-auth-bearer.mdx +0 -0
  227. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-auth-oauth.mdx +0 -0
  228. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-elicitation.mdx +0 -0
  229. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-logging.mdx +0 -0
  230. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-messages.mdx +0 -0
  231. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-oauth_callback.mdx +0 -0
  232. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-progress.mdx +0 -0
  233. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-roots.mdx +0 -0
  234. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-sampling.mdx +0 -0
  235. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-client-tasks.mdx +0 -0
  236. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-dependencies.mdx +0 -0
  237. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-exceptions.mdx +0 -0
  238. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-mcp_config.mdx +0 -0
  239. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-prompts-__init__.mdx +0 -0
  240. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-prompts-prompt.mdx +0 -0
  241. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-prompts-prompt_manager.mdx +0 -0
  242. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-resources-__init__.mdx +0 -0
  243. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-resources-resource.mdx +0 -0
  244. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-resources-resource_manager.mdx +0 -0
  245. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-resources-template.mdx +0 -0
  246. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-resources-types.mdx +0 -0
  247. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-__init__.mdx +0 -0
  248. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-__init__.mdx +0 -0
  249. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-auth.mdx +0 -0
  250. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-jwt_issuer.mdx +0 -0
  251. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-middleware.mdx +0 -0
  252. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-oauth_proxy.mdx +0 -0
  253. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-oidc_proxy.mdx +0 -0
  254. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-__init__.mdx +0 -0
  255. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-auth0.mdx +0 -0
  256. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-aws.mdx +0 -0
  257. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-azure.mdx +0 -0
  258. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-debug.mdx +0 -0
  259. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-descope.mdx +0 -0
  260. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-discord.mdx +0 -0
  261. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-github.mdx +0 -0
  262. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-google.mdx +0 -0
  263. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-in_memory.mdx +0 -0
  264. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-introspection.mdx +0 -0
  265. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-jwt.mdx +0 -0
  266. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-oci.mdx +0 -0
  267. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-scalekit.mdx +0 -0
  268. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-supabase.mdx +0 -0
  269. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-providers-workos.mdx +0 -0
  270. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-auth-redirect_validation.mdx +0 -0
  271. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-context.mdx +0 -0
  272. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-dependencies.mdx +0 -0
  273. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-elicitation.mdx +0 -0
  274. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-event_store.mdx +0 -0
  275. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-http.mdx +0 -0
  276. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-middleware-__init__.mdx +0 -0
  277. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-middleware-caching.mdx +0 -0
  278. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-middleware-error_handling.mdx +0 -0
  279. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-middleware-logging.mdx +0 -0
  280. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-middleware-middleware.mdx +0 -0
  281. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-middleware-rate_limiting.mdx +0 -0
  282. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-middleware-timing.mdx +0 -0
  283. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-middleware-tool_injection.mdx +0 -0
  284. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-openapi-__init__.mdx +0 -0
  285. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-openapi-components.mdx +0 -0
  286. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-openapi-routing.mdx +0 -0
  287. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-openapi-server.mdx +0 -0
  288. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-proxy.mdx +0 -0
  289. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-server.mdx +0 -0
  290. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-tasks-__init__.mdx +0 -0
  291. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-tasks-capabilities.mdx +0 -0
  292. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-tasks-config.mdx +0 -0
  293. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-tasks-converters.mdx +0 -0
  294. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-tasks-handlers.mdx +0 -0
  295. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-tasks-keys.mdx +0 -0
  296. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-tasks-protocol.mdx +0 -0
  297. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-server-tasks-subscriptions.mdx +0 -0
  298. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-settings.mdx +0 -0
  299. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-tools-__init__.mdx +0 -0
  300. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-tools-tool.mdx +0 -0
  301. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-tools-tool_manager.mdx +0 -0
  302. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-tools-tool_transform.mdx +0 -0
  303. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-__init__.mdx +0 -0
  304. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-auth.mdx +0 -0
  305. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-cli.mdx +0 -0
  306. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-components.mdx +0 -0
  307. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-exceptions.mdx +0 -0
  308. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-http.mdx +0 -0
  309. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-inspect.mdx +0 -0
  310. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-json_schema.mdx +0 -0
  311. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-json_schema_type.mdx +0 -0
  312. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-logging.mdx +0 -0
  313. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_config.mdx +0 -0
  314. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-__init__.mdx +0 -0
  315. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-__init__.mdx +0 -0
  316. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-environments-__init__.mdx +0 -0
  317. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-environments-base.mdx +0 -0
  318. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-environments-uv.mdx +0 -0
  319. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-mcp_server_config.mdx +0 -0
  320. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-sources-__init__.mdx +0 -0
  321. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-sources-base.mdx +0 -0
  322. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-sources-filesystem.mdx +0 -0
  323. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-openapi-__init__.mdx +0 -0
  324. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-openapi-director.mdx +0 -0
  325. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-openapi-formatters.mdx +0 -0
  326. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-openapi-json_schema_converter.mdx +0 -0
  327. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-openapi-models.mdx +0 -0
  328. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-openapi-parser.mdx +0 -0
  329. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-openapi-schemas.mdx +0 -0
  330. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-tests.mdx +0 -0
  331. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-types.mdx +0 -0
  332. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/python-sdk/fastmcp-utilities-ui.mdx +0 -0
  333. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/auth/authentication.mdx +0 -0
  334. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/auth/full-oauth-server.mdx +0 -0
  335. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/auth/oauth-proxy.mdx +0 -0
  336. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/auth/oidc-proxy.mdx +0 -0
  337. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/auth/remote-oauth.mdx +0 -0
  338. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/auth/token-verification.mdx +0 -0
  339. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/composition.mdx +0 -0
  340. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/context.mdx +0 -0
  341. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/elicitation.mdx +0 -0
  342. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/icons.mdx +0 -0
  343. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/logging.mdx +0 -0
  344. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/middleware.mdx +0 -0
  345. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/progress.mdx +0 -0
  346. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/prompts.mdx +0 -0
  347. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/proxy.mdx +0 -0
  348. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/resources.mdx +0 -0
  349. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/server.mdx +0 -0
  350. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/servers/storage-backends.mdx +0 -0
  351. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/snippets/local-focus.mdx +0 -0
  352. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/snippets/version-badge.mdx +0 -0
  353. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/snippets/youtube-embed.mdx +0 -0
  354. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/tutorials/create-mcp-server.mdx +0 -0
  355. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/tutorials/mcp.mdx +0 -0
  356. {fastmcp-2.14.0 → fastmcp-2.14.2}/docs/tutorials/rest-api.mdx +0 -0
  357. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/atproto_mcp/README.md +0 -0
  358. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/atproto_mcp/demo.py +0 -0
  359. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/atproto_mcp/fastmcp.json +0 -0
  360. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/atproto_mcp/pyproject.toml +0 -0
  361. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/__init__.py +0 -0
  362. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/__main__.py +0 -0
  363. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/_atproto/__init__.py +0 -0
  364. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/_atproto/_client.py +0 -0
  365. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/_atproto/_posts.py +0 -0
  366. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/_atproto/_profile.py +0 -0
  367. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/_atproto/_read.py +0 -0
  368. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/_atproto/_social.py +0 -0
  369. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/py.typed +0 -0
  370. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/server.py +0 -0
  371. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/settings.py +0 -0
  372. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/atproto_mcp/src/atproto_mcp/types.py +0 -0
  373. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/authkit_dcr/README.md +0 -0
  374. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/authkit_dcr/client.py +0 -0
  375. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/authkit_dcr/server.py +0 -0
  376. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/aws_oauth/README.md +0 -0
  377. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/aws_oauth/client.py +0 -0
  378. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/aws_oauth/requirements.txt +0 -0
  379. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/aws_oauth/server.py +0 -0
  380. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/azure_oauth/README.md +0 -0
  381. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/azure_oauth/client.py +0 -0
  382. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/azure_oauth/server.py +0 -0
  383. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/discord_oauth/README.md +0 -0
  384. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/discord_oauth/client.py +0 -0
  385. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/discord_oauth/server.py +0 -0
  386. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/github_oauth/README.md +0 -0
  387. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/github_oauth/client.py +0 -0
  388. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/github_oauth/server.py +0 -0
  389. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/google_oauth/README.md +0 -0
  390. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/google_oauth/client.py +0 -0
  391. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/google_oauth/server.py +0 -0
  392. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/mounted/README.md +0 -0
  393. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/mounted/client.py +0 -0
  394. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/mounted/server.py +0 -0
  395. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/scalekit_oauth/README.md +0 -0
  396. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/scalekit_oauth/client.py +0 -0
  397. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/scalekit_oauth/server.py +0 -0
  398. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/workos_oauth/README.md +0 -0
  399. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/workos_oauth/client.py +0 -0
  400. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/auth/workos_oauth/server.py +0 -0
  401. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/complex_inputs.py +0 -0
  402. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/config_server.py +0 -0
  403. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/desktop.py +0 -0
  404. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/echo.py +0 -0
  405. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/fastmcp_config/env_interpolation_example.json +0 -0
  406. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/fastmcp_config/fastmcp.json +0 -0
  407. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/fastmcp_config/full_example.fastmcp.json +0 -0
  408. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/fastmcp_config/server.py +0 -0
  409. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/fastmcp_config/simple.fastmcp.json +0 -0
  410. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/fastmcp_config_demo/README.md +0 -0
  411. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/fastmcp_config_demo/fastmcp.json +0 -0
  412. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/fastmcp_config_demo/server.py +0 -0
  413. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/get_file.py +0 -0
  414. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/in_memory_proxy_example.py +0 -0
  415. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/memory.fastmcp.json +0 -0
  416. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/memory.py +0 -0
  417. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/mount_example.fastmcp.json +0 -0
  418. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/mount_example.py +0 -0
  419. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/screenshot.fastmcp.json +0 -0
  420. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/screenshot.py +0 -0
  421. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/serializer.py +0 -0
  422. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/simple_echo.py +0 -0
  423. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/smart_home/README.md +0 -0
  424. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/smart_home/hub.fastmcp.json +0 -0
  425. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/smart_home/lights.fastmcp.json +0 -0
  426. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/smart_home/pyproject.toml +0 -0
  427. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/smart_home/src/smart_home/__init__.py +0 -0
  428. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/smart_home/src/smart_home/__main__.py +0 -0
  429. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/smart_home/src/smart_home/hub.py +0 -0
  430. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/smart_home/src/smart_home/lights/__init__.py +0 -0
  431. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/smart_home/src/smart_home/lights/hue_utils.py +0 -0
  432. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/smart_home/src/smart_home/lights/server.py +0 -0
  433. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/smart_home/src/smart_home/py.typed +0 -0
  434. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/smart_home/src/smart_home/settings.py +0 -0
  435. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/tags_example.py +0 -0
  436. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/tasks/README.md +0 -0
  437. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/tasks/client.py +0 -0
  438. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/tasks/docker-compose.yml +0 -0
  439. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/tasks/server.py +0 -0
  440. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/testing_demo/README.md +0 -0
  441. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/testing_demo/pyproject.toml +0 -0
  442. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/testing_demo/server.py +0 -0
  443. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/testing_demo/tests/test_server.py +0 -0
  444. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/testing_demo/uv.lock +0 -0
  445. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/text_me.py +0 -0
  446. {fastmcp-2.14.0 → fastmcp-2.14.2}/examples/tool_result_echo.py +0 -0
  447. {fastmcp-2.14.0 → fastmcp-2.14.2}/justfile +0 -0
  448. {fastmcp-2.14.0 → fastmcp-2.14.2}/logo.py +0 -0
  449. {fastmcp-2.14.0 → fastmcp-2.14.2}/scripts/auto_close_duplicates.py +0 -0
  450. {fastmcp-2.14.0 → fastmcp-2.14.2}/scripts/auto_close_needs_mre.py +0 -0
  451. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/__init__.py +0 -0
  452. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/cli/__init__.py +0 -0
  453. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/cli/__main__.py +0 -0
  454. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/cli/cli.py +0 -0
  455. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/cli/install/__init__.py +0 -0
  456. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/cli/install/claude_code.py +0 -0
  457. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/cli/install/claude_desktop.py +0 -0
  458. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/cli/install/cursor.py +0 -0
  459. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/cli/install/gemini_cli.py +0 -0
  460. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/cli/install/mcp_json.py +0 -0
  461. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/cli/install/shared.py +0 -0
  462. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/cli/run.py +0 -0
  463. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/cli/tasks.py +0 -0
  464. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/client/__init__.py +0 -0
  465. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/client/auth/__init__.py +0 -0
  466. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/client/auth/bearer.py +0 -0
  467. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/client/auth/oauth.py +0 -0
  468. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/client/elicitation.py +0 -0
  469. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/client/logging.py +0 -0
  470. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/client/messages.py +0 -0
  471. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/client/oauth_callback.py +0 -0
  472. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/client/progress.py +0 -0
  473. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/client/roots.py +0 -0
  474. {fastmcp-2.14.0/src/fastmcp/experimental/sampling → fastmcp-2.14.2/src/fastmcp/client/sampling/handlers}/__init__.py +0 -0
  475. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/contrib/README.md +0 -0
  476. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/contrib/bulk_tool_caller/README.md +0 -0
  477. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/contrib/bulk_tool_caller/__init__.py +0 -0
  478. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py +0 -0
  479. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/contrib/bulk_tool_caller/example.py +0 -0
  480. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/contrib/component_manager/README.md +0 -0
  481. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/contrib/component_manager/__init__.py +0 -0
  482. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/contrib/component_manager/component_manager.py +0 -0
  483. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/contrib/component_manager/component_service.py +0 -0
  484. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/contrib/component_manager/example.py +0 -0
  485. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/contrib/mcp_mixin/README.md +0 -0
  486. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/contrib/mcp_mixin/__init__.py +0 -0
  487. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/contrib/mcp_mixin/example.py +0 -0
  488. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/contrib/mcp_mixin/mcp_mixin.py +0 -0
  489. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/dependencies.py +0 -0
  490. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/exceptions.py +0 -0
  491. {fastmcp-2.14.0/src/fastmcp/experimental/sampling/handlers → fastmcp-2.14.2/src/fastmcp/experimental/sampling}/__init__.py +0 -0
  492. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/experimental/server/openapi/__init__.py +0 -0
  493. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/experimental/utilities/openapi/__init__.py +0 -0
  494. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/mcp_config.py +0 -0
  495. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/prompts/__init__.py +0 -0
  496. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/py.typed +0 -0
  497. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/resources/__init__.py +0 -0
  498. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/resources/types.py +0 -0
  499. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/__init__.py +0 -0
  500. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/__init__.py +0 -0
  501. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/handlers/authorize.py +0 -0
  502. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/jwt_issuer.py +0 -0
  503. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/middleware.py +0 -0
  504. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/oidc_proxy.py +0 -0
  505. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/__init__.py +0 -0
  506. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/auth0.py +0 -0
  507. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/aws.py +0 -0
  508. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/azure.py +0 -0
  509. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/debug.py +0 -0
  510. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/descope.py +0 -0
  511. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/discord.py +0 -0
  512. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/github.py +0 -0
  513. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/google.py +0 -0
  514. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/in_memory.py +0 -0
  515. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/introspection.py +0 -0
  516. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/jwt.py +0 -0
  517. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/oci.py +0 -0
  518. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/scalekit.py +0 -0
  519. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/providers/workos.py +0 -0
  520. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/auth/redirect_validation.py +0 -0
  521. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/event_store.py +0 -0
  522. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/http.py +0 -0
  523. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/low_level.py +0 -0
  524. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/middleware/__init__.py +0 -0
  525. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/middleware/caching.py +0 -0
  526. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/middleware/logging.py +0 -0
  527. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/middleware/middleware.py +0 -0
  528. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/middleware/rate_limiting.py +0 -0
  529. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/middleware/timing.py +0 -0
  530. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/middleware/tool_injection.py +0 -0
  531. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/openapi/README.md +0 -0
  532. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/openapi/__init__.py +0 -0
  533. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/openapi/routing.py +0 -0
  534. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/openapi/server.py +0 -0
  535. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/tasks/__init__.py +0 -0
  536. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/tasks/capabilities.py +0 -0
  537. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/tasks/config.py +0 -0
  538. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/tasks/handlers.py +0 -0
  539. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/tasks/keys.py +0 -0
  540. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/tasks/protocol.py +0 -0
  541. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/server/tasks/subscriptions.py +0 -0
  542. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/settings.py +0 -0
  543. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/tools/__init__.py +0 -0
  544. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/tools/tool_transform.py +0 -0
  545. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/__init__.py +0 -0
  546. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/auth.py +0 -0
  547. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/components.py +0 -0
  548. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/exceptions.py +0 -0
  549. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/http.py +0 -0
  550. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/inspect.py +0 -0
  551. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/json_schema_type.py +0 -0
  552. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/logging.py +0 -0
  553. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_config.py +0 -0
  554. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/__init__.py +0 -0
  555. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/__init__.py +0 -0
  556. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/environments/__init__.py +0 -0
  557. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/environments/base.py +0 -0
  558. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/environments/uv.py +0 -0
  559. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +0 -0
  560. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/schema.json +0 -0
  561. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/sources/__init__.py +0 -0
  562. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/sources/base.py +0 -0
  563. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py +0 -0
  564. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/openapi/README.md +0 -0
  565. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/openapi/__init__.py +0 -0
  566. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/openapi/director.py +0 -0
  567. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/openapi/formatters.py +0 -0
  568. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/openapi/json_schema_converter.py +0 -0
  569. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/openapi/models.py +0 -0
  570. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/openapi/parser.py +0 -0
  571. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/tests.py +0 -0
  572. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/types.py +0 -0
  573. {fastmcp-2.14.0 → fastmcp-2.14.2}/src/fastmcp/utilities/ui.py +0 -0
  574. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/__init__.py +0 -0
  575. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/cli/__init__.py +0 -0
  576. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/cli/test_cli.py +0 -0
  577. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/cli/test_config.py +0 -0
  578. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/cli/test_cursor.py +0 -0
  579. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/cli/test_install.py +0 -0
  580. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/cli/test_mcp_server_config_integration.py +0 -0
  581. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/cli/test_mcp_server_config_schema.py +0 -0
  582. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/cli/test_project_prepare.py +0 -0
  583. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/cli/test_run.py +0 -0
  584. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/cli/test_run_config.py +0 -0
  585. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/cli/test_server_args.py +0 -0
  586. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/cli/test_shared.py +0 -0
  587. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/cli/test_tasks.py +0 -0
  588. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/cli/test_with_argv.py +0 -0
  589. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/__init__.py +0 -0
  590. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/auth/__init__.py +0 -0
  591. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/auth/test_oauth_client.py +0 -0
  592. {fastmcp-2.14.0/tests/client/transports → fastmcp-2.14.2/tests/client/sampling}/__init__.py +0 -0
  593. {fastmcp-2.14.0/tests/experimental → fastmcp-2.14.2/tests/client/sampling/handlers}/__init__.py +0 -0
  594. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/tasks/conftest.py +0 -0
  595. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/tasks/test_client_prompt_tasks.py +0 -0
  596. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/tasks/test_client_resource_tasks.py +0 -0
  597. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/tasks/test_client_task_notifications.py +0 -0
  598. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/tasks/test_client_task_protocol.py +0 -0
  599. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/tasks/test_client_tool_tasks.py +0 -0
  600. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/tasks/test_task_context_validation.py +0 -0
  601. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/tasks/test_task_result_caching.py +0 -0
  602. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/test_logs.py +0 -0
  603. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/test_notifications.py +0 -0
  604. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/test_oauth_callback_xss.py +0 -0
  605. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/test_openapi.py +0 -0
  606. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/test_progress.py +0 -0
  607. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/test_roots.py +0 -0
  608. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/test_stdio.py +0 -0
  609. {fastmcp-2.14.0/tests/integration_tests → fastmcp-2.14.2/tests/client/transports}/__init__.py +0 -0
  610. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/client/transports/test_transports.py +0 -0
  611. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/contrib/__init__.py +0 -0
  612. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/contrib/test_bulk_tool_caller.py +0 -0
  613. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/contrib/test_component_manager.py +0 -0
  614. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/contrib/test_mcp_mixin.py +0 -0
  615. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/deprecated/__init__.py +0 -0
  616. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/deprecated/test_deprecated.py +0 -0
  617. /fastmcp-2.14.0/tests/server/test_tool_exclude_args.py → /fastmcp-2.14.2/tests/deprecated/test_exclude_args.py +0 -0
  618. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/deprecated/test_openapi_deprecations.py +0 -0
  619. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/deprecated/test_settings.py +0 -0
  620. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/experimental/README.md +0 -0
  621. {fastmcp-2.14.0/tests/integration_tests/auth → fastmcp-2.14.2/tests/experimental}/__init__.py +0 -0
  622. {fastmcp-2.14.0/tests/prompts → fastmcp-2.14.2/tests/integration_tests}/__init__.py +0 -0
  623. {fastmcp-2.14.0/tests/resources → fastmcp-2.14.2/tests/integration_tests/auth}/__init__.py +0 -0
  624. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/integration_tests/auth/test_github_provider_integration.py +0 -0
  625. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/integration_tests/conftest.py +0 -0
  626. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/integration_tests/test_github_mcp_remote.py +0 -0
  627. {fastmcp-2.14.0/tests/server → fastmcp-2.14.2/tests/prompts}/__init__.py +0 -0
  628. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/prompts/test_prompt.py +0 -0
  629. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/prompts/test_prompt_manager.py +0 -0
  630. {fastmcp-2.14.0/tests/server/auth → fastmcp-2.14.2/tests/resources}/__init__.py +0 -0
  631. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/resources/test_file_resources.py +0 -0
  632. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/resources/test_function_resources.py +0 -0
  633. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/resources/test_resource_manager.py +0 -0
  634. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/resources/test_resource_template.py +0 -0
  635. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/resources/test_resource_template_meta.py +0 -0
  636. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/resources/test_resources.py +0 -0
  637. {fastmcp-2.14.0/tests/server/auth/providers → fastmcp-2.14.2/tests/server}/__init__.py +0 -0
  638. {fastmcp-2.14.0/tests/server/http → fastmcp-2.14.2/tests/server/auth}/__init__.py +0 -0
  639. {fastmcp-2.14.0/tests/server/middleware → fastmcp-2.14.2/tests/server/auth/providers}/__init__.py +0 -0
  640. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/providers/test_auth0.py +0 -0
  641. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/providers/test_aws.py +0 -0
  642. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/providers/test_azure.py +0 -0
  643. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/providers/test_descope.py +0 -0
  644. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/providers/test_discord.py +0 -0
  645. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/providers/test_github.py +0 -0
  646. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/providers/test_google.py +0 -0
  647. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/providers/test_introspection.py +0 -0
  648. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/providers/test_scalekit.py +0 -0
  649. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/providers/test_workos.py +0 -0
  650. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/test_auth_provider.py +0 -0
  651. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/test_debug_verifier.py +0 -0
  652. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/test_enhanced_error_responses.py +0 -0
  653. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/test_jwt_issuer.py +0 -0
  654. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/test_jwt_provider.py +0 -0
  655. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/test_oauth_consent_flow.py +0 -0
  656. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/test_oauth_mounting.py +0 -0
  657. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/test_oauth_proxy_redirect_validation.py +0 -0
  658. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/test_oauth_proxy_storage.py +0 -0
  659. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/test_oidc_proxy.py +0 -0
  660. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/test_redirect_validation.py +0 -0
  661. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/test_remote_auth_provider.py +0 -0
  662. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/auth/test_static_token_verifier.py +0 -0
  663. {fastmcp-2.14.0/tests/server/proxy → fastmcp-2.14.2/tests/server/http}/__init__.py +0 -0
  664. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/http/test_bearer_auth_backend.py +0 -0
  665. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/http/test_custom_routes.py +0 -0
  666. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/http/test_http_auth_middleware.py +0 -0
  667. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/http/test_http_dependencies.py +0 -0
  668. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/http/test_http_middleware.py +0 -0
  669. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/http/test_stale_access_token.py +0 -0
  670. {fastmcp-2.14.0/tests/tools → fastmcp-2.14.2/tests/server/middleware}/__init__.py +0 -0
  671. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/middleware/test_caching.py +0 -0
  672. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/middleware/test_initialization_middleware.py +0 -0
  673. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/middleware/test_logging.py +0 -0
  674. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/middleware/test_middleware.py +0 -0
  675. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/middleware/test_rate_limiting.py +0 -0
  676. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/middleware/test_timing.py +0 -0
  677. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/openapi/__init__.py +0 -0
  678. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/openapi/test_deepobject_style.py +0 -0
  679. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/openapi/test_end_to_end_compatibility.py +0 -0
  680. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/openapi/test_openapi_features.py +0 -0
  681. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/openapi/test_openapi_performance.py +0 -0
  682. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/openapi/test_parameter_collisions.py +0 -0
  683. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/openapi/test_performance_comparison.py +0 -0
  684. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/openapi/test_server.py +0 -0
  685. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/proxy/test_proxy_server.py +0 -0
  686. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/proxy/test_stateful_proxy_client.py +0 -0
  687. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/__init__.py +0 -0
  688. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/conftest.py +0 -0
  689. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_progress_dependency.py +0 -0
  690. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_sync_function_task_disabled.py +0 -0
  691. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_task_capabilities.py +0 -0
  692. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_task_config_modes.py +0 -0
  693. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_task_dependencies.py +0 -0
  694. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_task_metadata.py +0 -0
  695. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_task_mount.py +0 -0
  696. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_task_prompts.py +0 -0
  697. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_task_protocol.py +0 -0
  698. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_task_proxy.py +0 -0
  699. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_task_resources.py +0 -0
  700. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_task_return_types.py +0 -0
  701. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_task_security.py +0 -0
  702. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_task_status_notifications.py +0 -0
  703. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_task_tools.py +0 -0
  704. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/tasks/test_task_ttl.py +0 -0
  705. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_app_state.py +0 -0
  706. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_auth_integration.py +0 -0
  707. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_event_store.py +0 -0
  708. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_file_server.py +0 -0
  709. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_icons.py +0 -0
  710. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_import_server.py +0 -0
  711. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_input_validation.py +0 -0
  712. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_log_level.py +0 -0
  713. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_run_server.py +0 -0
  714. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_server.py +0 -0
  715. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_server_docket.py +0 -0
  716. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_server_interactions.py +0 -0
  717. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_server_lifespan.py +0 -0
  718. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_streamable_http_no_redirect.py +0 -0
  719. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_tool_annotations.py +0 -0
  720. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/server/test_tool_transformation.py +0 -0
  721. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/test_mcp_config.py +0 -0
  722. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/tools/test_tool_future_annotations.py +0 -0
  723. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/tools/test_tool_manager.py +0 -0
  724. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/tools/test_tool_transform.py +0 -0
  725. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/__init__.py +0 -0
  726. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/openapi/__init__.py +0 -0
  727. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/openapi/conftest.py +0 -0
  728. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/openapi/test_allof_requestbody.py +0 -0
  729. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/openapi/test_direct_array_schemas.py +0 -0
  730. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/openapi/test_director.py +0 -0
  731. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/openapi/test_legacy_compatibility.py +0 -0
  732. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/openapi/test_models.py +0 -0
  733. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/openapi/test_nullable_fields.py +0 -0
  734. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/openapi/test_parser.py +0 -0
  735. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/openapi/test_schemas.py +0 -0
  736. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/openapi/test_transitive_references.py +0 -0
  737. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/test_cli.py +0 -0
  738. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/test_components.py +0 -0
  739. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/test_inspect.py +0 -0
  740. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/test_json_schema_type.py +0 -0
  741. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/test_logging.py +0 -0
  742. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/test_tests.py +0 -0
  743. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/test_typeadapter.py +0 -0
  744. {fastmcp-2.14.0 → fastmcp-2.14.2}/tests/utilities/test_types.py +0 -0
@@ -30,6 +30,9 @@ jobs:
30
30
  matrix:
31
31
  os: [ubuntu-latest, windows-latest]
32
32
  python-version: ["3.10"]
33
+ include:
34
+ - os: ubuntu-latest
35
+ python-version: "3.13"
33
36
  fail-fast: false
34
37
  timeout-minutes: 10
35
38
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastmcp
3
- Version: 2.14.0
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,17 +23,19 @@ 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.23.1
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.2
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
35
35
  Requires-Dist: uvicorn>=0.35
36
36
  Requires-Dist: websockets>=15.0.1
37
+ Provides-Extra: anthropic
38
+ Requires-Dist: anthropic>=0.40.0; extra == 'anthropic'
37
39
  Provides-Extra: openai
38
40
  Requires-Dist: openai>=1.102.0; extra == 'openai'
39
41
  Description-Content-Type: text/markdown
@@ -73,6 +75,9 @@ Description-Content-Type: text/markdown
73
75
  >
74
76
  > **For production MCP applications, install FastMCP:** `pip install fastmcp`
75
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
+
76
81
  ---
77
82
 
78
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)**
@@ -109,6 +109,14 @@ The sampling handler receives three parameters:
109
109
  <ResponseField name="metadata" type="dict[str, Any] | None">
110
110
  Optional metadata to pass through to the LLM provider.
111
111
  </ResponseField>
112
+
113
+ <ResponseField name="tools" type="list[Tool] | None">
114
+ Optional list of tools the LLM can use during sampling. See [Using the OpenAI Handler](#using-the-openai-handler).
115
+ </ResponseField>
116
+
117
+ <ResponseField name="toolChoice" type="ToolChoice | None">
118
+ Optional control over tool usage behavior (`auto`, `required`, or `none`).
119
+ </ResponseField>
112
120
  </Expandable>
113
121
 
114
122
  </ResponseField>
@@ -153,4 +161,98 @@ client = Client(
153
161
 
154
162
  <Note>
155
163
  If the client doesn't provide a sampling handler, servers can optionally configure a fallback handler. See [Server Sampling](/servers/sampling#sampling-fallback-handler) for details.
156
- </Note>
164
+ </Note>
165
+
166
+ ## Sampling Capabilities
167
+
168
+ When you provide a `sampling_handler`, FastMCP automatically advertises full sampling capabilities to the server, including tool support. To disable tool support (for simpler handlers that don't support tools), pass `sampling_capabilities` explicitly:
169
+
170
+ ```python
171
+ from mcp.types import SamplingCapability
172
+
173
+ client = Client(
174
+ "my_mcp_server.py",
175
+ sampling_handler=basic_handler,
176
+ sampling_capabilities=SamplingCapability(), # No tool support
177
+ )
178
+ ```
179
+
180
+ ## Built-in Handlers
181
+
182
+ FastMCP provides built-in sampling handlers for OpenAI and Anthropic APIs. These handlers support the full sampling API including tool use, handling message conversion and response formatting automatically.
183
+
184
+ ### OpenAI Handler
185
+
186
+ <VersionBadge version="2.11.0" />
187
+
188
+ The OpenAI handler works with OpenAI's API and any OpenAI-compatible provider:
189
+
190
+ ```python
191
+ from fastmcp import Client
192
+ from fastmcp.client.sampling.handlers.openai import OpenAISamplingHandler
193
+
194
+ client = Client(
195
+ "my_mcp_server.py",
196
+ sampling_handler=OpenAISamplingHandler(default_model="gpt-4o"),
197
+ )
198
+ ```
199
+
200
+ For OpenAI-compatible APIs (like local models), pass a custom client:
201
+
202
+ ```python
203
+ from openai import AsyncOpenAI
204
+
205
+ client = Client(
206
+ "my_mcp_server.py",
207
+ sampling_handler=OpenAISamplingHandler(
208
+ default_model="llama-3.1-70b",
209
+ client=AsyncOpenAI(base_url="http://localhost:8000/v1"),
210
+ ),
211
+ )
212
+ ```
213
+
214
+ <Note>
215
+ Install the OpenAI handler with `pip install fastmcp[openai]`.
216
+ </Note>
217
+
218
+ ### Anthropic Handler
219
+
220
+ <VersionBadge version="2.14.1" />
221
+
222
+ The Anthropic handler uses Claude models via the Anthropic API:
223
+
224
+ ```python
225
+ from fastmcp import Client
226
+ from fastmcp.client.sampling.handlers.anthropic import AnthropicSamplingHandler
227
+
228
+ client = Client(
229
+ "my_mcp_server.py",
230
+ sampling_handler=AnthropicSamplingHandler(default_model="claude-sonnet-4-5"),
231
+ )
232
+ ```
233
+
234
+ You can pass a custom client for advanced configuration:
235
+
236
+ ```python
237
+ from anthropic import AsyncAnthropic
238
+
239
+ client = Client(
240
+ "my_mcp_server.py",
241
+ sampling_handler=AnthropicSamplingHandler(
242
+ default_model="claude-sonnet-4-5",
243
+ client=AsyncAnthropic(), # Uses ANTHROPIC_API_KEY env var
244
+ ),
245
+ )
246
+ ```
247
+
248
+ <Note>
249
+ Install the Anthropic handler with `pip install fastmcp[anthropic]`.
250
+ </Note>
251
+
252
+ ### Tool Execution
253
+
254
+ Tool execution happens on the server side. The client's role is to pass tools to the LLM and return the LLM's response (which may include tool use requests). The server then executes the tools and may send follow-up sampling requests with tool results.
255
+
256
+ <Tip>
257
+ To implement a custom sampling handler, see the [handler source code](https://github.com/jlowin/fastmcp/tree/main/src/fastmcp/client/sampling/handlers) as a reference.
258
+ </Tip>
@@ -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>